英伟达的官方驱动是闭源的,因此不会合并在 Linux 的内核里,由英伟达官方开发和提供。
准备
根据驱动型号下载英伟达驱动程序
- 官方下载地址(全球):NVIDIA 驱动程序下载
- 官方下载地址(中国):NVIDIA 驱动程序下载
以 RTX3090 为例,根据架构选择。
Name | Alias |
---|---|
Linux aarch64 | arm64 |
Linux 64-bit | amd64 / x86_64 |
会得到一个名称为 NVIDIA-Linux-archname-xxx.xxx.xxx.run
的文件。
安装
禁用 Nouveau 驱动
Nouveau 是第三方开发者维护的开源英伟达驱动,现已包含在内核中,如果安装官方驱动,建议禁用内置的 Nouveau 驱动。
项目地址:Nouveau Project
在 /etc/modprobe.d/blacklist-nouveau.conf
(如果没有该文件就创建一个)下添加以下两行并保存。
blacklist nouveau
options nouveau modeset=0
可以用命令检查当前是否存在 Nouveau 驱动,若无任何返回,则表示禁用成功。
$ lsmod | grep nouveau
nouveau 2179072 0
mxm_wmi 16384 1 nouveau
i2c_algo_bit 16384 2 amdgpu,nouveau
ttm 126976 1 nouveau
drm_kms_helper 208896 4 amdgpu,nvidia_drm,amdkcl,nouveau
drm 495616 13 drm_kms_helper,amd_sched,amdttm,nvidia,amdgpu,nvidia_drm,ttm,amdkcl,nouveau
wmi 28672 3 wmi_bmof,mxm_wmi,nouveau
video 49152 1 nouveau
button 16384 1 nouveau
重新生成内存配置
不同的操作系统有不同的生成方式
Debian 系(包括 Ubuntu、kubuntu、PureOS、Deepin、UOS等)
sudo update-initramfs -u
RadHat 系(包括 CentOS、Fedora、Oracle Linux、SUSE等)
sudo dracut --force sudo cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
安装驱动
为驱动文件添加执行权限
sudo chmod +x NVIDIA-Linux-archname-xxx.xxx.xxx.run
注意!需要切换至终端模式,必须关闭图形界面才能进行安装。
按 ctrl+alt+F1
组合键切换至 tty1 界面,或者是用命令 sudo init 3
切换完整多用户模式进行安装驱动。
./NVIDIA-Linux-archname-xxx.xxx.xxx.run
安装中询问都选择默认选项即可。
验证
安装完毕后会提示重启,重启后执行 nvidia-smi
即可查看英伟达显卡信息。
$ nvidia-smi
Thu Dec 30 16:09:16 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.94 Driver Version: 470.94 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 0% 35C P8 13W / 220W | 0MiB / 23943MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
通过 lspci
也可看到英伟达设备
$ lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation Device 2488 (rev a1)
01:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
附录
参考链接
- How to disable/blacklist Nouveau nvidia driver on Ubuntu 20.04 Focal Fossa Linux - LinuxConfig
- Ubuntu 下的 NVIDIA 显卡驱动的安装 - CNBLOG
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2021-12-30 15:48 PM
安装的时候报错了怎么办呢?
是不是得先安装驱动再屏蔽开源驱动呢?
前后顺序都可以,先屏蔽后不重启也是一样的,等安装完闭源驱动后再重启就可以。