Arch Linux安装Nvidia驱动
注意:避免通过 NVIDIA 网站提供的软件包安装 NVIDIA 驱动程序。通过 pacman 安装允许将驱动程序与系统的其余部分一起升级。
这些说明适用于默认内核linux或linux-lts。
1.如果您不知道您拥有什么显卡,请通过以下方式找到:
lspci -k | grep -A 2 -E "(VGA|3D)"
2、根据NVIDIA GPU型号,选择对应的版本:
- 对于 麦克斯韦Maxwell(NV110/GMXXX)系列及更新版本,请安装 nvidia 软件包(用于 linux 内核)或 nvidia-lts(用于 linux-lts 内核)软件包。
sudo pacman -S nvidia
- 或者,对于图灵Turing(NV160/TUXXX)系列或更新,可以为Linux内核上的开源内核模块安装nvidia-open软件包(在其他内核上必须使用nvidia-open-dkms)。
sudo pacman -S nvidia-open
- 对于开普勒Kepler(NVE0/GKXXX)系列,请安装 nvidia-470xx-dkmsAUR 软件包。
sudo pacman -S nvidia-470*
- 对于 费米Fermi (NVC0/GF1XX)系列,请安装 nvidia-390xx-dkmsAUR 软件包。
sudo pacman -S nvidia-390*
- 对于更旧的卡,请查看不支持的驱动程序驱动程序
DRM 内核模式设置
要启用 DRM(直接渲染管理器)内核模式设置,请添加内核参数:nvidia-drm.modeset=1
sudo vim /etc/default/grub
添加到这一行GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
添加模块到 mkinitcpio
sudo vim /etc/mkinitcpio.conf
MODULES=(nvidia nvidia nvidia_modeset nvidia_uvm nvidia_drm)
sudo mkinitcpio -p linux
为了避免在 NVIDIA 驱动程序升级后忘记更新 initramfs 的可能性,您可能需要使用 pacman HOOK:
sudo vim /etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
Target=linux
# Change the linux part above and in the Exec line if a different kernel is used
[Action]
Description=Update NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux) exit 0; esac; done; /usr/bin/mkinitcpio -P'
不支持的驱动程序
如果您使用的是较旧的卡,NVIDIA 将不再主动支持您的卡的驱动程序。这意味着这些驱动程序不正式支持当前的Xorg版本。因此,使用Nouveau驱动程序可能更容易,它支持当前Xorg的旧卡。
但是,NVIDIA的旧版驱动程序仍然可用,可能会提供更好的3D性能/稳定性。
对于特斯拉 Tesla(NV50/G80-90-GT2XX)系列,请安装nvidia-340xx-dkmsAUR软件包。
对于居里Curie(NV40/G70)系列及更早版本,驱动程序不再针对Arch Linux打包。
NVIDIA GPU代号
Code name | Official Name | Nvidia 3D object codename |
---|---|---|
NV04 | Riva TNT, TNT2 | Fahrenheit |
NV10 | GeForce 256, GeForce 2, GeForce 4 MX | Celsius |
NV20 | GeForce 3, GeForce 4 Ti | Kelvin |
NV30 | GeForce 5 / GeForce FX | Rankine |
NV40 | GeForce 6, GeForce 7 | Curie |
NV50 | GeForce 8, GeForce 9, GeForce 100, GeForce 200, GeForce 300 | Tesla |
NVC0 | GeForce 400, GeForce 500 | Fermi |
NVE0 | GeForce 600, GeForce 700, GeForce GTX Titan | Kepler |
NV110 | GeForce 750, GeForce 900 | Maxwell |
NV130 | GeForce 1060, GeForce 1070 | Pascal |
NV140 | NVIDIA Titan V | Volta |
NV160 | GeForce RTX 2060, GeForce GTX 1660 | Turing |
NV170 | GeForce RTX 3060, GeForce RTX 3070 | Ampere |