Ubuntu 24.04 为了实现 secure boot 以及便于管理,将英伟达的驱动打包之后配合 linux modules 实现签名,然后通过 ubuntu-drivers 提供,看起来,一切都很美好。
按照正流程安装:
sudo ubuntu-drivers install --gpgpu
在服务器上安装nvidia-headless-no-dkms-570-server
驱动sudo apt install nvidia-utils-570-server
安装常用软件,包括nvidia-smi
输入nvidia-smi
查看 GPU 信息不好意思,报错NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
。
这是因为ubuntu-drivers-common
的包有个不大不小的 bug:只记得安装nvidia-driver-no-dkms-<series>
,忘了安装linux-modules-nvidia-<series>-server-generic
。本来就是no-dkms
,再加上缺少内核模块,注定无法正常工作。
Ubuntu 其实在 2024-10-07 就已经发现这个问题了(1:0.9.7.6ubuntu3.1
),但是直到 2025-03-11 才修复这个问题并重新发布(1:0.9.7.6ubuntu3.2
)。但是,问题又来了,一直被推迟:
The following upgrades have been deferred due to phasing: ubuntu-drivers-common
至于原因?不好意思,我们分批推送,但是还没有推送,因为还是有问题,已经被暂停并回滚了,至于修复版的修复版,你先等着吧:
ubuntu-drivers-common: Installed: 1:0.9.7.6ubuntu3.1 Candidate: 1:0.9.7.6ubuntu3.2 Version table: 1:0.9.7.6ubuntu3.2 500 (phased 0%) 500 http://cn.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages *** 1:0.9.7.6ubuntu3.1 100 100 /var/lib/dpkg/status 1:0.9.7.6ubuntu3 500 500 http://cn.archive.ubuntu.com/ubuntu noble/main amd64 Packages
为什么这么严重的 bug ,看起来 Ubuntu 并不着急?因为 Ubuntu 的手册上来就让你sudo ubuntu-drivers install
,直接在 server 上安装 xorg/x11 ,附带着把东西全装上,用户就发现不了这个问题了。用户的硬盘跟我有什么关系?我用 snap 在硬盘里面拉了一堆 loop 的屎,不也照样活的好好的,嘻嘻😁。