Archlinux安装NVIDIA1050Ti显卡驱动

4,266 阅读2分钟
原文链接: moonery.cn

安装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
  1. 启动脚本配置

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

参考文章:wiki.archlinux.org/index.php/N…

参考文章:wiki.archlinux.org/index.php/N…