如果在[终端/konsole/控制台]中执行命令时遇到权限不足问题,请在命令前面拼接:sudo
比手动安装更简单的方式
详见以下文章
理论上更简单的方式,我操作起来却处处受阻,所以最后选择了手动安装
准备工作
不必在意完成的先后顺序
1.下载驱动文件:NVIDIA-Linux-xxxxx.run
根据你的实际情况输入条件,点击下方搜索按钮,进入后续下载步骤
下载得到文件NVIDIA-Linux-xxxxx.run,例如:NVIDIA-Linux-x86_64-525.89.02.run
2.BIOS中关闭 :secure boot(安全启动
重启你的电脑,进入bios找到secure boot并设为:[disable/禁用/关闭]
在微星B550M 的bios中,secure boot选项是 高级>windows>安全启动,通过bios右上角搜索功能输入:boot,可以快速找到
3.安装:kernel-devel
打开 YaST软件管理,搜索并安装:kernel-devel
安装完成的样子,kernel-devel左边是绿色的勾
4.确保你的openSUSE 快照是开启的
Snapper 是 openSUSE 下用于创建和管理文件系统快照(以下简称快照)的工具。 万一操作失误、安装失败或其他意外导致系统损坏,快照可以很方便的回滚系统。 快照功能默认是开启的,会每隔几分钟自动备份一次系统
正式开始
需按顺序执行
5.更新系统
在终端执行以下命令来更新系统
zypper up
如果你不能或者不愿意升级系统,我猜测在某些条件下不更新系统也是可以成功安装的,例如旧版系统找对应版本的驱动程序即可?我不清楚是否可行,我是更新过后才安装驱动的(日期:2023-03-25)
6.禁用开源驱动 nouveau
为了避免闭源 NVIDIA 驱动与默认的开源 nouveau 驱动冲突,禁用 nouveau 模块以防止引导期间被加载
6.1 创建配置文件
在终端执行以下四句命令。命令的意思是创建两个文件,并分别在其中加入两行配置代码。
echo "blacklist nouveau" >> /etc/modprobe.d/50-blacklist.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/50-blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" >> /etc/modprobe.d/blacklist-nouveau.conf
如果你的系统中已有对应文件,则在对应文件末尾插入那两行配置代码
6.2 重启电脑使配置文件生效
重启电脑即可
禁用了默认显卡驱动再重启,会导致系统不能显示图形界面吗?不会,还能显示,只是性能降低了
禁用nouveau前,在[桌面右键>配置显示设置>显示器配置]中可以修改分辨率、刷新率,支持144hz
禁用nouveau后,不能修改分辨率、刷新率,只支持77hz
6.3 检查nouveau是否被禁用
终端执行以下命令,果没有输出任何信息即表示成功禁用
lsmod | grep nouveau
7.安装Nvidia驱动
假设你的驱动文件存放路径为/home/user1/NVIDIA-Linux-x86_64-525.89.02.run 执行以下命令
sh /home/user1/NVIDIA-Linux-x86_64-525.89.02.run
我看了几篇博文都是说在init 3模式下来执行这条命令,我是在图形界面模式下的控制台执行的。 我认为关键是要成功禁用nouveau,否则即使在init 3执行也会报错说nouveau冲突
执行之后等待一会,会出现大约4、5个 yes/no 的蓝底白字对话框
耐心等待一会就安装完成了
8.重启图形界面
建议直接重启系统,即可达成目的
但我是通过 init 3 命令进入命令行模式,再通过 init 5 启动了图形界面
9.检验驱动是否安装成功
执行命令
nvidia-settings
如果能打开这个页面就表示安装成功了
参考资料
我的安装过程主要参考了以下资料,如果你安装不顺利,不妨也看看
- FlyWine:Linux安装NVIDIA显卡驱动的正确姿势
- opensuse.org/SDB:NVIDIA_…
- 华为:不同Linux系统nouveau驱动禁用方式
- 解决centos下安装显卡驱动出现的unable to find the kernel source tree等关于内核版本问题
在此感谢以上文章的作者 、以及其他分享安装过程的博主
我的硬件配置
cpu:AMD 5600x
主板:微星 B550M MORTAR 迫击炮
显卡:RTX 3070
硬盘:nvme ssd 致态TiPlus5000