非官方指南

在 Linux 上安装 GPU Unlock

四步,大约十分钟,一次冷启动。

01

找到你的显卡

记下设备 ID 和完整的 PCI 地址。

lspci -Dnn | grep -i nvidia
查我的显卡 →

02

构建并安装

make install 会识别 Arch、Debian/Ubuntu 或 Fedora/RHEL,并要求 sudo 权限。它会下载固定版本的 NVIDIA 输入文件,在你本机生成固件。

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

RTX 4090 或其他 Ada 显卡请改用 JustAResearcher/gpu-unlock-ada。

03

在内核命令行中开启

追加这个参数,保留原有参数。

gpu_unlock.targets=all

在 /etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT 里加上它,然后运行:

sudo update-grub

选择目标

gpu_unlock.targets=all所有受支持且未被占用的卡
gpu_unlock.targets=0000:21:00.0只解锁这张卡(地址来自 lspci -D)
gpu_unlock.targets=0000:21:00.0,0000:22:00.0用逗号分隔的多张卡

04

冷启动并验证

彻底断电,重新开机,然后查找 unlocked 消息。

journalctl -k -b | grep gpu_unlock
lspci -nnk -s 0000:01:00.0

模块加载成功不代表解锁成功,必须看到这张卡的 "gpu_unlock: unlocked" 日志。

遇到问题时

开机时黑屏

显示卡会出现这种情况:从重置到 nvidia-drm 接管期间保持黑屏,通常一两秒。

开机后没有解锁

nvidia 驱动先占用了显卡,或者显卡不是冷启动状态。开机后再加载模块无法解锁已被占用的卡。请断电后重试。

睡眠后解锁失效

挂起到内存会重置选择寄存器,模块会在唤醒时重新解锁(约一秒)。休眠(hibernate)不在支持范围内。

日志出现 "firmware did not stop"

模块会故意保留 DMA 缓冲区。不要强制卸载,断电后再重试。

撤销

从命令行删除 gpu_unlock.targets=。卸载软件包也会移除模块和 initramfs 钩子。