在 Ubuntu 上安装 Nvidia 专有驱动¶
昨天正在用的 Ubuntu 20.04 在休眠之后出现无法唤醒,又或者在唤醒之后出现桌面卡死/卡顿的情况。
查了日志之后发现系统使用的开源显卡驱动一直在报错,感觉是驱动出问题。
之前早有耳闻说 Nvidia 的显卡用开源驱动不太行,看来这次是真碰上了,为了正常使用只能选择使用闭源的专有驱动了。
以下展示的是安装专有驱动的具体方法。
查看可用驱动¶
执行以下命令可以查看系统正在使用的显卡以及它当前可用的驱动:
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:03.1/0000:26:00.0 ==
modalias : pci:v000010DEd00001E81sv00001462sd0000C728bc03sc00i00
vendor : NVIDIA Corporation
model : TU104 [GeForce RTX 2080 SUPER]
manual_install: True
driver : nvidia-driver-450-server - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-510 - distro non-free recommended
driver : nvidia-driver-470 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
安装驱动¶
从结果显示 nvidia-driver-510
是当前推荐使用的驱动(recommended),于是执行以下命令安装该驱动:
$ sudo apt install nvidia-driver-510
[sudo] huangz 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会同时安装下列软件:
libatomic1:i386 libbsd0:i386 libc6:i386 libcrypt1:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386
...
建议安装:
glibc-doc:i386 locales:i386 lm-sensors:i386
下列【新】软件包将被安装:
libatomic1:i386 libbsd0:i386 libc6:i386 libcrypt1:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386
...
升级了 0 个软件包,新安装了 69 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 296 MB 的归档。
解压缩后会消耗 1,160 MB 的额外空间。
您希望继续执行吗? [Y/n] y
查看显卡信息¶
在安装驱动完毕并重新启动电脑之后,可以通过执行以下命令获取显卡信息:
$ nvidia-smi
Wed Mar 16 01:53:42 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.47.03 Driver Version: 510.47.03 CUDA Version: 11.6 |
|-------------------------------+----------------------+----------------------+
| 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:26:00.0 On | N/A |
| 26% 34C P8 16W / 250W | 759MiB / 8192MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1072 G /usr/lib/xorg/Xorg 71MiB |
| 0 N/A N/A 1684 G /usr/lib/xorg/Xorg 248MiB |
| 0 N/A N/A 1811 G /usr/bin/gnome-shell 88MiB |
| 0 N/A N/A 2289 G ...708579723149425879,131072 333MiB |
+-----------------------------------------------------------------------------+
命令打印的表格显示了目前使用的显卡、显卡驱动以及显卡目前的一些状态信息、资源消耗情况等等。
想对 Nvidia 说 fuck you 的黄健宏
2022.3.16