在Fedora系统上安装GPU驱动的步骤和踩坑
实验环境
- 操作系统:Fedora 38
- GPU型号:Geforce GT 730
#查询GPU型号
lspci -vnn | grep VGA
- 机器:联想台式机 ThinkCentre M930
安装方式
我在网上搜到的安装教程主要有两类:一种是通过RPM下载安装,另一种是在NVIDIA官网下载安装。前者可以参考官网教程地址,它的步骤似乎是输入几个命令就解决了,非常简单,所以我首先尝试了这种。但是按照它的方式完成后我的驱动并没有真正装上去,不知道是否遗漏了步骤或者出错,不打算深究。这篇文章主要介绍我如何通过NVIDIA官网下载驱动并安装。
安装步骤
1. 关闭secure boot
这个东西顾名思义,和安全相关。但我是学生,我只是在自己开发机上做项目安装GPU驱动,把这个东西关了能省不少事,所以我就直接把它关了。可以在系统开机时狂按F12(不同机器的按键可能不一样)进入BIOS设置,找到secure boot,disable掉即可。
#查看安全启动模式是否开启
mokutil --sb-state
2. 下载.run文件
在官网找到自己需要的型号。把文件放到一个英文路径下,因为不能在图形界面中安装驱动,中文路径可能会乱码。
3. 添加 RPMFusion 仓库并下载rpm包
sudo dnf update
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
dnf install kernel-headers kernel-devel
dnf install kmodtool akmods mokutil openssl dkm
注意这里要保证kernel和kernel-devel版本一致,否则后面安装会报错。(亲测kernel-headers不一致无所谓)。
#确定操作系统内核版本
uname -r
#确定kernel-devel版本
rpm -qa | grep kernel-devel
4. 退出GUI,在命令行中安装
#reboot后生效
systemctl default multi-user.target
reboot
#切换回GUI
systemctl default graphical.target
5. 使用root 权限
su root
6. 禁用nouveau驱动
这一步可以尝试直接运行.run文件,它发现你没有禁用nouveau后,会问你要不要帮你禁用,生成两个文件,点yes就可以。如果不需要它帮忙,也可以自己创造这两个文件。分别是在/etc/modprobe.d目录下生成nvidia-installer-disable-nouveau.conf配置文件,以及在/usr/lib/modprobe.d目录下生成nvidia-installer-disable-nouveau.conf配置文件。
blacklist nouveau
options nouveau modeset=0
禁用默认驱动后我这边系统是直接开不了机,其他教程似乎都没有遇到这种情况。重启机器,进入GRUB编辑模式(可以搜到怎么进入),把和blacklist nouveau相关的命令全部删掉(这就是强行修改成不禁用了),电脑立刻就正常开机了。
所以在没有驱动的情况,我的机器是开不了的。这个时候把显示器和独显的连接线拔下来,插到主板上,让集显来接显示器,电脑就可以正常打开了。
7. 运行.run文件
./NVIDIA-Linux-x86_64-430.26.run --kernel-source-path=/usr/src/kernels/对应内核版本
运行后它告诉我安装成功了,但是reboot之后又又黑屏了。这时候我只要把显示器的连接线再接回独显,开机就正常了。这一点咨询了联想的客服,在独显驱动不存在的时候可以使用集显来输出图像,新驱动安装好之后就不能这样使用了,如果要一直使用集显需要把独显拆掉。
这些步骤结束后,我的GPU驱动就装好了。