CL · Crypto reference
RU
Cryptolexicon
Software

amdvbflash (ATIFlash): how to flash an AMD GPU BIOS for mining

amdvbflash guide: choosing a version, BIOS backup and sources, Polaris timings, flashing one card or a rig, fixing Adapter not found and a black screen.

06.09.202618 min readCryptolexicon Editorial Team
#amdvbflash#bios#amd#gpu-mining

amdvbflash (formerly ATIFlash; the archives ship amdvbflash.exe and, in older builds, amdvbflashWin.exe) is AMD's command-line utility for reading and writing the BIOS of Radeon graphics cards. Miners use it to flash a modified BIOS with tightened memory timings and lower voltage onto RX 470/480/570/580 and Vega, and on RX 5000/6000/7000 to restore a stock image or cross-flash another vendor's official BIOS. This guide covers which version to use for your card, backup, image selection, timing edits, flashing one card and a whole rig, recovering a bricked card and the common errors.

If your goal is lower power draw or more hashrate on RX 6000/7000, start with MSI Afterburner and overclocking: on those cards flashing gains almost nothing while the risk stays the same. NVIDIA has a different procedure and different limits — see NVFlash and flashing an NVIDIA BIOS.

⚠️ Read this first. Flashing the BIOS voids the warranty with most vendors and, done wrong, leaves the card with a black screen. A power cut or a reboot during the write corrupts the image. Backup first, everything else second. Everything below is at your own risk.

📌 Status as of September 2026: flashing a BIOS for hashrate remains a Polaris- and Vega-era tool. On RX 5000/6000/7000/9000 and any RTX card a modified image will not boot — timings, voltage and power limit are set in software there (MorePowerTool, the driver, miner switches). For those cards amdvbflash is for backup, rollback to stock and cross-flashing an official BIOS only.


What you can flash and what you cannot: Polaris, Vega, Navi

Unlike NVIDIA, where BIOS signing closed the door on modification back at the GTX 900, AMD's line runs between generations:

GenerationCardsModified BIOSCross-flashing another official BIOSamdvbflash version
Polaris (GCN 4)RX 460/470/480, RX 550/560/570/580/590Yes, this is the main use case: timings, voltage, clocksYes, if memory and board match2.93
Vega (GCN 5)RX Vega 56/64, Radeon VIIYes, with caveats (PowerPlay table, Soft PowerPlay)Yes (Vega 56 → Vega 64 BIOS is the classic)2.93
Navi 1x (RDNA)RX 5500/5600/5700No: the BIOS is signed, the card rejects an altered imageYes, official images3.x — 5.0.x
Navi 2x (RDNA 2)RX 6400 — 6950 XTNoYes, but newer tool builds block ID mismatches3.20 — 5.0.x
Navi 3x (RDNA 3)RX 7600 — 7900 XTXNoLimited5.0.567+

What amdvbflash can flash: Polaris, Vega, Navi

In practice:

  • RX 470/480/570/580 is the card this whole procedure exists for: correctly flashed timings give roughly +15–25 % hashrate on Ethash-style algorithms, the exact number depends on the memory chip.
  • RX 5000/6000/7000: timings and voltage are set in the driver, not the BIOS. MorePowerTool (MPT) writes a Soft PowerPlay table to the registry, and miners like TeamRedMiner take timing switches. Flashing only makes sense to roll back to stock or to get a higher power limit BIOS from another vendor of the same board.
  • Cross-flashing on Navi (say, an XT-variant BIOS onto a non-XT) is blocked by SSID checks in builds 3.x and later. The community uses the old 2.93 for that: it does no checks, and all responsibility is yours.

What you need before you start

  • amdvbflash in the right version from TechPowerUp — Downloads → ATIFlash / AMD VBFlash. Do not take archives from forums or file hosts: a tampered flashing tool is a fast way to lose a card.
  • A BIOS image (.rom): stock from your own backup, official from the TechPowerUp VGA BIOS Collection, or your modified one.
  • GPU-Z to read the Device ID, Subsystem ID, memory vendor and current BIOS version.
  • A BIOS editor for Polaris: Polaris BIOS Editor (PBE) 1.7.x or Red BIOS Editor (RBE). For Vega — RBE.
  • atikmdag-patcher — after a modified BIOS on Polaris the AMD driver reports Code 43, the patcher fixes that.
  • A USB stick or cloud folder for a copy of the backup off the rig.
  • A second GPU or integrated graphics — not mandatory, but it makes recovery far easier.

