Beefy NVIDIA GPUs are rarer and pricier than ever. Even if you have one, it turns out the card is holding back on you. NVIDIA caps the tensor cores on GeForce cards to half speed for the FP16, BF16, and TF32 math that most AI work runs on. The same silicon in NVIDIA’s pro cards runs at full speed, because those cost a lot more.
In October, developer Zagitta released gpu-unlock, a free, open-source tool that removes that fake bottleneck on RTX 20, 30, and 40 series cards.
What’s gpu-unlock?
Your NVIDIA card has been holding you back
gpu-unlock is a small Linux kernel module that removes NVIDIA’s speed limit on your card’s tensor cores every time you boot. It runs before the NVIDIA driver loads, switches the tensor cores to full speed, and then hands the card back to the factory driver.
How well it works depends on your card. RTX 30 cards are stable, with over 100 user reports (including my RTX 3090). RTX 40 and RTX 20 support is still experimental. RTX 50 cards aren’t supported, and the developer doesn’t expect that to change.
The gains are in tensor core math. On paper, tensor throughput doubles. An RTX 3090 goes from 75 to 125 TFLOPS in BF16 matrix math. In real workloads, prompt processing gets 25–55% faster, fine-tuning 25–50%, and image generation 30–55%. It doesn’t do anything for gaming — sorry gamers.
The official release is for Linux only. Another developer has built an experimental Windows version, though it only supports specific GPU and motherboard combos. Zagitta also warns to be very careful with other Windows installers floating around. Then again, if you’re serious about your local LLM setup, you’re probably on Linux already.
How to install gpu-unlock
It’s mostly just a reboot
Messing with how your NVIDIA GPU boots sounds like advanced work, but it really only takes minutes. Actually, the rate-limiting step of this installation is how fast you can reboot your computer.
Setup has three steps: build and install the module, tell your kernel to use it, and reboot.
Clone the repo and build the module
Use Git to clone the gpu-unlock repository, then enter the folder:
git clone https://github.com/Zagitta/gpu-unlock
cd gpu-unlock
If you want benchmarks to compare against after the unlock, now’s a good time to run them!
Once you’ve got your numbers, build and install:
make install
This detects your distro, grabs the dependencies, downloads the NVIDIA files it needs, and builds everything locally. It’ll ask for your sudo password along the way.
2. Tell your kernel to use it
The module sits there doing nothing until you tell your kernel to use it at boot. There’s a good chance your setup uses GRUB. In that case, open the config file:
sudo nano /etc/default/grub
Early in the config, find the GRUB_CMDLINE_LINUX_DEFAULT line and add gpu_unlock.targets=all inside the quotes, after whatever’s already there:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash gpu_unlock.targets=all"
Ctrl + O to save, then Ctrl + X to exit. Don’t skip the next command, or GRUB won’t pick up your change:
sudo update-grub
On Arch, use sudo grub-mkconfig -o /boot/grub/grub.cfg instead.
Now, reboot. If the GPU runs your display, the screen will go black for a second during boot. That’s expected.
3. Check the installation
Just the machine booting up without errors is good news already! To make sure it worked, check the kernel log:
journalctl -k -b | grep gpu_unlock
Then rerun your benchmarks and watch the numbers jump.
A few things to keep in mind
Laptops that power down the GPU when idle will quietly reset the unlock. Hibernation isn’t covered either, though regular sleep is fine. Your card will also run a bit warmer, since it’s actually working at full speed now, but NVIDIA’s usual throttling still applies. If you ever want to go back, just remove the flag from your GRUB config and reboot.
There’s a catch for the Ollama crowd. Token generation is limited by memory speed, so it doesn’t speed up at all. Quantized GGUF models in llama.cpp or Ollama gain somewhere between 0 and 15%, mostly at long context. The tool helps most when you’re running unquantized models, fine-tuning, or generating images.