Overclock.net banner

amdvbflash modded

3 reading
9.3K views 143 replies 27 participants last post by  TeChNoC4AzY  
#1 · (Edited)
I already shared this in different thread, but I decided to make own thread for it :)

Note: If you want to increase power limits of your card, check also this guide: www.overclock.net/posts/29481571/

Note2: @ApolloX30 has in
his thread (3rd and 4th spoiler) list of tested cards vs vbioses. When you flash some bios (no matter is successfully or not) and it's not listed in the table, please tag him here and write your experience. Thanks!
Here is also google sheet

This is a modded tool for flashing AMD cards (including RDNA4 with version 879) even when SSID mismatch.

Here is screenshot by @RedF on RDNA4:
Image



The 616 version includes also modifications, so it's possible to flash also over corrupted bios in RDNA3 cards. More info in the original post: https://www.overclock.net/posts/29431108/

I will also add some general information about vbios, which I collected meanwhile:
  1. Turn OFF the PC - After bios flash, turn off the PC completely, not just reboot.
  2. Dual partition vbios - from RDNA3 the bios in the card is dual. And I don't mean HW switch for changing OC/Silent bioses. The bios is dual in one ROM chip. One partition is always active and second inactive. The flash tool always flash the inactive partition and this flashed partition became active after successful boot. This luckily can save your card from bricking, when bios flash fails.
    In amdvbflash you can check both partitions using command
    -ai --active
    -ai --inactive

    Here is nice drawing by @RedF :)
    Image


  3. Flash multiple times - After successful flash, I recommend to flash the card only with PartNumber force switch (so only amdvbflash -p 0 romfile.rom -fp), until the tool says that the bios file is the same as in the card (power cycle between each flash of course). For some reason it can take up to 3 flashes. Don't post bios backups without this, as it can lead to flash fail on other cards!
    The reason is, that some people reported weird issues when cross-flashing RX7000 series.
    E.g. power not increased, in worse case black screen after reboot.
  4. Bios changes when flashing - When you flash bios and read it back, it will not be 1:1. It's normal behavior noticed on RDNA3 (and maybe other too). The bios ROM contains some partitions, which are changed with each flash. Some bytes even looks like simple counter. That's also reason why in TPU vbios database you can find so many bioses for RDNA3 which should be identical. Slightly more info here: https://www.overclock.net/posts/29458202/
  5. GPU-Z bios info - GPU-Z is reading only the first partition of the vbios and doesn't care about active/inactive state. That's why you can still see the old bios version after a first flash.


Step-by-step:

Note: for simplicity I wrote in the steps amdvbflash. Of course if it's command in cmd, replace it with correct name of the .exe utility (e.g. amdvbflash_879_Moded_v1).
  1. Download amdvbflash, flashing drivers and DDU.
  2. Extract amdvbflash to some folder and put vbios in the same folder.
  3. Restart to safe mode
  4. DDU old drivers (without reboot)
  5. Install special drivers for flashing (thanks TechPowerUp for them)
  6. open CMD as Admin and cd into folder with amdvbflash
  7. check GPU first with amdvbflash -i and get correct number of your card (important if you have multiple GPU, e.g. integrated).
    This number is referenced in following commands by #
    Image
  8. Always do backup of original vbios! Use command amdvbflash -s # backup_name.rom
  9. Flash vbios using command amdvbflash -p # vbios_name.rom -fp -fv -fa
  10. After flashing power down the PC (don't just reboot).
  11. After you are done with flashing, it's recommended to remove the flashing drivers (because of potential security risk)

Summary:
amdvbflash 5.0.616.0 v2 - up to RDNA3 cross flash and ability to flash over corrupted vbios
amdvbflash 5.0.879.0 v1 - up to RDNA4 cross flash

Warning: Use this tool at your own risk! I bypassed some exceptions in the SW, so in worse case it can lead to even more corrupted vbios! Be sure that you have some backup solution in hand (CH341, second bios switch)! For sure reflash the vbios again using non modified amdvbflash, with PartNumber forcing switch only (amdvbflash -p 0 romfile.rom -fp) until it says that the bioses are the same!
 

Attachments

#4 ·
amdvbflash_879_Moded_v1.exe -p 0 XFX.RX9070XT.16384.241204.rom -fv -fp -fa AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright漏 2020-2025 Advanced Micro Devices, Inc. All rights reserved. Detecting AMD GPU/APU. Please wait... FAILED: Flashing ASIC at[0] @0000:03:00.0 ---------------------------- Failed to flash the VBIOS. Error 0xa0000168 : Generic error with the PSP
 
#5 ·
FAILED: Flashing ASIC at[0] @0000:03:00.0
----------------------------
Invalid gpu index. Please specify valid device index to flash.
Error 0x80070057 : Unknown Generic Error

I encounter this error with
amdvbflash_879_Moded_v1.exe -p 0 XFX.amdvbflashamdvbflash_879_ModedFAILED: Flashing ASIC at[0] @0000:03:00.0RX9070XT.16384.241204.rom -fp -fa -fv
 
#11 · (Edited)
@MaStA819

amdvbflash --flash --device 0 --vbios-file newbios.rom --inactive --fa

With “amdvbflash_879_Moded_v1.exe -p 0 newbios.rom --inactive -fv -fp -fa,” you should be able to flash the inactive partition directly.
 
  • Rep+
Reactions: MaStA819 and Veii
#14 ·
@MaStA819

amdvbflash --flash --device 0 --vbios-file newbios.rom --inactive --fa

With “amdvbflash_879_Moded_v1.exe -p 0 newbios.rom --inactive -fv -fp -fa,” you should be able to flash the inactive partition directly.
Thank you for your reply. Unfortunately, it is still not working as seen below. The IFWI information for the inactive partition appears to be corrupt and not allowing me to flash to it. I am currently running on the active partition without issue. However, I would like to fix the second (inactive) partition if possible.

C:\amdvbflash>amdvbflash_879_Moded_v1 -ai --inactive
AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright© 2020-2025 Advanced Micro Devices, Inc. All rights reserved.

Detecting AMD GPU/APU. Please wait...

Adapter 0 (0x0000:03:00.0)
ASIC Family Navi48
Flash Type GD25LQ16E

Failed to retrieve IFWI information
C:\amdvbflash>amdvbflash_879_Moded_v1.exe -p 0 XFX.RX9070XT.16384.241204mercury.rom --inactive -fv -fp -fa
AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright© 2020-2025 Advanced Micro Devices, Inc. All rights reserved.

Detecting AMD GPU/APU. Please wait...

FAILED: Flashing ASIC at[0] @0000:03:00.0
----------------------------
Invalid gpu index. Please specify valid device index to flash.
Error 0x80070057 : Unknown Generic Error
 
#12 ·
Works : )

C:\Users\redf1\Desktop\GPU\amdvbflash_879_Moded_v1>mflash.exe -p 0 phantom.rom --inactive -fv -fp -fa
AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright┬® 2020-2025 Advanced Micro Devices, Inc. All rights reserved.

Detecting AMD GPU/APU. Please wait...
Existing IFWI version : 022.001.002.024.000001
IFWI version to be flashed : 022.001.002.031.000001
-------------------------------
Existing IFWI PartNumber : 113-31XFSHBS1-L02
PartNumber of dGPU to be flashed: 113-D70201-810009
----------------------------
Existing IFWI SSID : 0x7901
SSID of dGPU to be flashed : 0x5304
----------------------------
Flashing in Progress, Please Wait....

Flashed 0x200000 Bytes Successfully on GPU at [0] @0000:03:00.0

Please REBOOT the System to Complete VBIOS Update.

C:\Users\redf1\Desktop\GPU\amdvbflash_879_Moded_v1>mflash.exe -ai --active
AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright┬® 2020-2025 Advanced Micro Devices, Inc. All rights reserved.

Detecting AMD GPU/APU. Please wait...

Adapter 0 (0x0000:03:00.0)
ASIC Family Navi31
Flash Type GD25LQ16E
Partition Type Partition A
Product Name XFX D702_XTX_A0_24GB_XFX_APM6206_79XTACFD
Bios Config File NAVI31.bin
Bios P/N 113-31XFSHBS1-L02
Bios Version 022.001.002.024.000001
Bios Date 03/23/23 03:16:49
IFWI SKU Type Unknown

Image 0 -- Offset 0x0000
__
ROM header contents:
Signature 0xaa55
PCIR Offset 0x03c0
PCI Data Structure:
Signature PCIR
Vendor ID 0x1002
Device ID 0x744c
PCI Revision 0x00
Image Size 0xe200
Code Revision 0x1601
Indicator 0x00 (Not Last Image)
Code Type 0x00 (Intel IA-32, PC-AT compatible)
Legacy BIOS File Name NAVI31.bin
Legacy BIOS Part Number 113-31XFSHBS1-L02
Legacy BIOS Build Number 00057599
Legacy BIOS Change List 00000000
Binary BIOS Identifier (IDTF) 0xa755558f