Where to get everything (all tools are free):

ToolSourcePurpose
amdvbflash 2.93 / 5.0.874TechPowerUp → Downloads → ATIFlashRead and write the BIOS
VGA BIOS CollectionSame TechPowerUp, VGA BIOS sectionStock images by vendor, model and memory
GPU-ZTechPowerUpCard IDs, memory type, BIOS version
Polaris BIOS Editor 1.7.xThe project repository on GitHubTimings and voltage on Polaris
Red BIOS EditorThe author's site (igor'sLAB)Polaris and Vega, advanced editing
atikmdag-patcherThe project repository on GitHubCode 43 after a modified BIOS

We deliberately do not link the editor repositories: projects move, and fake "improved" builds are common. Search by the exact name and verify the author.

📌 Status as of September 6, 2026: the latest build on TechPowerUp is amdvbflash 5.0.874 from November 25, 2025. For Polaris and for cross-flashing you still need 2.93, listed under "Show older versions" on the same page. Check the version and checksum on the download page before downloading.

💡 The newer builds (3.x and 5.x) need their own driver: the archive contains AMDVBFlashDriverInstaller.exe, and without it the tool will not see the card. Version 2.93 installs its driver on first run. Do not keep two versions installed at once: uninstall the driver with the same .exe before switching.

AMD BIOS flashing procedure: six steps


Step 1. Preparation

  1. Extract the archive to a short path with no spaces: C:\atiflash.
  2. For builds 3.x/5.x, run AMDVBFlashDriverInstaller.exe and wait for the install confirmation.
  3. Put the BIOS file in the same folder and give it a short name: rx580.rom. A typo in the flash command is a real risk; a short name removes it.
  4. Close the miner, MSI Afterburner, HWiNFO, GPU-Z and anything else holding the GPU.
  5. Open Command Prompt as administrator: Win + R → cmd → Ctrl + Shift + Enter.
  6. Go to the folder:
cd C:\atiflash

🛡️ Windows Defender may delete amdvbflash.exe or atikmdag-patcher.exe as potentially unwanted. Add C:\atiflash to the exclusions in advance — the steps are in Windows Defender blocks miners.


Step 2. Identify the cards and back up

First see what the tool detects:

amdvbflash.exe -i

The output is a table of adapters numbered 0, 1, 2… with the Device ID (PCIID), Subsystem ID (SSID), flash chip type and size. Details for one card:

amdvbflash.exe -ai 0

The lines that matter are Bios P/N, Bios Version, Flash Type … (KB) and ROM Image Type — on Navi the image is hybrid (Legacy + EFI), and that matters when choosing a replacement.

Now the backup. Every card, every time, before any flash:

amdvbflash.exe -s 0 backup0.rom

For a six-card rig, six commands with different numbers and file names:

amdvbflash.exe -s 0 backup0.rom
amdvbflash.exe -s 1 backup1.rom
amdvbflash.exe -s 2 backup2.rom
amdvbflash.exe -s 3 backup3.rom
amdvbflash.exe -s 4 backup4.rom
amdvbflash.exe -s 5 backup5.rom

Copy every backupN.rom to a USB stick or the cloud. If a card goes black, this is the only guaranteed way back — and it must not sit on a rig disk that might not boot.

💡 Take the backup with amdvbflash, not GPU-Z: on Navi, GPU-Z sometimes misses the EFI part of the image, and a restore from that file fails.


Step 3. Choose the BIOS: three values that must match

Open GPU-Z and note for the card:

ValueWhere in GPU-ZIf it does not match the image
Device ID (the chip)Main tab, Device ID field, e.g. 1002 67DFDo not flash. An image from another chip will not boot, and -f will not help
Subsystem ID (board and vendor)Same field, second part, e.g. 1DA2 E366Different VRM and layout. On Polaris 2.93 will write it, but the card may not start or may fail on power delivery
Memory vendor and typeAdvanced → General → Memory Timings, or the Memory Type lineDo not flash. Samsung timings do not fit Hynix or Micron: the card either fails to start or throws memory errors
Flash chip sizeamdvbflash -ai N, Flash Type lineThe image must physically fit; 256 KB on Polaris, 1 MB on Navi

