Flashing a GPU BIOS — replacing the firmware that initialises your graphics card's hardware — is one of the most direct ways to modify power limits, unlock performance headroom, or recover a card that shipped with suboptimal factory settings. The procedure has been part of the PC hardware enthusiast toolkit since the early 2000s, and while the tooling has evolved across GPU generations, the fundamental steps remain consistent: back up the current firmware, verify compatibility, write the new firmware, reboot.

This guide covers the full process for 2026 hardware generations. NVIDIA users will work with nvflash 5.8xx, which supports Ada Lovelace (RTX 40) and Blackwell (RTX 50) architectures. AMD users with RX 6000 series and older can continue with ATIFlash 4.x; RX 7000 and RX 9000 series cards require AMD's newer VBFlash utility. For cards with BIOS editing requirements — adjusting power tables, clock targets, or fan curves — see the companion NiBiTor guide (NVIDIA) or the AMD BIOS flash guide which covers MorePowerTool integration.

Safety Checklist — Read Before Proceeding

GPU BIOS flashing is a low-risk procedure when executed correctly, but a small number of failure modes produce non-recoverable results (a "bricked" card). The checklist below addresses every common failure vector:

VRAM Compatibility Is Not Negotiable
A BIOS built for 16 GB GDDR7 cannot be safely applied to a 12 GB GDDR6X card. The BIOS contains memory initialization tables calibrated to the physical VRAM — capacity, chip manufacturer, and timing parameters. A mismatch causes VRAM initialization failure at POST. If your card has a non-standard VRAM configuration (factory modified or reballed), ensure the source BIOS explicitly lists your VRAM configuration.

Backing Up the Current GPU BIOS

Saving the current firmware is mandatory before any flash operation. The backup is the only reliable recovery path if the flash is interrupted or the new BIOS behaves unexpectedly.

NVIDIA — nvflash

Download nvflash from the community repository that matches your GPU generation. Ensure it is at least version 5.800 for RTX 40 series cards. Extract the archive to a directory — avoid paths with spaces.

Open a command prompt as administrator (Windows) or terminal with sudo (Linux). Navigate to the nvflash directory and run:

nvflash --save original_bios.rom

On multi-GPU systems, specify the target card:

nvflash --list
nvflash -i 0 --save gpu0_original.rom

The tool will report the device ID, SubVendor ID, BIOS version, and file size. A successful backup on a modern card is 512 KB to 2 MB. A file under 10 KB indicates a read error — do not proceed with flashing until the backup reads correctly.

On Windows, if nvflash returns an error about protected access, run:

nvflash --protectoff

Then retry the save operation in the same session.

AMD — ATIFlash / VBFlash

For R9 through RX 6000 series, use ATIFlash 4.x. For RX 7000 and RX 9000, use AMD VBFlash. The save syntax is identical:

ATIFlash -s 0 original_bios.rom
vbflash -s 0 original_bios.rom

The 0 is the adapter index. List all adapters with ATIFlash -i or vbflash -i. Save the backup to a USB drive before proceeding.

NVIDIA GPU BIOS Flashing with nvflash

With a verified backup saved, the flash procedure follows a standard sequence. The examples below use Windows syntax; Linux commands are identical except file paths use forward slashes and the tool may require sudo.

Standard Flash (same device ID and SubVendor ID)

When applying a BIOS from the exact same card model — for example, restoring a factory BIOS or applying an official revision from the card manufacturer's website — the standard flash command works without override flags:

nvflash modified_bios.rom

nvflash will display the source and target BIOS version strings and prompt for confirmation before writing. Type y to proceed.

Cross-Flash (different SubVendor ID)

When applying a BIOS from a different AIB partner — for example, flashing an MSI Gaming X BIOS onto an MSI Gaming Trio that shares the same die revision and PCB layout — the SubVendor ID check must be overridden:

nvflash -6 target_bios.rom

The -6 flag (equivalent to --overridesub in some nvflash versions) disables the SubVendor ID check. This does not disable the device ID check — if the GPU die IDs do not match, the flash will still be rejected.

nvflash Version Compatibility (2026)

GPU Architecture GPU Series Minimum nvflash Flash Support BIOS Edit Support
KeplerGTX 600 / 7005.160FullFull (NiBiTor)
MaxwellGTX 9005.170FullFull (NiBiTor)
PascalGTX 10 / Titan Xp5.340FullFull (NiBiTor)
TuringRTX 20 / GTX 165.580FullPartial (NiBiTor)
AmpereRTX 305.710FullLimited (signed partitions)
Ada LovelaceRTX 405.800FullLimited
BlackwellRTX 505.820Partial (signed)Restricted

RTX 50 Series (Blackwell) — Important Notes

