安装指南

整个安装就是:构建软件包、加一个内核命令行参数、重启。本指南遵循项目自己的 README,包括大家通常会略过的部分——验证与回滚。

基于 gpu-unlock README v1.0.0 · 核对日期:2026-10-25 · 源项目

开始之前

仅限 Linux。本模块没有 Windows 版本。你的显卡必须是 GA102、GA103、GA104 或 GA106 型号(RTX 30 系列)——先查你的显卡。该项目是实验性的、非官方的;你将修改硬件在启动时的初始化方式。开始前先读回滚一节,确认退路存在且很简单。

本指南适用于什么

上游项目 gpu-unlock v1.0.0,以其 README 为准,README 固定在 commit af28cbb(2026-10-24),适用于 README 覆盖的发行版家族(Arch、Debian/Ubuntu、Fedora/RHEL)。一个诚实的缺口:README 没有记录 Secure Boot(安全启动)或模块签名的行为——如果你的发行版强制 Secure Boot,请在重启前按你发行版自己的文档解决本地构建模块的签名问题。还有一条常驻披露:本站没有实际执行过一次安装——这里没有第一方的安装日志;这些步骤是对上游 README 的忠实总结,README 仍是权威来源。

已知的安装注意事项

Ubuntu 24.04 打包:至少一位用户报告 make install-deb 在 Ubuntu 24.04 上因 dh-sequence-dkms 构建依赖无法满足而失败,最后改为手动完成安装——在自己想变通办法之前,先看上游 issue #59。

验证启用确实生效:改完引导加载器配置后,重启后检查 cat /proc/cmdline。云镜像和重新生成的启动项可能会覆盖引导加载器设置,悄悄把参数弄丢。

开始之前——60 秒预检

你需要准备什么

第 1 步——克隆并安装

注意:克隆拉取的是当前的默认分支,可能比本指南审校时依据的 commit(af28cbb)更新。

git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
make install

make install 会检测你的发行版并选对安装方式。显式变体如下:

make install-arch   # makepkg -sif
make install-deb    # apt-get build-dep, dpkg-buildpackage, apt-get install
make install-rpm    # dnf builddep, rpmbuild, dnf install

make arch、make deb 和 make rpm 只构建软件包而不安装(Debian 和 RPM 软件包分别落在 build/deb 和 build/rpm)。安装会把模块及其固件放进你的 initramfs——在 mkinitcpio 下,一个 drop-in 会把 gpu_unlock 放在 MODULES 中 nvidia 的紧前面,让显示输出显卡黑屏的时间尽可能短;initramfs-tools 和 dracut 也有等价的 drop-in。镜像会在安装时重建。

第 2 步——在内核命令行上启用

模块在你告诉它要解锁哪些卡之前什么都不会做。把 gpu_unlock.targets=all 追加到你的内核命令行,保留你现有的选项:

除了 all,你也可以用完整的 PCI 地址指定具体的卡,就像 lspci -D 打印的那样:

gpu_unlock.targets=all                            # every unbound GA102/103/104/106 card
gpu_unlock.targets=0000:21:00.0                   # only this card
gpu_unlock.targets=0000:21:00.0,0000:22:00.0      # comma-separated list

地址与 GPU 编号和显示角色无关。任何不是 GA102/GA103/GA104/GA106 的卡——包括把 all 和地址混用——都会被记录并忽略。不管你有几张卡,解锁总共大约需要一秒;每张卡单独处理,已经被绑定或已断电的卡会被跳过。

第 3 步——重启并验证

重启,然后查看内核日志:

journalctl -k -b | grep gpu_unlock
lspci -nnk -s 0000:21:00.0   # your card's address

然后运行你常用的 FP16/BF16 工作负载或 GEMM 基准测试做对比。有几个行为值得知道:

回滚——如何撤销一切

常规退路就是一个参数

从内核命令行里删掉 gpu_unlock.targets= 再重启——就不会发生解锁。想临时用原厂方式启动一次,就在引导加载器的编辑界面里删掉这个参数。卸载软件包也会移除模块和 initramfs 的 drop-in。按设计,显卡、它的固件或 NVIDIA 驱动都不会被永久修改——这就是上游文档描述的回滚路径。

有一种失败模式要认真对待:如果某张卡上运行的固件始终没有停下来,模块会记录下来,并刻意保留那固件可能仍在使用的 DMA 缓冲区,直到下一次关机。重试前先关机——不要一直去戳它。

许可证与来源

内核模块和本地打包是 GPL-2.0-only。生成的载荷派生自固定的 CMP 参考实现;NVIDIA 固件仍受其自身条款约束——归属说明见项目的 firmware/NOTICE.md 和 licenses/ 目录。如果它对你有用,项目页里有支持其作者的方式。

发现问题,或者有张卡能用?

项目明确征集兼容性报告——不管成功还是失败。尤其是 GA103 显卡目前还没有任何报告。提交你的报告是让这份列表更快变准的最快方式。