Stock images for a specific model live in the TechPowerUp VGA BIOS Collection, filtered by vendor, model and memory type. On Sapphire cards part of the SSID is printed on the P/N sticker — check against it.

⚠️ Important. The most common cause of a bricked Polaris after flashing is an image for the wrong memory. The same RX 580 from the same vendor ships with Samsung, Hynix or Micron in different batches. Go by the memory line in GPU-Z, not by the model name.


Step 4. Editing timings on Polaris

If you are flashing a ready-made modified image from a trusted source, skip this step. If you are making your own:

  1. Open backup0.rom in Polaris BIOS Editor 1.7.x.
  2. Click One click timing patch: the editor copies the timing strap from 1500 MHz (1750 in some versions) to all higher frequencies. That is 90 % of the "mining mod".
  3. Optionally lower the GPU clock to 1150–1200 MHz and the VDDC table to 850–900 mV — exact values are per chip, start conservative.
  4. Save as rx580mod.rom. PBE recalculates the checksum itself.

Red BIOS Editor does the same and more (manual strap editing, PowerPlay, fans) but requires understanding what you change.

💡 Do not paste someone's "best timings" from a chat into your BIOS: they were tuned for a specific chip and are often unstable. The one-click patch plus a careful undervolt is more stable and delivers nearly the same result.


Step 5. Flashing

The basic command is the adapter number and the file:

amdvbflash.exe -p 0 rx580mod.rom

The tool compares the IDs of the image and the card. If they match, it writes and ends with VBIOS was programmed successfully. If not, it reports the error and refuses. The force switches:

SwitchWhat it bypassesWhen acceptable
-fThe general compatibility checkModified image on Polaris/Vega
-faThe Asic ID checkCross-flash within the same chip
-fpThe board P/N checkAnother vendor's official BIOS for the same board
-fsThe SSID checkSame, at a known risk
-fmThe memory model checkPractically never. Wrong memory type means a dead card

The typical command for a modified Polaris image:

amdvbflash.exe -f -p 0 rx580mod.rom

Cross-flashing an official image on Navi with 2.93:

amdvbflash.exe -p 0 rx6800xt.rom -fa -fp

If the tool reports ROM not erased or Cannot erase ROM, some cards need write protection lifted first:

amdvbflash.exe -unlockrom 0

While it writes, touch nothing. No reboot, no closing the window, no power cut. Those 10–20 seconds are where bricks happen.

After success — a full shutdown, not a restart: power off, unplug for 20–30 seconds, power on. Then confirm in GPU-Z that the BIOS version changed.


Step 6. Driver and Code 43

After a modified BIOS on Polaris the AMD driver verifies the image signature and disables the card: Device Manager shows "Code 43". The fix is patching the driver:

  1. Run atikmdag-patcher.exe as administrator.
  2. Wait for Found: 1, Patched: 1 (or another match count) → Yes.
  3. Reboot.

Repeat the patch after every driver update. It is not needed on Navi: modified images do not boot there anyway, and official ones are signed.


Flashing a whole rig

Flash one card at a time, by adapter number, and only after confirming every card has the same memory. If the rig mixes Samsung and Hynix, you need two images, and mixing them up is not an option.

amdvbflash.exe -i
amdvbflash.exe -f -p 0 rx580mod.rom
amdvbflash.exe -f -p 1 rx580mod.rom
amdvbflash.exe -f -p 2 rx580mod.rom

Slow, but an error costs one card instead of six. Adapter numbering does not always follow slot order on the board: match by SSID and memory type from -i, not by riser position.

💡 Do not run an "all cards at once" .bat script before a successful manual pass. The script will not stop on an error and will run to the end even if the first card already refused the image.


Recovery: black screen after flashing

If the system does not start with the flashed card, or the screen is black, the card is usually still alive. In order:

Black screen after flashing: decision tree

1. The BIOS switch. Sapphire Nitro, MSI Gaming, XFX and many other Polaris cards have a dual-BIOS toggle near the edge of the board. Power the rig off, move the switch to the other position, boot on the backup image, flash your backup into the main slot, move the switch back. This is the fastest route.