Blackwell introduces enhanced firmware signing that restricts unsigned BIOS modifications. Direct flashing between validated AIB BIOSes still works — for example, applying an updated RTX 5080 BIOS released by ASUS to replace an older RTX 5080 ASUS BIOS. However, modified BIOSes (power table edited, device ID changed) are blocked by signature validation on Blackwell. nvflash 5.820 or later is required; earlier versions will reject the card during device detection.

AMD GPU BIOS Flashing

AMD's toolchain for BIOS flashing split between ATIFlash (used for GCN through RDNA 2) and VBFlash (RDNA 3 / RX 7000 and RDNA 4 / RX 9000). Both tools share similar syntax but are distributed separately.

ATIFlash — RX 6000 and Older

ATIFlash -f -p 0 target_bios.rom

The -f flag forces the flash and suppresses the compatibility confirmation prompt. The -p 0 specifies adapter 0. Without -f, ATIFlash will prompt for confirmation; with it, the flash proceeds immediately after device ID validation.

VBFlash — RX 7000 and RX 9000

vbflash -f -p 0 target_bios.rom

The command structure mirrors ATIFlash. For RX 9000 series, ensure vbflash is a build dated 2025 or later — earlier builds pre-date RX 9000 (RDNA 4) device IDs and will fail during card detection.

MorePowerTool (Power Table Modification Without Full Replacement)

For RX 5000 through RX 9000 series, AMD's Soft Power Play Tables allow live power limit modification via the registry (Windows) without writing to the flash chip. MorePowerTool provides a GUI for generating these registry entries. This approach is lower-risk than flash replacement — the change is reverted by uninstalling MorePowerTool's registry keys or by reinstalling the AMD driver. However, the power limit increase is bounded by the maximums the driver will accept, which are lower than the hard limits achievable via direct BIOS modification on RDNA 2 and RDNA 3.

GPU BIOS Flash Process — Decision Flowchart

GPU BIOS flash decision flow — from device identification through post-flash verification

Embed

Troubleshooting Common Flash Errors

Most nvflash and ATIFlash errors fall into a small number of categories. The error codes and their causes:

ErrorToolCauseResolution
"No NVIDIA display adapter found"nvflashDriver protection blocking direct access, or GPU not detectedRun nvflash --protectoff first, or boot to safe mode
"SubVendor ID mismatch"nvflashTarget BIOS has different AIB SubVendor IDUse -6 flag if PCB layout is confirmed compatible
"ROM image is not compatible"nvflashDevice ID mismatch — wrong GPU dieFind BIOS matching exact device ID; do not override
"Error -105"ATIFlashBIOS file header invalid or truncatedRe-download the BIOS ROM file from the source
"Adapter not found"ATIFlashWrong adapter index or driver not loadedRun ATIFlash -i to list detected adapters
System freezes mid-flashBothDriver conflict, security software intercepting writesDisable AV/EDR, run in safe mode or Linux

Recovery Procedures for Bricked Cards

A "bricked" card — one that fails to produce display output after a failed flash — is recoverable in most cases. The recovery path depends on available hardware.

Option A: Dual-BIOS Switch Recovery

If the card has a dual-BIOS switch: power down, toggle to the backup slot, boot normally. The card should POST from the backup BIOS. From a running OS with the card functional, reflash the primary slot using the correct BIOS.

Option B: Secondary GPU Recovery

Install a secondary GPU (integrated graphics or a spare discrete card) to provide display output. Boot with the bricked card installed as a secondary adapter. The bricked GPU will appear in Device Manager without display output. Run nvflash or ATIFlash targeting adapter index 1 (or the appropriate index) to reflash the bricked card while the system is running from the secondary GPU.

Option C: SPI Programmer (Hardware Recovery)

For cards with no dual-BIOS and no secondary GPU available, a hardware SPI programmer (CH341A and equivalent, available for under $10) can write directly to the flash chip. This requires: identifying the flash chip on the PCB (typically a SOIC-8 or WSON-8 package), connecting the programmer's clip, and using flashrom or the programmer's software to write the backup BIOS. This procedure is within the reach of anyone comfortable with basic electronics work.

Option D: Hot-Flash

On systems with PCI-e hot-plug capability (some HEDT platforms): boot without the bricked card installed, insert the card after the OS has fully loaded, and flash while it is enumerated as a secondary device. Reliability varies by platform and is the last resort before hardware intervention.

Frequently Asked Questions

