大多数现代Linux桌面系统都预装了Nvidia驱动程序——一种新的开源图形设备驱动程序。因此,一般不需要安装闭源驱动——只要没有那么强烈的独显性能需求。
但如果想完全发挥独显的性能,闭源驱动 便派上用场了。一些Linux发行版提供了预打包的专有驱动程序放在了源中,使得安装驱动程序非常容易。
也可以自行前往英伟达官网获取驱动,然后手动安装。但这样可能需要更多的手工干预,所以只要硬件不是特别的新 ,通常源中的版本已经足够了。
再次警告
从第三方源(如Nvidia.com或通过PPA存储库的专有Nvidia驱动)安装Nvidia驱动程序可能会导致系统不稳定。因此,如果不是必须的,建议继续使用开源的新版本驱动程序。
如何逐步安装最新的Nvidia专有驱动 1、检查Nvidia VGA型号 第一步是检查Nvidia VGA卡型号。对于大多数Linux发行版,通过下述代码获得
$ lspci -vnn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])
从上面的输出可以看出我们的系统配备了 GTX 1060 6GB
显卡。
2、检查当前安装的VGA驱动程序 使用下面的命令查看当前加载的VGA驱动程序以及VGA卡型号的信息:
$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
Subsystem: ASUSTeK Computer Inc. GP106 [GeForce GTX 1060 6GB]
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau
可以看到,目前使用的是nouveau
驱动程序和内核模块。如果安装有专有驱动,则上述命令的输出可能如下所示:
$ lspci -k | grep -EA3 'VGA|3D|Display'
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
Subsystem: ASUSTeK Computer Inc. GP106 [GeForce GTX 1060 6GB]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
3、检查当前的Nvidia驱动程序版本: 在继续进行最新的驱动程序安装之前,请检查当前版本的位置:
$ nvidia-settings --version
nvidia-settings: version 430.50
4、接下来安装专有驱动: 暂不讨论手工安装和GUI安装
几乎所有操作都要求sudo权限
对于Intel和NVIDIA双显卡,可能需要额外配置(bumblebee/xrandr等)
选择发行版
Ubuntu
CentOS
Debian
Fedora
RHEL
Manjaro
Linux Mint
选择版本
16.04
18.04
18.10
19.04
19.10
20.04
选择版本
7
8
选择版本
8
9
10
选择版本
28
29
31
选择版本
8
选择版本
18
选择版本
19
接下来的方法适用于
去往英伟达驱动 搜索你的显卡 得到的结果,记录下版本号(比如435.21
) 使用命令安装apt-get install nvidia-435
或使用Ubuntu自动安装:ubuntu-drivers autoinstall
,等待完成。
从官网下载闭源驱动 安装所有需要的依赖
yum groupinstall "Development Tools"
yum install kernel-devel epel-release
yum install dkms
屏蔽 nouveau
编辑/etc/default/grub
找到GRUB_CMDLINE_LINUX
,值增加参数nouveau.modeset=0
. 类似于GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet nouveau.modeset=0"
保存,更新grub
传统启动:grub2-mkconfig -o /boot/grub2/grub.cfg
EFI:grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
重启。然后检查nouveau是否已经被禁用:lshw -numeric -C display
此时,configuration: driver=nouveau latency=0 一行应该不会这样显示了 停止Xorg:systemctl isolate multi-user.target
安装下载的闭源驱动:bash NVIDIA-Linux-x86_64-*
(请进入到文件保存的文件夹,并确定文件有可执行权限,否则先执行 chmod +x NVIDIA-Linux-*
)
从官网下载闭源驱动 安装所有需要的依赖
dnf groupinstall "Development Tools"
dnf install libglvnd-devel elfutils-libelf-devel
屏蔽 nouveau
:grub2-editenv - set "$(grub2-editenv - list | grep kernelopts) nouveau.modeset=0"
重启,停止Xorg:systemctl isolate multi-user.target
安装下载的闭源驱动:bash NVIDIA-Linux-x86_64-*
(请进入到文件保存的文件夹,并确定文件有可执行权限,否则先执行 chmod +x NVIDIA-Linux-*
)
启用专有软件源
编辑/etc/apt/sources.list
在每一行的main
后面增加 contrib non-free
保存,更新缓存:apt-get update
安装头文件apt-get install module-assistant
编译m-a prepare
安装专有驱动:apt-get install nvidia-driver
手工生成xorg.conf
安装nvidia-xconfig
:apt-get install nvidia-xconfig
运行,自动产生文件:nvidia-xconfig
启用专有软件源
编辑/etc/apt/sources.list
在每一行的main
后面增加 contrib non-free
保存,更新缓存:apt update && apt upgrade
启用32位源支持:dpkg --add-architecture i386
安装专有驱动及相关支持包:apt install firmware-linux nvidia-driver nvidia-settings
手工生成xorg.conf
安装nvidia-xconfig
:apt install nvidia-xconfig
运行,自动产生文件:nvidia-xconfig
启用专有软件源
编辑/etc/apt/sources.list
在每一行的main
后面增加 contrib non-free
保存,更新缓存:apt update && apt upgrade
安装头文件apt-get install module-assistant
编译m-a prepare
安装驱动探测程序:apt -y install nvidia-detect
运行,获得推荐的包(类似下面的)
nvidia-detect
Detected NVIDIA GPUs:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1)
Checking card: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
Your card is supported by the default drivers and legacy driver series 390.
It is recommended to install the
nvidia-driver
package.
根据推荐的包名进行安装:apt install nvidia-driver
从官网下载闭源驱动 安装所有需要的依赖
dnf groupinstall "Development Tools"
dnf install dkms "kernel-devel-uname-r == $(uname -r)"
屏蔽 nouveau
编辑/etc/default/grub
找到GRUB_CMDLINE_LINUX
,值增加参数nouveau.modeset=0
. 类似于GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet nouveau.modeset=0"
保存,更新grub
传统启动:grub2-mkconfig -o /boot/grub2/grub.cfg
EFI:grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
重启,停止Xorg:systemctl isolate multi-user.target
安装下载的闭源驱动:bash NVIDIA-Linux-x86_64-*
(请进入到文件保存的文件夹,并确定文件有可执行权限,否则先执行 chmod +x NVIDIA-Linux-*
)
启用RPM fusion
dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
使用对应命令安装驱动
# 近期的 GeForce/Quadro/Tesla
dnf install akmod-nvidia
# GF400/500系列
dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx
# GF8/9/200/300系列
dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx
完成后重启,安装结束。