Image 1 -- Offset 0xe200
__
Signature 0xaa55
PCIR Offset 0x001c
PCI Data Structure:
Signature PCIR
Vendor ID 0x1002
Device ID 0x744c
PCI Revision 0x00
Image Size 0xd600
Code Revision 0x0000
Indicator 0x80 (Last Image)
Code Type 0x03 (EFI)
Image Size 0x00000ef1
Compression Type 0x80 (Compressed)
MachineType 0x8664 (X64 Machine Type)
Subsystem 0x0b (EFI Boot Service Driver)
EFI Image Offset 0x60 (abs: 0xe260)
UEFI IDs from EFI_PCI_EXPANSION_ROM_HEADER
UEFI Source Revision GOP AMD REV: 000.000.000.022.001
UEFI Source Change List 0000
UEFI BIOS Build Number 57599
GOP Driver Info:
Machine Type Code 0x8664 (AMD64 (K8))
Authenticode Signed true
GOP Image Size 0x149a0 (82KB)
Driver Name AMD GOP X64 Rel Driver Rev.3.7.7.Mar 15 2023.04:13:49
UEFI Major Revision 0x03
UEFI Minor Revision 0x07
UEFI Fix Revision 0x07
Legacy Major Version 0x00
Legacy Minor Version 0x00
GOP AMD Build
GOP AMD CL
GOP BIOS Identifier (IDTF) 0xdeadbeef
Driver Carries legacy tables false


C:\Users\redf1\Desktop\GPU\amdvbflash_879_Moded_v1>mflash.exe -ai --inactive
AMD IFWI Flasher Tool Version 5.0.879.0-Moded_v1. Copyright┬® 2020-2025 Advanced Micro Devices, Inc. All rights reserved.

Detecting AMD GPU/APU. Please wait...

Adapter 0 (0x0000:03:00.0)
ASIC Family Navi31
Flash Type GD25LQ16E
Partition Type Partition B
Product Name ASRock Navi31-XTX PGD
Bios Config File NAVI31.bin
Bios P/N 113-D70201-810009
Bios Version 022.001.002.031.000001
Bios Date 07/26/23 22:46:22
IFWI SKU Type Unknown

Image 0 -- Offset 0x0000
__
ROM header contents:
Signature 0xaa55
PCIR Offset 0x03b4
PCI Data Structure:
Signature PCIR
Vendor ID 0x1002
Device ID 0x744c
PCI Revision 0x00
Image Size 0xe200
Code Revision 0x1601
Indicator 0x00 (Not Last Image)
Code Type 0x00 (Intel IA-32, PC-AT compatible)
Legacy BIOS File Name NAVI31.bin
Legacy BIOS Part Number 113-D70201-810009
Legacy BIOS Build Number 00072318
Legacy BIOS Change List 00000000
Binary BIOS Identifier (IDTF) 0x8f61a284

Image 1 -- Offset 0xe200
__
Signature 0xaa55
PCIR Offset 0x001c
PCI Data Structure:
Signature PCIR
Vendor ID 0x1002
Device ID 0x744c
PCI Revision 0x00
Image Size 0xd400
Code Revision 0x0000
Indicator 0x80 (Last Image)
Code Type 0x03 (EFI)
Image Size 0x00000ef1
Compression Type 0x80 (Compressed)
MachineType 0x8664 (X64 Machine Type)
Subsystem 0x0b (EFI Boot Service Driver)
EFI Image Offset 0x60 (abs: 0xe260)
UEFI IDs from EFI_PCI_EXPANSION_ROM_HEADER
UEFI Source Revision GOP AMD REV: 000.000.000.022.001
UEFI Source Change List 0000
UEFI BIOS Build Number 72318
GOP Driver Info:
Machine Type Code 0x8664 (AMD64 (K8))
Authenticode Signed true
GOP Image Size 0x14780 (81KB)
Driver Name AMD GOP X64 Rel Driver Rev.3.7.13.Jul 21 2023.17:04:05
UEFI Major Revision 0x03
UEFI Minor Revision 0x07
UEFI Fix Revision 0x0d
Legacy Major Version 0x00
Legacy Minor Version 0x00
GOP AMD Build
GOP AMD CL
GOP BIOS Identifier (IDTF) 0xdeadbeef
Driver Carries legacy tables false
 
  • Rep+
  • Helpful
Reactions: MaStA819 and Veii
#21 ·
No.
 