What version of nvflash works with RTX 40 and RTX 50 series?
nvflash 5.800 and later are required for Ada Lovelace (RTX 40). For Blackwell (RTX 50), nvflash 5.8xx is functional but editing BIOS content is restricted by enhanced firmware signing. Always download nvflash from GPU-specific community threads — the binary version must match or exceed the firmware generation of the target card.
What is the nvflash -6 flag and when is it required?
The -6 flag instructs nvflash to bypass the SubVendor ID check and allow flashing a BIOS with a different SubVendor ID than the installed card. It is typically required when cross-flashing between AIB variants that share the same die revision and PCB layout. Use with care: bypassing SubVendor checks does not bypass device ID checks, and applying a BIOS from an incompatible PCB revision can brick the card.
Can I use ATIFlash on an RX 9000 series card?
ATIFlash 4.x does not reliably support RDNA 4 (RX 9000 series). AMD's VBFlash utility is required for RX 9000 firmware operations. Command syntax is compatible: vbflash -s 0 backup.rom to save, vbflash -f -p 0 target.rom to flash.
How do I find my GPU's device ID?
GPU-Z reports the Device ID on the main tab. Windows Device Manager → Display adapters → Properties → Details → Hardware IDs shows the full PCI ID string. Running nvflash --version before any flash operation outputs both device ID and SubVendor ID of the installed card.
What is the SubVendor ID and why does it matter?
The SubVendor ID identifies the AIB manufacturer: ASUS 0x1043, MSI 0x1462, Gigabyte 0x1458, EVGA 0x3842, Sapphire 0x1DA2. nvflash validates the embedded SubVendor ID against the installed card by default. The -6 flag overrides this check for legitimate cross-flashing scenarios.
How long does a GPU BIOS flash take?
The erase and write cycle completes in 5–30 seconds. The full process including reboot is under 3 minutes. Never interrupt power or close the terminal during the operation — partial writes are the primary cause of bricked cards.
Do I need to disable the driver before flashing?
For nvflash on Windows, standard drivers work for most cases but nvflash --protectoff may be needed on Windows 10/11 with driver protection active. On Linux, booting to a text console without X11/Wayland is the cleanest approach. For AMD with ATIFlash, the Windows driver must be installed but no GPU-intensive workloads should be running.
Can I flash a laptop GPU BIOS?
Most laptop GPUs cannot be flashed with standard tools. Laptop OEMs implement write-protect signals from the EC that block BIOS writes. Attempting to flash an incompatible BIOS on a laptop GPU almost invariably results in a dead system requiring EC-level recovery.
What does the nvflash --list output mean?
nvflash --list enumerates all NVIDIA GPUs with each card's index number, PCI bus address, device ID, SubVendor ID, and current BIOS version. Use the index with -i to target a specific GPU in multi-GPU systems — for example nvflash -i 1 --save gpu1.rom.
What is the risk of flashing a BIOS with higher power limits?
The practical risks are: (1) insufficient PSU capacity at the new TDP; (2) VRM thermal stress on AIBs with components rated to factory TDP; (3) warranty implications. The GPU die itself is unlikely to be damaged by modest increases (10–20%) as hardware protection circuits remain active regardless of firmware power table values.
Can I restore the original GPU BIOS after flashing?
Yes — restoring uses the same flash command with the backup file: nvflash -6 original.rom or ATIFlash -f -p 0 original.rom. This is the standard procedure before returning a card for warranty service.
What is a dual-partition UEFI BIOS in modern GPUs?
Modern GPUs (RTX 30+ and RX 6000+) contain both a legacy VBIOS segment and a UEFI GOP partition. The GOP handles display output during the UEFI boot phase. Both partitions are overwritten during a standard flash. NiBiTor and AMD editors work primarily on the VBIOS segment — the GOP partition is generally not modified by enthusiast tools.
How do I know if the flash was successful?
After reboot: GPU-Z should show the new BIOS version string, the system should POST normally, and the GPU driver should load without errors. If the version string is unchanged, the flash did not take — retry. If there is no display output, follow the recovery procedures above.
Can I flash a BIOS from a different VRAM capacity?
No. A BIOS built for 16 GB cannot be applied to a 12 GB card. The VBIOS contains memory initialization tables calibrated to the physical VRAM — capacity, chip manufacturer, and timing parameters. A mismatch causes VRAM initialization failure at POST and typically results in a bricked card.
Is there a GUI tool for NVIDIA BIOS management other than NiBiTor?
GPU-Z has a BIOS save function (the save icon next to the BIOS version field). For editing, NiBiTor remains the most complete GUI for pre-Ampere architectures. For Ampere and Ada, firmware signing restricts most table editing regardless of tool. See the full NiBiTor guide for architecture-specific guidance.
What is the GPU BIOS version string?
A text identifier embedded in the VBIOS identifying firmware revision, build date, and manufacturer. NVIDIA uses a dotted version like 94.02.42.00.17; AMD AIBs include date codes and board revision markers. The version string confirms a successful flash when the new BIOS differs from the backup — if the string is unchanged after flashing, the write did not succeed.