2. A second card or integrated graphics. Plug the monitor into the iGPU or any working GPU and leave the bricked card in its slot with no cable. Windows boots, the driver will not load on the broken card, but amdvbflash sees it on the PCI bus:

amdvbflash.exe -i
amdvbflash.exe -f -p 1 backup1.rom

The number is the one the bricked card shows under in the list. Do not guess: flashing the backup into the wrong card creates a second problem.

3. The card does not appear in -i at all. Then the flash chip is not responding and software cannot fix it. What remains is a CH341A programmer with a clip (the flash chip on Polaris is an ordinary 8-pin SPI part) or a repair shop.

If the miner still will not start after a successful recovery, the causes are covered in miner won't start: 8 causes.


Command cheat sheet

CommandAction
-iList adapters with numbers, IDs and flash chip type
-ai NDetailed information about card N
-s N file.romSave the BIOS of card N to a file
-p N file.romFlash the file into card N
-v N file.romCompare the file against the card without writing
-biosfileinfo file.romShow image data: chip, memory, version
-unlockrom NLift write protection on cards that have it
-f, -fa, -fp, -fs, -fmForce switches, see the table above

Syntax differs slightly between 2.93 and 5.x (older builds write some switches without a space, e.g. -p0); on Invalid option, run amdvbflash.exe with no arguments and read the help for your version.


Errors and fixes

Adapter not found / an empty list from -i. The tool sees no card. Check in order: Command Prompt is running as administrator; for 3.x/5.x, AMDVBFlashDriverInstaller.exe is installed; the miner and monitoring tools are closed; your tool version knows your chip (RX 7000 needs 5.0.567, and 2.93 does not see them). If the card is also missing from Device Manager, the problem is the riser, power or slot.

SSID mismatch / Subsystem ID mismatch. The image is from another vendor's board. On Polaris, -fp or -fs if memory and layout match; on Navi, builds 3.x+ will not allow it, you need 2.93 and a clear reason.

Memory type mismatch. Stop. The image is for different memory. Find the right one; do not use -fm.

ROM not erased / Cannot erase ROM. Write protection: try -unlockrom N, then repeat -p. On some cards, disabling the adapter in Device Manager before flashing helps.

Code 43 in Device Manager after flashing. The driver rejected the modified image — atikmdag-patcher, see step 6.

The card starts but the miner throws memory errors or rejected shares climb. The timings are too aggressive for this chip. Return a softer strap or raise memory voltage by 10–20 mV; how to tell card problems from pool problems is in rejected shares.


Frequently asked questions (FAQ)

Which amdvbflash version do I need for an RX 580?

2.93. The newer 3.x/5.x builds either refuse a modified image or do not work with Polaris at all. It is under the older versions section on the TechPowerUp page.

Can I flash a modified BIOS onto an RX 6600 / 6700 XT?

No. From Navi onward the image is signed, and a card with an altered BIOS does not start. Timings and voltage on RDNA are set through MorePowerTool or miner switches, without flashing.

How much does a timing flash give on an RX 570/580?

On Ethash-style algorithms, roughly +15–25 % hashrate at the same or lower power; on core-bound algorithms the difference is minimal.

Should I flash a Vega 56 with a Vega 64 BIOS?

That gave a gain in the Ethash era through a higher power limit and memory clock, but the same result now comes from Soft PowerPlay without flashing. If you do flash — only an image with the same memory type (Samsung HBM2 vs Hynix HBM2) and only with a backup.

How do I put everything back?

amdvbflash.exe -f -p N backupN.rom, full shutdown, remove the driver patch (reinstall the AMD driver). That is why the backup comes first.

Where do I download amdvbflash safely?

From TechPowerUp. Any "improved" or "unlocked" builds from forums are at your own risk: this tool has direct access to the flash chip, and a tampered copy is expensive.


Conclusion

Flashing an AMD card is five commands: -i → -s backup → choose an image by memory and ID → -p (with -f for a mod) → full shutdown, plus atikmdag-patcher on Polaris. The hard part is not the commands but the selection: the right tool version for the card generation and the right image for your memory. Check both twice, keep the backup off the rig, and leave the dual-BIOS switch in a position you remember.

No backup, no flashing.

This material is for informational purposes only and is not financial advice. Flashing a GPU BIOS is done at your own risk and may void the warranty; tool versions and gain figures are as of September 6, 2026 and may change.

Related articles