SDB:NVIDIA 驱动

跳转至: 导航, 搜索


由于许可证的原因,NVIDIA 驱动程序不能直接被整合到 openSUSE 中。但幸运的是,对于新用户来说,NVIDIA 和 openSUSE 提供了非常简便的方法来安装 NVIDIA 驱动程序:NVIDIA 为 openSUSE 专门制作了 RPM 并将他们放入了软件源里,这样它们就可以通过YaST来直接安装。
如果你遇到网络问题,你可以阅读 SDB:配置代理 获取帮助。
注意: 如果你想要更新升级你的显卡,记得在升级硬件之前卸载你的驱动,并在升级完后运行 zypper inr

显卡驱动安装

在 openSUSE 系统下,安装 NVIDIA 的显卡驱动您有三种途径可选:

  1. 使用 NVIDIA 官方源(推荐):从 NVIDIA 软件源中查找编译好的二进制显卡软件包
  2. YaST 一键安装:只要点下鼠标,安装自动完成
  3. 手动安装(不推荐):自己手动安装 NVIDIA 发布的 Linux 平台驱动,这是Linux系统下 NVIDIA 显卡驱动安装的通用方法

从 NVIDIA 软件源安装

NVIDIA 为 openSUSE 专门编译了显卡驱动,您如果使用的是 openSUSE 官方提供的内核,那么,您可以使用 NVIDIA 提供的二进制安装包。NVIDIA 软件源参见第三方软件源,请添加您对应版本的供应源。

通过 Zypper 安装

添加 Nvdia 软件源:

Leap
# zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA
Tumbleweed
# zypper addrepo --refresh https://download.nvidia.com/opensuse/tumbleweed NVIDIA


打开终端,以 root 权限运行下列命令,来确定您的显卡型号:

# lspci | grep VGA
# lscpu | grep Arch

# hwinfo --gfxcard | grep Model
# hwinfo --arch

安装驱动:

首先查阅支持你的硬件的驱动型号:

例如:

  • 使用最新 NVIDIA 显卡的用户( Geforce 版本号>600,比如 630,1080,2060,3090)支持的型号列表.
# zypper in x11-video-nvidiaG05
# zypper in x11-video-nvidiaG04

最后,重启电脑,以使用新的显卡驱动。

通过 YaST 安装

  • 添加 Nvdia 软件源:在 YaST 的“软件安装源”模块中,点击“添加”,选择“社区软件源”,点击“下一步”,选择“nVidia Graphics Drivers”并确定。
  • 安装 Nvidia驱动包:在 YaST 的“软件管理”模块中搜索 "nvdia" 并选择与您系统架构相匹配的软件包 (x11-video-nvidiaG04 或者 x11-video-nvidiaG05), 然后点击“应用”即可。

最后,重启电脑,以使用新的显卡驱动。

YaST一键安装

一键安装目前只支持 火狐 (Firefox) 浏览器

  • 使用较新版本的 NVIDIA 显卡(Geforce 600 系列以及更新版本):

boton.png x11-video-nvidiaG05

  • 使用 Geforce 400 以及更新版本系列的用户:

boton.png x11-video-nvidiaG04

  • 使用更老旧的 Geforce 8xxx 显卡的用户点击这里 (仅支持 Leap 42.3, 15.0, 15.1 ) 支持的型号列表:

boton.png x11-video-nvidiaG03

  • 一键安装 (1-Click-install)功能要求能连接到在线软件源,否则您就会得到丢失安装包之类的错误信息。 请参看 软件源 获得更多关于怎样添加未配置的软件源的信息。
  • 一旦这么装过之后,NVIDIA 的软件源就会被自动开启,后续更新可能通过正常的更新方法完成。

使用 proxychains-ng 安装驱动

如果你在配置了系统代理设置后,依旧无法正常下载 NVIDIA 驱动(速度停留在16 KiB/s ~ 32 KiB/s),你可以参考本小节使用代理软件下载驱动程序。

1. 安装 proxychains-ng

 sudo zypper in proxychains-ng

2. 编辑配置

 sudo nano /etc/proxychains.conf

然后在文件的末尾输入代理服务器地址(具体取决于你代理服务的配置,简单而言就是 代理类型 + 代理地址 + 代理端口),例如:

 http 127.0.0.1 8889
 socks5 127.0.0.1 1089

Left CTRL + O 保存更改,按 Left CTRL + X 退出文件。

