Unofficial guide
Install GPU Unlock on Linux
Four steps. About ten minutes, one cold boot.
01
Find your card
Note the device ID and the full PCI address.
lspci -Dnn | grep -i nvidia
02
Build and install
make install detects Arch, Debian/Ubuntu or Fedora/RHEL and asks for sudo. It downloads the pinned NVIDIA inputs and generates firmware on your machine.
git clone https://github.com/Zagitta/gpu-unlock cd gpu-unlock make install
For an RTX 4090 or other Ada card, use JustAResearcher/gpu-unlock-ada instead.
03
Opt in on the kernel command line
Append the option and keep your existing ones.
gpu_unlock.targets=all
Add it inside GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub, then:
sudo update-grub
Choose targets
| gpu_unlock.targets=all | every supported, unbound card |
| gpu_unlock.targets=0000:21:00.0 | only this card (address from lspci -D) |
| gpu_unlock.targets=0000:21:00.0,0000:22:00.0 | comma-separated list |
04
Cold boot and verify
Power off completely, start again, then look for the unlocked message.
journalctl -k -b | grep gpu_unlock lspci -nnk -s 0000:01:00.0
A loaded module alone proves nothing. You need the card's "gpu_unlock: unlocked" line.
If something goes wrong
Screen goes black during boot
Expected on the display card: it stays blank from the reset until nvidia-drm takes over, usually a second or two.
Nothing is unlocked after boot
The nvidia driver bound the card first, or the card was not cold. Loading the module after boot cannot unlock a bound card. Power off and try again.
Unlock lost after sleep
Suspend to RAM resets the selectors; the module re-unlocks on resume (about one second). Hibernation is not covered.
"firmware did not stop" in the log
The module keeps its DMA buffers on purpose. Do not force-unload it. Power off before trying again.
Undo
Remove gpu_unlock.targets= from the command line. Removing the package also removes the module and initramfs hooks.