type
status
date
slug
summary
tags
category
icon
password
Property
Jan 31, 2026 09:39 AM
URL
Notion AI 总结:
在 Ubuntu 22.04 上为 RTX 5090 (Blackwell 架构) 安装驱动时,必须使用
nvidia-driver-590-open (开源内核模块) 而非闭源版本,同时需要切换到官方 HWE 6.8 内核 (而非 Mainline 6.12),因为高版本内核的头文件依赖在 22.04 上无法满足,且 dmesg 会明确提示该平台要求 open kernel modules。1. 环境
项目 | 配置 |
系统 | Ubuntu 22.04 LTS |
显卡 | NVIDIA RTX 5090 (Device ID: 2b85, Blackwell 架构) |
初始内核 | 6.12.1-061201-generic (Mainline PPA) |
最终内核 | 6.8.0-90-generic (官方 HWE) |
2. 安装过程
2.1 添加 PPA 源并查看可用驱动
输出显示推荐
nvidia-driver-590,于是安装:❌ 问题 1:重启后 nvidia-smi 报错
2.2 排查驱动未加载的原因
检查 DKMS 状态:
状态是
added 而不是 installed,说明模块没编译。尝试手动编译:❌ 问题 2:内核头文件缺失
尝试安装头文件:
从 Mainline 网站手动下载:
❌ 问题 3:头文件包依赖不满足
根因: 6.12.1 内核的头文件包是为 Ubuntu 24.04 构建的,在 22.04 上依赖对不上,此路不通。
2.3 切换到官方 HWE 内核
既然 Mainline 内核在 22.04 上无法编译驱动,改用官方 HWE 内核:
❌ 问题 4:重启后仍然是 6.12.1 内核
检查 GRUB 配置:
根因:
GRUB_DEFAULT=0 会忽略 grub-set-default 的设置。✅ 解决:改为 saved 模式
现在内核正确了:
2.4 为 6.8 内核编译驱动模块
加载模块并验证:
❌ 问题 5:模块加载了但识别不到设备
查看内核日志:
根因: dmesg 明确提示当前平台要求使用 Open GPU Kernel Modules,否则 RM init 会失败,最终表现为
nvidia-smi no devices,原因在于 driver flavor 不匹配。NVIDIA 官方明确指出:对于 Blackwell 这类 cutting-edge platform,必须使用 open-source GPU kernel modules,proprietary drivers 不受支持。[1]
2.5 安装 open 版驱动
尝试卸载闭源驱动:
❌ 问题 6:依赖冲突,无法卸载
根因: 之前手动下载的 6.12.1 头文件包虽然安装失败,但残留在系统里导致依赖冲突。
危险操作:清理 Mainline 内核残留
以下操作使用
--force-depends 强制删除,有风险。执行前务必:- 先确认残留包名,只删 Mainline 的包,不要误删 HWE 内核
- 建议先备份重要数据
现在可以正常卸载和安装了:
2.6 最终验证
3. 常见坑位排查
如果按上述流程仍然失败,检查以下三个高频问题:
3.1 Secure Boot
若 Secure Boot 开启,未签名的内核模块会被拒绝加载,即使 DKMS 编译成功。
如果显示
SecureBoot enabled,有两个选择:- 方案 A:在 BIOS 中关闭 Secure Boot
- 方案 B:使用 MOK (Machine Owner Key) 签名模块
3.2 nouveau 黑名单
开源 nouveau 驱动可能与 NVIDIA 闭源/open 驱动冲突。
若存在,需要禁用:
3.3 initramfs 未更新
apt 安装驱动通常会自动触发 initramfs 更新,但手动折腾内核/驱动后可能遗漏:

4. 关键教训
Blackwell 平台的 NVIDIA GPU 在 Linux 上需要 Open GPU Kernel Modules
当
dmesg 出现 requires use of the NVIDIA open kernel modules 时,说明当前系统必须使用 nvidia-driver-xxx-open 这一路径,否则会出现 nvidia-smi no devices 或 RM init 失败。[1]Mainline 高版本内核 (如 6.12) 在 Ubuntu 22.04 上头文件依赖可能对不上
建议使用官方 HWE 内核 (6.8.x),驱动兼容性更好。
修改 GRUB 默认启动项时,需要同时设置:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
否则
grub-set-default 可能不生效。5. 一步到位的正确流程
如果从头来搞,正确步骤是:
失败时的排查分叉
nvidia-smi 报错
- 排查:
sudo dmesg | grep -i NVRM
- 若出现
requires use of open kernel modules→ 换-open驱动
模块未加载
- 排查:
lsmod | grep nvidia
- 若无输出 → 检查 Secure Boot、nouveau 黑名单、initramfs
内核版本不对
- 排查:
uname -r
- 必须是 HWE 6.8.x,不能是 Mainline
DKMS 状态异常
- 排查:
dkms status
- 应为
installed,若为added→ 检查 headers 是否安装
- 作者:NotionNext
- 链接:https://tangly1024.com/article/Ubuntu2204-5090
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。




