Fedora_V43安装使用的问题2

安装NVIDIA显卡驱动

1. RPM Fusion 方法——最流行且对 Fedora 友好的方法。

2. NVIDIA 官方安装程序 – 针对特定需求的更手动的方法。

先决条件

在开始之前,我们必须先确定我们的系统。

查看 NVIDIA GPU 型号
要检查是否存在 GPU,请打开终端并运行以下命令:

lspci |grep -E "VGA|3D|NVIDIA"
此命令将搜索系统中所有 NVIDIA GPU。如果您的系统有 NVIDIA GPU,您将看到以下输出:


01:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090] (rev a1)

如果没有输出,则表示您的系统没有 NVIDIA GPU。

检查是否已启用安全启动。
在终端中运行以下命令以检查安全启动状态:

mokutil --sb-state
这条命令应该会显示类似这样的内容:

SecureBoot disabled
Platform is in Setup Mode
可以在UEFI 启动菜单中禁用了安全启动。但如果你的安全启动已启用,请按照安全启动指南操作。

方法一:RPM Fusion [推荐]

如果您已启用安全启动,请按照本指南操作。

安全启动密钥注册 [RPM Fusion]
安装以下工具:

sudo dnf install kmodtool akmods mokutil openssl
要生成具有默认值的密钥:

sudo kmodgenca -a
现在您需要将公钥注册到 MOK 中,使用以下命令注册带有证书的新密钥对。

sudo mokutil --import /etc/pki/akmods/certs/public_key.der
Mokutil 会要求您生成一个密码来注册公钥。您很快就会用到它。

MOK 需要重启系统才能注册新的公钥。

systemctl reboot
下次启动时,MOK 管理程序将启动,您需要选择“注册 MOK ”。

Fedora_V43安装使用的问题2-临风且听

选择“继续”注册密钥,或选择“查看密钥 0”显示已注册的密钥。

请选择“是”确认注册。

您将被要求输入上面生成的密码。

Fedora_V43安装使用的问题2-临风且听

警告:键盘已映射到 QWERTY!

新密钥已注册,系统提示您重新启动。

请等待模块构建完成!您可以通过 htop 查看构建过程,或者输入以下命令:

modinfo -F version nvidia
重启

安装驱动程序
这是推荐指南。RPM Fusion 是一个面向 Fedora、Red Hat 及相关发行版的第三方软件仓库。它提供 Fedora 由于法律、许可或政策原因而默认未包含的软件包,例如专有驱动程序(如 NVIDIA 驱动程序)、媒体编解码器和额外的软件。

在 Fedora 上启用 RPM Fusion

Enable both Free and Nonfree repositories

sudo dnf install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
适用于 2014 年及之后推出的新型 GPU
此驱动程序适用于 2014 年及之后推出的任何 GPU。

从 rpmfusion 安装 NVIDIA 驱动程序
启用 rpmfusion 后,您可以使用以下命令轻松安装 NVIDIA 驱动程序:

sudo dnf update
sudo dnf install akmod-nvidia
这是一个可选软件包。但如果您需要cuda/nvdec/nvenc支持,请安装此软件包。如果您不了解这些技术,可以跳过此软件包。

sudo dnf install xorg-x11-drv-nvidia-cuda # CUDA support

重启系统生效:

reboot

如果提示丢失NVIDIA驱动,或者更新驱动以后

可以在启动前手动重新构建驱动
akmods --rebuild

检查是否已安装 NVIDIA 驱动程序:
运行

nvidia-smi
输出结果应该类似于这样

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.105.08             Driver Version: 580.105.08     CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4090        Off |   00000000:01:00.0 Off |                  Off |
|  0%   31C    P8             12W /  515W |    1035MiB /  24564MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+


方法二:直接从 NVIDIA 获取 [高级]


NVIDIA 提供了两种安装驱动程序的方法。

来自 NVIDIA CUDA RPM 仓库
检查 NVIDIA 是否已为 Fedora 分支提供此驱动程序

Import Nvidia CUDA Repository for Fedora:

sudo curl -o /etc/yum.repos.d/cuda-fedora$(rpm -E %fedora).repo "https://developer.download.nvidia.com/compute/cuda/repos/fedora$(rpm -E %fedora)/x86_64/cuda-fedora$(rpm -E %fedora).repo"
这将把NVIDIA驱动程序仓库下载到/etc/yum.repos.d

使用以下命令查看您的 Fedora 版本hostnamectl:

现在,您可以从这个仓库下载两种驱动程序。您可以选择安装其中任何一种。CUDA仅支持专有驱动程序。请决定您需要开源内核模块(适用于Turing及更新的 GPU)还是专有模块( Maxwell、Pascal和Volta GPU 的必需模块)。对于受支持的硬件,默认使用开源模块。

NVIDIA专有技术。
NVIDIA Open。
安装 NVIDIA 专有驱动程序
sudo dnf update
sudo dnf install --allowerasing nvidia-driver kmod-nvidia-latest-dkms
sudo dnf install --allowerasing cuda-drivers # optional, for complete driver with cuda support
sudo dnf install cuda-toolkit
要安装 NVIDIA 驱动程序,请打开
sudo dnf update
sudo dnf install --allowerasing nvidia-driver kmod-nvidia-open-dkms
重启电脑以激活新驱动程序。

reboot


来自 NVIDIA(.Run 文件)[超级高级]


官方 .run 驱动包安装指南。

安全启动(适用于 NVIDIA 官方)
如果要保留安全启动功能以安装官方 NVIDIA 驱动程序,则必须对驱动程序进行签名。
请注意,如果安装了其他操作系统(例如 Windows),则禁用安全启动可能会导致这些操作系统的安装丢失。
总而言之,我们使用以下命令对驱动程序进行签名:

openssl req -new -x509 -newkey rsa:2048 \
-keyout Nvidia.key \
-outform DER -out Nvidia.der \
-nodes -days 100000 -subj "/CN=Graphics Drivers"
创建自签名证书和私钥,主要用于 NVIDIA 驱动程序的安全启动内核模块签名。

将证书导入机器所有者密钥 (MOK) 列表,这是在启用安全启动的系统上加载未签名或自定义内核模块(如 NVIDIA 驱动程序)所必需的。

sudo mokutil --import Nvidia.der
此命令需要您创建注册密码。之后,重启计算机,下次启动时,系统会提示您注册,请输入您在此步骤中创建的密码进行注册。

从NVIDIA官方网站下载适用于您GPU的驱动程序。

安装驱动程序
手动搜索驱动程序,下载驱动程序,下载完.run文件后。

打开终端。

安装依赖项:

sudo dnf install gcc
禁用 nouveau

echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
sudo dracut --force # Rebuilds the initramfs
以下命令将关闭当前会话并打开 TTY 会话。请保存您的工作。

关闭图形用户界面模式,切换到命令行界面模式:

sudo systemctl isolate multi-user.target # switches to TTY mode. Login with user account.
然后继续安装。找到文件所在的目录。对我来说,它位于“下载”文件夹中。使其可执行。然后运行:

cd ~/Downloads
sudo chmod +x NVIDIA-Linux-x86_64-570.153.02.run
sudo sh ./NVIDIA-Linux-x86_64-570.153.02.run
如果您已启用安全启动并生成了签名密钥,请按如下方式运行安装程序。

sudo sh ./NVIDIA-Linux-x86_64-570.153.02.run
--module-signing-secret-key=/path/to/generated/Nvidia.key
--module-signing-public-key=/path/to/generated/Nvidia.der
如果您跳过了之前的 nouveau 驱动程序禁用步骤,系统会自动提示您禁用。

当被问及“是否要将内核模块源注册到 DKMS?”
时,请回答“是”。

如果询问“是否要运行 nvidia-xconfig 实用程序以自动更新 x 配置…?”,
请选择“是”。

reboot系统安装完成后。

如果您仍在终端中,并且想要在不重启电脑的情况下返回桌面:

sudo systemctl isolate graphical.target
这将重启您的显示管理器(如 GDM 或 SDDM),并返回登录屏幕。

备注:还是使用推荐的方案1安装快捷。也不用担心Wayland的问题