#22 · (Edited)
Let me tell you the story of how I bricked (then fixed) my quiet BIOS (performance still works). So I tried flashing the 9070 XT Mercury Bios (I chose this model because it has 340W TDP instead of my 330W TDP and matches 3dp 1hdmi and 3 8pin) to my Asus TUF 9070 XT by booting into the "Q" bios mode. It gave me an error that it didn't match, so I then used the -fp argument and it went through (flashed successfully and please reboot to complete VBIOS update. I ran amdvbflash -i and photographed the results, and it matched what was there before. I shut it down, and rebooted, and it won't boot. I tried IGPU and it won't boot either. It works on my "P" BIOS mode. Strangely, if I switch the bios switch while windows is running, an amdvbflash -i will give the same results for the first 30 seconds or so, then it crashes the system. At this point I think my only chance to recover that bios is to boot it into working order, flip the switch, and quickly flash the original Q rom BIOS and hope it finished before crashing. I was right, I was able to flash a working bios back on the "Q" bios by attempting to flash my own backup 1 second after switching my physical bios switch, and it game me a conflicting IFWI PartNumber error. so i switched the switch back and ran the same flash but with -fp, and then quickly reboot after the flash happened. Now it will run with either "P" or "Q" bios. I actually ended up flashing an ACER 9070 XT (it also has 340W TDP instead of my 330W TDP and matches 3dp 1hdmi and 3 8pin) bios that had 340W TDP, and I've been breaking my records on 3DMark all day, talk about my definition of having a good time :)

Edit add: My top Steel Nomad went from 7944 to 8038.
 
#23 ·
Let me tell you the story of how I bricked (then fixed) my quiet BIOS (performance still works). So I tried flashing the 9070 XT Mercury Bios (I chose this model because it has 340W TDP instead of my 330W TDP and matches 3dp 1hdmi and 3 8pin) to my Asus TUF 9070 XT by booting into the "Q" bios mode. It gave me an error that it didn't match, so I then used the -fp argument and it went through (flashed successfully and please reboot to complete VBIOS update. I ran amdvbflash -i and photographed the results, and it matched what was there before. I shut it down, and rebooted, and it won't boot. I tried IGPU and it won't boot either. It works on my "P" BIOS mode. Strangely, if I switch the bios switch while windows is running, an amdvbflash -i will give the same results for the first 30 seconds or so, then it crashes the system. At this point I think my only chance to recover that bios is to boot it into working order, flip the switch, and quickly flash the original Q rom BIOS and hope it finished before crashing. I was right, I was able to flash a working bios back on the "Q" bios by attempting to flash my own backup 1 second after switching my physical bios switch, and it game me a conflicting IFWI PartNumber error. so i switched the switch back and ran the same flash but with -fp, and then quickly reboot after the flash happened. Now it will run with either "P" or "Q" bios. I actually ended up flashing an ACER 9070 XT (it also has 340W TDP instead of my 330W TDP and matches 3dp 1hdmi and 3 8pin) bios that had 340W TDP, and I've been breaking my records on 3DMark all day, talk about my definition of having a good time :)
So the Merc BIOS doesn't run on the Asus TUF, but the Acer BIOS does? Do you have any idea what the problem could be?
 
#28 ·
Rx9070 xt saphire pure bios on xfx 9070 oc white pc doesnt boot if you already flashed and are stuck turn of pc fully move the switch on gpu turn on pc if u get to windows good move switch while pc on open the tool flash the original bios turn off pc fully turn on pc thats what worked for me
 
#32 ·
I flashed my 7900xtx Taichi performance bios with unmodified amdvbflash. Rebooted, and it won't boot now. I will get code 97 on my MB which from what I gather is a GPU issue. If I flip the switch to the quiet bios it will boot normally. How can I fix the performance bios if I'm unable to boot with it? Will this modified tool work in my situation or I have a better chance with a ch341a?
 
#33 ·
This tool will not help you in this situation, but you can try boot with the working bios, then right before the flashing flip the switch on the card.
For sure test with amdvbflash -ai --active and amvbflash -ai --inactive that the tool reads the right (corrupted) bios. If yes,try to flash it.
 
#35 ·
I was able to flash my Sapphire Pure 9070 with the Pure 9070xt vbios. It's been working great.

I did have a question though, @Benik3 , you mention flashing the bios again after the first flash to make both partitions the same. Is there a reason for this? I can't seem to figure out if I need to do this or not. This is a single bios card (albeit with a secondary partition containing the original bios I presume)
 
#36 ·
Well, on my XFX Swift 9070 XT the flash process itself always works but I just end up with a black screen after a power cycle.
Flashing it back to the original BIOS does work, though, so great work on the tool itself.
I hoped to get the power limit to 330 or 340w so that I can boost it another 10% in the driver but non of the high powered BIOSes work for me.
Maybe someone could make a tool to edit the existing BIOS for better compatibility? That would be awesome!
 
