千万不要使用Nvidia官方提供的 run 文件,会有很大问题!!安装过程以英文版的 Debian Wiki 为主,不用看中文翻译版,有段时间没更新了。
一、安装前的工作
确定你安装了当前内核的 headers 文件,稳妥的方法是再安装一遍,执行命令:sudo apt install linux-headers-$(uname -r)
![Debian 12 安装 Nvidia 驱动及问题修复-图片1](https://www.debian.cn/wp-content/uploads/2024/07/2024070905280096.jpg)
可能会提示无法定位这个包,此时最好在 /etc/apt 这个目录下注释掉你的所有镜像源列表,然后使用 USTC 提供的配置生成器提供的内容,替换掉 /etc/apt/source.list 里面的所有内容,并保证 /etc/apt/source.list.d 这个目录下的文件里的镜像源都没有启用,然后 apt update,再安装一遍 headers 包。
随后安装dkms,用于将 Nvidia 内核模块安装进内核(很重要!)
如果你已经通过其他方法安装了驱动但是无法使用:
如果是通过官方提供的 run 文件,恭喜你还是有办法补救的:
删除干净之前安装过的所有 Nvidia 相关程序:
$ sudo zypper remove "cuda" "cublas" "cufft" "cufile" "curand" "cusolver" "cusparse" "gds-tools" "npp" "nvjpeg" "nsight" "nvvm"
$ sudo apt-get --purge remove "nvidia" "libxnvctrl*"
$ sudo apt-get autoremove
不要重启,继续下面的步骤。如果是通过下面提到的使用apt方法后出现问题,那么直接尝试下面提到的使用dkms将驱动安装进内核
如果不成功,仿照上面提到的删除所有Nvidia相关程序后,重新使用apt进行安装,然后再次尝试使用dkms将驱动安装进内核(看下面的方法)
二、开始安装
在前面的 /etc/apt/source.list 里添加下面一行:
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
进行安装:
$ apt update
$ apt install nvidia-driver firmware-misc-nonfree
如果要用CUDA:$ apt install nvidia-cuda-dev nvidia-cuda-toolkit
使用dkms将驱动安装进内核(很重要):
查看驱动版本: $ ls /usr/src | grep nvidia
一般会返回:nvidia-[版本号]
进行安装:$ do dkms install -m nvidia -v [版本号]
使用 nvitop 命令验证是否安装成功,若出现 nvitop 界面则安装成功:
![Debian 12 安装 Nvidia 驱动及问题修复-图片2](https://www.debian.cn/wp-content/uploads/2024/07/2024070905323940.png)
三、如果你使用Wayland
一般来讲,目前Gnome对Wayland的支持会好一些,KDE Plasma则不建议使用Wayland;如果能使用X11则尽量使用X11
编辑grub以切换至Nvidia模式:
$ echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX nvidia-drm.modeset=1"' > /etc/default/grub.d/nvidia-modeset.cfg
$ update-grub
安装并启用systemd和电源管理脚本:
$ apt install nvidia-suspend-common
$ systemctl enable nvidia-suspend.service
$ systemctl enable nvidia-hibernate.service
$ systemctl enable nvidia-resume.service
验证NVIDIA模块参数PreserveVideoMemoryAllocations是否已激活:
cat /proc/driver/nvidia/params | grep PreserveVideoMemoryAllocations
应当返回:
PreserveVideoMemoryAllocations: 1
如果返回值为0,添加配置:
echo 'options nvidia NVreg_PreserveVideoMemoryAllocations=1' > /etc/modprobe.d/nvidia-power-management.conf
重启,Wayland应该可以启用了
四、最坏的情况
如果开机后检查阶段出现多个红色的[Failed],然后黑屏并且只有一个光标闪烁,不要急,基本上可以确定是两种情况:
没有使用 dkms 将驱动安装进内核,这种情况看后面。
如果是 Nvidia 的安装脚本对 Xorg 配置错误:先看看 /etc/X11 目录下是不是有一个 xorg.conf 和 xorg.conf.[一大串后缀] 两个文件同时存在。如果两个文件都有,那么后面有一大串后缀是备份的原文件,删除现在的 xorg.conf,并且将原文件重新命名为 xorg.conf
重启,现在应该至少能进X11管理的桌面了。如果想用 Wayland,参照上面的 Wayland 配置一下。如果还是不行,那基本就是 dkms 的问题。建议先重启,在grub界面选择更旧的内核使用。如果旧内核运行正常,没有特殊需求就用着吧。但是如果还是要使用原来的内核:
使用 Ctrl+Alt+F3 进入 tty3,使用你的用户名和密码登录
回忆是不是禁用了自带的 Nouveau。如果禁用了,先试着放出来再执行 reboot(有时会reboot 失败,直接执行 /usr/sbin/reboot)
首先试图安装 linux-headers,然后使用dkms将驱动安装进内核。中间如果出现问题就试着按照上面第一部分的方法进行处理
安装成功后,使者用nvitop验证一下。如果没问题就是救活了,reboot 进系统,完成。
文章末尾固定信息