在debian 13(testing)上安装nvidia驱动
618购入一台拯救者R7000P,windows下使用了一段时间,娱乐当然是不错的,开发方面就不太满意,决定加块硬盘搞双系统。
第二系统当然是debian,之前用过挺久的,但是双系统还挺折腾的,这个以后再说。
装好debian之后才发现,自带的nvidia驱动是社区开源版,显然是不够用的,一通搜索+AI支持,找到官方仓库进行安装,这里主要是记录备忘。
安装说明:https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html
尽量不要用首页的快速安装指导,可能有坑,根据安装说明和AI总结,具体步骤如下:
安装内核头文件和编译包
sudo apt install linux-headers-$(uname -r) build-essentialsbuild-essentials是我加上的,文档里没有,但是是需要的。
启用contrib仓库
sudo add-apt-repository contrib
sudo apt update实际在改国内镜像时已经全部启用了
安装官方库
wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update这里和文档的区别是直接把变量改掉了,因为testing下的一些信息对不上
安装官方开源驱动
sudo apt install nvidia-open至此安装完成,但是有个重要的点没有提出,就是驱动签名不受信任,bios如果启用了secure boot,驱动无法加载。
所以要在开启secure boot的情况下使用官方开源启动,需要进行签名注册。
安装过程其实已经生成好了自签名证书和密钥,需要进行导入即可实现证书的信任,过程如下:
将公钥注册到机器的MOK(Machine Owner Key)数据库中
sudo mokutil --import /var/lib/dkms/mok.pub此处会提示输入密码,设置一个密码并记住。
重启并完成注册
重启过程中,系统会自动进入一个蓝色的MOK管理界面 (与GRUB引导菜单不同)。
选择 “Enroll MOK” (注册MOK)。
选择 “Continue” (继续)。
选择 “Yes” (是的,要注册这个密钥),然后输入上一步设置的密码。
最后选择 “Reboot” (重启)完成操作。
正确完成以上步骤即可在secure boot开启的情况下加载nvidia-open驱动了。
最后可以执行nvidia-smi进行验证,输出一个表格样的界面就是正常的。
后续可以安装cuda等工具。