NVIDIA 显卡驱动安装指南 (CentOS Stream 9 / RTX 5090)

本文档详细记录了在 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 核心)强制要求使用开源内核模块。
解决方法

  1. 卸载当前驱动:sudo dnf module remove nvidia-driver
  2. 重置模块流:sudo dnf module reset nvidia-driver
  3. 安装开源版:sudo dnf module install nvidia-driver:open-dkms

故障 2: NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

原因 :内核模块未加载,或内核版本更新后 DKMS 未重新编译模块。
解决方法

  1. 检查模块状态:lsmod | grep nvidia
  2. 尝试手动加载:sudo modprobe nvidia
  3. 如果失败,重启系统让 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
相关推荐
赛博云推-Twitter热门霸屏工具2 小时前
推特自动化营销软件推荐:赛博云推实现Twitter热门霸屏与精准获客
运维·自动化·媒体·twitter
网云工程师手记2 小时前
企业多出口负载与故障切换实战:4 种调度模式 + 主备线路高可用
运维·服务器·网络·安全·网络安全
深圳市恒讯科技2 小时前
大带宽服务器和CDN加速如何配合使用?
运维·服务器
济6173 小时前
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验
linux·stm32·嵌入式linux驱动开发
16Miku3 小时前
OpenClaw-Linux+飞书官方Plugin安装指南
linux·ai·飞书·agent·openclaw·feishu
the sun343 小时前
打通嵌入式与 Linux:USB 转串口通信实战
linux·运维·服务器
susu10830189113 小时前
Ubuntu 离线环境 安装 Docker Compose
运维·docker·容器
要开心吖ZSH3 小时前
(三)OpenClaw 云端服务器控制本地 Windows 浏览器完整配置指南(SSH方式)
运维·服务器·windows·openclaw
XMYX-03 小时前
Zabbix 7.0 自定义 Linux 监控模板(Agent Active版,支持CPU/内存/磁盘/网卡自动发现)
linux·zabbix