本文档详细记录了在 CentOS Stream 9 系统上为 NVIDIA GeForce RTX 5090 D V2 显卡安装驱动的完整过程。
特别注意 :对于 RTX 50 系列(Blackwell 架构)及更新的显卡,必须使用 NVIDIA Open Kernel Modules(开源内核模块)版本的驱动,否则标准闭源驱动可能无法正确初始化 GPU。
1. 系统环境确认
在安装前,首先确认系统版本和显卡型号。
1.1 查看系统版本
bash
cat /etc/os-release
输出示例:
NAME="CentOS Stream"
VERSION="9"
ID="centos"
...
1.2 确认显卡型号
使用 lspci 命令查看已连接的 NVIDIA 设备。
bash
lspci | grep -i nvidia
输出示例:
02:00.0 VGA compatible controller: NVIDIA Corporation GB202 [GeForce RTX 5090 D V2] (rev a1)
85:00.0 VGA compatible controller: NVIDIA Corporation GB202 [GeForce RTX 5090 D V2] (rev a1)
2. 安装前准备
安装编译驱动所需的依赖包,包括 GCC 编译器和内核开发头文件。
bash
# 更新系统
sudo dnf update -y
# 安装 EPEL 源和开发工具
sudo dnf install -y epel-release
sudo dnf install -y gcc make kernel-devel-$(uname -r) kernel-headers-$(uname -r)
3. 添加 NVIDIA 官方软件源
使用 NVIDIA 提供的 RHEL 9 CUDA 软件源,这是最稳定且推荐的安装方式。
bash
# 添加 CUDA 仓库
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
# 清理并重建缓存
sudo dnf clean all
4. 安装 NVIDIA 驱动
4.1 选择正确的驱动模块
RTX 5090 等新一代显卡需要 Open Kernel Modules。我们需要安装 open-dkms 分支的驱动。
警告 :不要直接安装
latest-dkms(闭源版本),可能会导致Failed to allocate NvKmsKapiDevice错误。
4.2 执行安装命令
使用 DNF 的模块功能安装驱动:
bash
# 安装 Open Kernel Module 版本的驱动
sudo dnf module install -y nvidia-driver:open-dkms
注:如果系统之前安装过其他版本的驱动,建议先卸载:
bash
sudo dnf module remove nvidia-driver
sudo dnf module reset nvidia-driver
4.3 加载内核模块
安装完成后,通常需要重启系统。如果在服务器环境下不便重启,可以尝试手动加载模块:
bash
sudo modprobe nvidia
5. 验证安装结果
使用 nvidia-smi 命令验证驱动是否正常工作。
bash
nvidia-smi
成功输出示例:
Wed Mar 11 10:37:03 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 595.45.04 Driver Version: 595.45.04 CUDA Version: 13.2 |
+-----------------------------------------+------------------------+----------------------+
| 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 5090 ... Off | 00000000:02:00.0 Off | N/A |
| 0% 31C P0 54W / 575W | 2MiB / 24455MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+
| 1 NVIDIA GeForce RTX 5090 ... Off | 00000000:85:00.0 Off | N/A |
| 30% 30C P0 45W / 575W | 2MiB / 24455MiB | 0% Default |
+-----------------------------------------+------------------------+----------------------+
- Driver Version: 595.45.04 (支持 RTX 50 系列的最新驱动)
- CUDA Version: 13.2
- GPU: 正确识别到两块 RTX 5090 显卡。
6. 常见故障排除
故障 1: nvidia-smi 显示驱动版本但找不到 GPU
现象 :nvidia-smi 输出空表格,或者 dmesg 中出现以下错误:
NVRM: installed in this system requires use of the NVIDIA open kernel modules.
[drm:nv_drm_dev_load [nvidia_drm]] *ERROR* [nvidia-drm] Failed to allocate NvKmsKapiDevice
原因 :安装了闭源驱动(Legacy/Proprietary),但显卡硬件(如 RTX 5090 GB202 核心)强制要求使用开源内核模块。
解决方法:
- 卸载当前驱动:
sudo dnf module remove nvidia-driver - 重置模块流:
sudo dnf module reset nvidia-driver - 安装开源版:
sudo dnf module install nvidia-driver:open-dkms
故障 2: NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver
原因 :内核模块未加载,或内核版本更新后 DKMS 未重新编译模块。
解决方法:
- 检查模块状态:
lsmod | grep nvidia - 尝试手动加载:
sudo modprobe nvidia - 如果失败,重启系统让 DKMS 自动重修编译:
sudo reboot
7. 驱动版本管理与更新
7.1 自动更新
由于使用了 DKMS(Dynamic Kernel Module Support),当系统内核更新时,驱动模块会自动重新编译适配,无需重新安装驱动。
7.2 手动更新驱动
定期检查更新:
bash
sudo dnf update
如果有新的驱动流发布(例如从 595 更新到 600),可以使用模块命令切换:
bash
sudo dnf module switch-to nvidia-driver:open-dkms