安装Nvidia-1050Ti闭源驱动步骤
测试机型:HP暗影精灵2
显卡型号: Intel Graphics 630+NVIDIA GeForce GTX 1050 Ti
安装环境:全程root用户运行
驱动版本:430.40
安装驱动
$ pacman -S nvidia nvidia-utils nvidia-settings
复制代码
或者去官网下载
下载到本地后进入下载目录
cd /Downloads
chmod +x NVIDIA-Linux-x86_64-430.40.run
sh NVIDIA-Linux-x86_64-430.40.run
复制代码
查看N卡的BusID
$ lspci | egrep 'VGA|3D'
出现如下格式:
----------------------------------------------------------------------
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop)
01:00.0 VGA compatible controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] (rev a1)
复制代码
记住N卡的BusID:01:00.0,待会会用到
自动生成配置文件
nvidia-xconfig
复制代码
启动脚本配置
LightDM
$ nano /etc/lightdm/display_setup.sh
----------------------------------------------------------------------
#!/bin/sh
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
----------------------------------------------------------------------
$ chmod +x /etc/lightdm/display_setup.sh
$ nano /etc/lightdm/lightdm.conf
----------------------------------------------------------------------
[Seat:*]
display-setup-script=/etc/lightdm/display_setup.sh
----------------------------------------------------------------------
复制代码
SDDM
$ nano /usr/share/sddm/scripts/Xsetup
----------------------------------------------------------------------
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
复制代码
GDM
创建两个桌面文件
/usr/share/gdm/greeter/autostart/optimus.desktop
/etc/xdg/autostart/optimus.desktop
----------------------------------------------------------------------
[Desktop Entry]
Type=Application
Name=Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer
复制代码
修改配置文件
$ nano /etc/X11/xorg.conf
----------------------------------------------------------------------
Section "Module" #可能没有,自行添加
load "modesetting"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "1:0:0" #此处填刚刚查询到的BusID
Option "AllowEmptyInitialConfiguration"
EndSection
复制代码
解决画面撕裂问题
$ nano /etc/mkinitcpio.conf
----------------------------------------------------------------------
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
----------------------------------------------------------------------
$ nano /etc/default/grub # 此处必须是grub引导,其他引导自行百度
----------------------------------------------------------------------
GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1" #此处加nvidia-drm.modeset=1参数
----------------------------------------------------------------------
$ grub-mkconfig -o /boot/grub/grub.cfg # 就算grub引导,配置文件也可能不在一个地方,请查看清楚
复制代码
安装好之后输入nvidia-smi查看GPU使用信息,若有显示GPU信息则安装完毕,重启电脑就可以使用了
Tips:
如果安装完后黑屏或进到桌面卡住不动很可能是nouveau驱动的问题
Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,也没能得到NVIDIA的认可与支持。虽然Nouveau Gallium3D在游戏速度上还远远无法和NVIDIA官方私有驱动相提并论,不过确让Linux更容易的应对各种复杂的NVIDIA显卡环境,让用户安装完系统即可进入桌面并且有不错的显示效果,所以,很多Linux发行版默认集成了Nouveau驱动,在遇到NVIDIA显卡时默认安装。企业版的Linux更是如此,几乎所有支持图形界面的企业Linux发行版都将Nouveau收入其中。
不过对于个人桌面用户来说,处于成长阶段的Nouveau并不完美,与企业版不一样,个人用户除了想让正常显示图形界面外很多时候还需要一些3D特效,Nouveau多数时候并不能完成,而用户在安装NVIDIA官方私有驱动的时候Nouveau又成为了阻碍,不干掉Nouveau安装时总是报错。报错提示见文第一段。
禁用nouveau
nano /etc/modprobe.d/nouveau_blacklist.conf
blacklist nouveau
复制代码
不出意外的话是可以正常启动到桌面的
如若不行请禁用独显,在上面的文件里添加blacklist nvidia和blacklist nvidia_drm
重启用集显卡进到桌面找原因
Linus: “So, Nvidia: FUCK YOU!”
其他型号请参考Archlinux Wiki