3. 让 zypper 使用 proxychains 的代理

在原有的 sudo 命令后,插入 proxychains4 ,例如:

 sudo proxychains4 zypper ref
 sudo proxychains4 zypper in x11-video-nvidiaG05

安全启动

Tumbleweed 已经不需要手动导入密钥,安装完成后,重启系统会自动激活 N 卡驱动。你可以使用 suse-prime 进行切换显卡。

Leap 15.2 或更高版本的内核,默认情况下,会拒绝在启用安全启动的机器上加载任何未签名的内核模块。

在启用了安全启动的系统上安装 NVIDIA 驱动的过程中,会创建一个 MOK 密钥对,并使用创建的私钥对内核模块进行签名。所创建的证书(公钥)仍然保存在 /var/lib/nvidia-pubkeys 下面的存储器中,但它也需要被导入到待注册的 MOK pubkeys 列表中。

第一次重启后,这个证书可以很容易地注册到 MOK 数据库中。为此 EFI 工具(mokutil)会自动启动:在工具里面选择 "Enroll MOK",然后选择 "Continue",再选择 "Yes"。当提示输入密码时,使用你的 root 密码(需要美国键盘布局!)。现在证书已经被添加到 MOK 数据库中,并被认为是可信的,这将允许加载匹配签名的内核模块。要完成该过程,选择 "reboot"。

Nvidia-secureboot-enrollKey.jpg

如果你在第一次重启后错过了证书注册的超时时间,你可以通过运行以下命令轻松地重新导入证书。

# mokutil --import /var/lib/nvidia-pubkeys/MOK-nvidia-gfxG0<X>-<driver_version>-<kernel_flavor>.der --root-pw

然后重新启动机器,并按照之前的方法注册证书。

最后,如果你在安全启动方面遇到问题,你可以自行承担风险,禁用内核模块的验证。

# mokutil --disable-validation

驱动升级

在驱动更新过程中,旧的不再使用的公钥将从 MOK 数据库中删除。所以在重启机器后,除了"Enroll MOK"菜单项外,EFI工具中还会出现一个"Delete MOK"项。为了最终将其从 MOK 数据库中删除,请选择 "Delete MOK",然后选择 "Continue",再选择 "Yes"。当提示输入密码时,再次使用你的 root 密码(需要美国键盘布局!)。选择 "View Key X"时可以显示公钥的证书/说明,以免删错密钥。按任意键从那里继续。

Nvidia-secureboot-deleteKey.jpg

手动安装

参见SDB:NVIDIA_不易之路:编译安装 NVIDIA 面向 Linux 平台发布的显卡驱动

卸载 Nvidia 驱动

YaST

  1. 打开 YaST ,点击 软件,进入 软件管理。
  2. 点击左上方的 视图 ,选择 软件源
  3. 选择 NVIDIA 的软件源
  4. 把所有已安装的软件包标记为 删除,然后点击 接受 。可能会提示你有冲突,请忽略任何冲突,选择解除依赖关系。
  5. 打开 YaST ,然后点击 软件源 。
  6. 选择 NVIDIA 的软件源,取消点击左下方的 已启用 。不要删除它,因为它将在下次与服务器同步时返回启用。

卸载专有驱动程序将恢复之前的X配置文件 /etc/X11/xorg.conf(如果有的话)。如果在此期间硬件发生了变化,可能需要手动编辑这个文件。

Zypper

# zypper rm <x11-video-nvidiaG04 or x11-video-nvidiaG05>

如果这样还不能删除所有的软件包,你可以用以下方法找到其他的名字

# zypper se -ir NVIDIA

# zypper lr
# zypper se -ir <the repo number>

另外,NVIDIA 驱动的安装程序可能将 nouveau 加入了黑名单;为了能够再次运行模式化 DDX 驱动或 nouveau DDX 驱动,请确保在 /etc/modprobe.d/ 中没有包含 blacklist nouveau 字样的文件,因为安装程序可能无法删除这些文件。

卸载软件包后,你可能需要运行:

# mkinitrd

其它问题

Optimus (双显卡切换)

如果你的电脑支持 Nvdia Optimus (通常是笔记本电脑) 可以阅读SDB:NVIDIA_SUSE_Prime

CUDA

如果你想需要安装 CUDA 请直接参考官方文档 CUDA Toolkit Documentation 和 CUDA 的下载地址 NVIDIA CUDA Download

故障排除

SDB:NVIDIA_故障排除

参考链接