#39 ·
After a bit of testing I can confirm that unfortunately, flashing a different BIOS to the XFX 9070 XT Swift results is a no-image scenario. I tried two different Mercury BIOS-es (one from the GPU database and one supplied directly from a friend). The only difference in the cards is the 2x vs 3x8-pin and TDP limit. My limited GPU knowledge tells me that the Mercury BIOS is probably looking for that 3rd 8-pin power. Any ideas? Thanks!
 
#45 ·
Been loving playing with this. Sapphire Pure 9070 went from 269w (+10%) to 348w (+10%) with XT bios, and with some tweaking I have the 3rd highest score in the world on steel nomad for my hardware. Before bios flash my best score was 6650, now new score over 7250.

Hotspot temps seem to be the only difference but are still manageable in the low to mid 80's. Luckily the Pure 9070 has the same cooler as the XT variant.
 
#52 ·
I already shared this in different thread, but I decided to make own thread for it :)

This is a modded tool for flashing AMD cards (including RDNA4 with version 879) even when SSID mismatch.

Here is screenshot by @RedF on RDNA4:
View attachment 2729868


The 616 version includes also modifications, so it's possible to flash also over corrupted bios in RDNA3 cards. More info in the original post: https://www.overclock.net/posts/29431108/

I will also add some general information about vbios, which I collected meanwhile:

  1. Turn OFF the PC - After bios flash, turn off the PC completely, not just reboot.
  2. Dual partition vbios - from RDNA3 (I suppose that RDNA4 has also this feature) the bios in the card is dual. And I don't mean HW switch for changing OC/Silent bioses. The bios is dual in one ROM chip. One partition is always active and second inactive. The flash tool always flash the inactive partition and this flashed partition became active after successful boot. This luckily can save your card from bricking, when bios flash fails.
    In amdvbflash you can check both partitions using command
    -ai --active
    -ai --inactive
  3. Flash multiple times - After successful flash, I recommend to flash the card using non modified tool and only with PartNumber force switch (so only amdvbflash -p 0 -fp romfile.rom), until the tool says that the bios file is the same as in the card (power cycle between each flash of course). For some reason it can take up to 3 flashes. Don't post bios backups without this, as it can lead to flash fail on other cards!
  4. Bios changes when flashing - When you flash bios and read it back, it will not be 1:1. It's normal behavior noticed on RDNA3 (and maybe other too). The bios ROM contains some partitions, which are changed with each flash. Some bytes even looks like simple counter. That's also reason why in tom's HW vbios database you can find so many bioses for RDNA3 which should be identical. Slightly more info here: https://www.overclock.net/posts/29458202/
  5. GPU-Z bios info - GPU-Z is reading only the first partition of the vbios and doesn't care about active/inactive state. That's why you can still see the old bios version after a first flash.

Summary:
amdvbflash 5.0.616.0 v2 - up to RDNA3 cross flash and ability to flash over corrupted vbios
amdvbflash 5.0.879.0 v1 - up to RDNA4 cross flash

Warning: Use this tool at your own risk! I bypassed some exceptions in the SW, so in worse case it can lead to even more corrupted vbios! Be sure that you have some backup solution in hand (CH341, second bios switch)! For sure reflash the vbios again using non modified amdvbflash, with PartNumber forcing switch only (amdvbflash -p 0 -fp romfile.rom) until it says that the bioses are the same!
I apologize if this is a dumb question, but you recommended flashing the new bios multiple times until both partitions match, I just wanted to ask you if there is any risk involved with just flashing it once?

I successfully flashed my 9070 Pure with a Pure XT bios, but I didn't reflash afterwards. Have had no problems so far, but if there is any risk involved with having 2 different bios on each partition I will flash again so that they match.
 
#56 · (Edited)
i really wonder if your modded vbios flasher could be used on polaris, like i have RX 590GME here (which is RX 580 rebadged, both have the same chip since its not a real RX 590), and i cant crossflash using the modded amdvbflash v2.93, i did manually program the vbios using the same model 580 on my 590GME and it works.
 
#61 ·
Managed to brick my XFX 9070 Gaming Pro OC stupidly - mixed up which the bios switch was set to when doing a repeat flash so now neither has the right bios… gives an error in device manager and if it “does” appear with the ‘-I’ command the bios P/N is listed as unknown… ordering the correct size clip for a programmer to try bring it back
 
#62 ·
Sorry to hear that man. I only flashed once and have had no issues, even on cold boots the XT bios remains intact, so I'm not really sure the reason behind the reflash. Hopefully @Benik3 will get back to us and let us know if it's potentially unsafe to run 2 separate bios's on the same chip
 
#64 ·
Yes, that should not be an issue. But no one has tested it yet : )