Panchovix / nvidia-windows-vbios-vix-loader
git clone https://github.com/Panchovix/nvidia-windows-vbios-vix-loader.git
v0.3.1 · 1d ago
Load a modified VBIOS for NVIDIA GPUs on Windows through the driver's registry override, without flashing
—
stars, 24h
+132
stars, 7 days · #393
+132
stars, 30 days · #1,782
132
★ total · +132% this week
13
forks · 3 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguagePython
LicenseGPL-3.0
Created2026-10-16 (4d ago)
Last pushtoday
Watchers2
OwnerUser
Links
- GitHub: github.com/Panchovix/nvidia-windows-vbios-vix-loader
- Releases · Issues · Hacker News mentions
README excerpt
# NVIDIA Windows VBIOS Vix Loader
English | Español
Loads a modified VBIOS for an NVIDIA GPU on Windows **without flashing it**. The image is stored in the
GPU's driver registry key, where the NVIDIA driver looks for a VBIOS override when the device starts, and
the device is restarted. `verify` checks that the driver is running it, and `unload` removes it again. The
card's flash chip is never written.
Works with NVIDIA 616.x and 617.x drivers (616.56 or newer; tested on 617.42 and 617.70). It may stop working
in a future driver if NVIDIA decides to change or remove the registry override, so click **Verify** after every
driver update.
Thanks to **@pantsoftime** (overclock.net), whose original `vbios_override` work
this project family is built on. Without it, none of this would have been possible.
To modify the VBIOS, use NVIDIA VBIOS Vix Editor.
For Linux, see NVIDIA Linux VBIOS Vix Loader.
This repository only loads the VBIOS on Windows.
This project is not affiliated with or endorsed by NVIDIA. NVIDIA and GeForce are trademarks of NVIDIA
Corporation.
> **Warning.** A modified VBIOS can raise power, clocks and voltages beyond the card's design limits. You can
> damage hardware. Keep a copy of your original ROM and use this at your own risk.
## What it does
`load` writes these values in the GPU's driver key,
`HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\NNNN`:
| Value | Type | Content |
| --- | --- | --- |
| `vbios` | REG_BINARY | The VBIOS image chain from your file: from the legacy image to the end of the last image. Bytes before and after it in the file are not stored. |
| `EnableGpuFirmware` | REG_DWORD | `0x11` (GSP firmware on, fallback allowed). |
| `VixLoaderPreviousEnableGpuFirmware` | REG_SZ | The previous `EnableGpuFirmware` value, or `absent`. Saved on the first `load` only, so `unload` can restore it. |
It also deletes `romOverride00` to `romOverrideFF` if present, flushes the key, reads the values back and
restarts the GPU with `pnputil /restart-device`. If the restart fails, restart Windows.
These are the same `vbios` and `EnableGpuFirmware` values that mVolt+ writes when it loads a BIOS file, so a
BIOS loaded with mVolt+ on the same GPU is replaced. This project is not affiliated with mVolt+. Other values
in the key are left alone.
`unload` deletes `vbios` and any `romOverride` records, restores `EnableGpuFirmware` (or deletes it if it was
absent), deletes `VixLoaderPreviousEnableGpuFirmware` and restarts the GPU.
It does **not** flash the card, edit the VBIOS, or change clocks, fans or power limits by itself. `unload`
returns the key to its state before the first `load`, except that an override written by another tool
(mVolt+ `vbios` or `romOverride` records) is not restored; in that case `load` says so, and `unload` leaves
`EnableGpuFirmware` as that tool set it.
## Status
| GPU family | State |
| --- | --- |
| Blackwell GB20x (GeForce RTX 50, RTX PRO Blackwell) | Uses the same registry value