So you needed linux access to this? or what exactly is step by step. My 6900Xt cost 2500 after tax and has been sitting on floor since it arrived. makes me sad. I'm ready to put it to use. It's also red devil, just the ultimate not the liquid ultimate. Also dual bios so I'll likely not screw with the performance/OC bios and instead be happy to erase the "quiet" bios it has on it.
Doesn't OC have some bios replacement tech in it? I wonder if there is still a software approach to this.
I'm not aware of OpenCore supporting any kind of VBIOS shenanigans. It would be rather concerning if it did, imho.
Flashing/modifying a VBIOS should be a rather deliberate act in all cases.
Anyway, to replicate my results you need:
- A live USB stick with Ubuntu on it (or any other Linux distro you fancy)
- A second USB stick formatted as FAT to transfer files with between both OS's (optional)
- The ATIFlash Linux version from TechPowerUP
- The VBIOS of a supported card matching as closely as possible to the one you actually have from the VBIOS collection at TechPowerUP
- I think most would work, but it's best to remain as close as possible
- Typically you would choose the VBIOS of the regular 6900 XT version of the XTXH card you have. For me I downgraded from the Liquid Devil Ultimate to the regular Liquid Devil so there would be as few differences as possible
Optionally, if you want to create your own backup of the existing VBIOS, you can do this via GPU-Z on Windows (which you can get
here) or via ATIFlash directly. I have not tried extracting the VBIOS via ATIFlash, so for that part you'd be on your own.
On the plus side, most VBIOS's are already uploaded to TPU's database, so worst case you can still pull a pristine copy from there.
Flashing the card is then relatively simple:
- Plug in the Linux live USB stick
- Select the Linux distro in OpenCore (may be named "ESP (External)" or something along those lines) or alternatively boot directly off the stick using the BIOS startup picker
- Get all the files (ATIFlash and the VBIOS) copied to the Linux system. This is where I used a second USB stick which I had prepped beforehand. Otherwise you need to obtain these files via the web browser in the live system, which is a bit less convenient
- Open a terminal in the directory with the gathered files
- Run "sudo ./amdvbflash -ai" to list the existing GPU's in the system
- From the list, find the 6900 XT and note the VGA number (starts at 0 and goes up in increments of 1)
- Run "sudo ./amdvbflash -f -p <your VGA number> <name of the VBIOS>" to flash the new VBIOS
- In my case this was "sudo ./amdvbflash -f -p 1 liquid-devil.rom"
- Wait until the flashing process is done. This normally takes just a few seconds
- Shut down, remove the live USB stick and the optional data USB stick
- Boot into macOS
- You're done!
As a final step you may need to double-check that you disabled any previous stuff you may have attempted, such as ID spoofing, FakePCIID.kext being loaded, SSDT's that mess with the GPU's etc.
Naturally I must warn that flashing a VBIOS to a GPU (and flashing stuff in general) can be a risky process if you mess up. Worst case this can brick your VBIOS slot. This can be recovered from but is painful and should be avoided.
I don't take any responsibility for what happens if you attempt this process. Just because it worked for me does not mean it will work for anybody else. That just as a disclaimer of sorts.
I have only tried this process while running off my RX 580. The 6900 XT was not the main display driver, in case it would turn black, which would make recovering much harder. I'd strongly advise using a second GPU during this process for safety. I have not tried this process with the 6900 XT being the only GPU in the system.
The output of the program may look like this: