So, Nvidia… | N卡驱动在Linux上掉了怎么办

一个悠闲的夜晚,Hacinsl想要测试自己新配置的APTmirrors.tuna.tsinghua.edu.cn源,未经过多思考地执行了:

Bash
sudo apt update
sudo apt upgrade

无事发生。这是当然,更新的效果不会立即呈现。

习惯使然,Hacinsl继续执行重启:

Bash
sudo reboot

更新的作用立即显现了:黑屏。


当前环境:Debian 13 on x86; RTX 50 Laptop Series

其实,Hacinsl作为受害者在看到内核更新了的时候就感觉大事不妙,但可能是DKMS四个字母给了TA自信,更新后的重启还是被义无反顾地执行下去了。

N卡闭源驱动和Linux的兼容性众所周知,遭遇了黑屏能做的也只有再把驱动装回去一件事。

独立显卡无法工作,外接显示屏自然罢工了。Hacinsl看着漆黑的内屏上无意义地跳动着的光标,总想要做些什么,可是做事,总要有个头啊。

先联网吧。

Bash
sudo systemctl start NetworkManager

首先把不知道为什么歇菜了的NetworkManager拉起来。虽然平日里很看不惯它在服务器系统上的所作所为,但到了桌面环境,还是得指望它来便捷地配置网络。

等待片刻,NetworkManager不负所托,成功用此前保存的WLAN信息连上了网络。

安装当前内核的源码头文件:

Bash
sudo apt install linux-headers-$(uname -r)

来都来了,干脆下载新版驱动,把Nvidia的官方闭源驱动找来,赋予执行权限。

以防万一,再确认一下开源驱动Nouveau的棺材板盖严没有是否已经正确配置:

Bash
cat /etc/modprobe.d/blacklist-nouveau.conf

确保这两行内容存在:

blacklist nouveau
options nouveau modeset=0

接下来绝赞运行安装程序,然后重启。

结果是……依然黑屏!


哪里出问题了呢?虽然前后两次的黑屏是同样的,但在Debian启动时一闪而过的信息却是不同的。这次,屏幕上出现了新的报错,被Hacinsl眼疾手快拍了下来:

NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:2d59)
NVRM: installed in this system requires use of the NVIDIA open kernel modules.

一番查询后Hacinsl得知,对于一些较新的GPU架构和驱动版本,需要开放内核模块(open kernel modules)才能正常工作,具体而言,是在运行.run文件时添加参数-m=kernel-open

再次安装,重启,成功亮机。

至于DKMS到底还有没有起效,Hacinsl很想知道,但暂时不愿冒着机器再次黑屏的风险去尝试了。

“再乱更新内核我就是##”,TA如是说。

也许等TA某天按捺不住,再去大胆尝试然后成功或失败后,就会回来更新这篇文章了。