Forgive me a bit of cluelessness, but if OpenCore is necessary to run a MacOS version which supports that card, and OpenCore provides provides pre-boot functionality, what is the MVC(E) "bootscreen" mod actually doing?
By design, the Mac Pro EFI BootROM uses UGA (an older standard) for screen output. Mac-compatible cards provide UGA, which lets you see the native boot picker and the early boot screens (before MacOS loads). Without a UGA-compatible card (i.e. with non-Mac/PC cards), you'll see a black screen until something loads a driver that can speak to your video card - that's typically either OpenCore or MacOS itself. OpenCore loads early enough that the native screens aren't really necessary. As I understand it (I've never looked at an MVC card), MVC patches their cards to include UGA support, so you can use the native boot picker and see the boot screens immediately, without the need for OpenCore. (And, in the case of the RX6x00 cards, they've presumably fixed the same AMD bug that my patch fixes.)
Very cool! I am a bit confused on the flashing process though. Do you dump your GPUs rom in windows then bring it over to Mac OS and run the terminal program, then bring the new rom back into Windows to Flash the GPU?
Unfortunately, yes. As
@tsialex correctly points out, you can't boot a cMP with an unpatched RX6x00 card in it; the card's initialization code contains a bug that prevents booting (fixing that is the whole point of my patch!). So, if you're using software flashing, you'll need to do that on a non-Mac PC.
To simplify things, I've attached a Windows version of the FixRX6x00 patcher program. It's still a command-line program (no GUI), same instructions as the MacOS version in my
previous post. At least this way, there's less shuffling back and forth between systems.
As a continuation of my
previous post I have updated the python file path per unix convention so that the updater could work in Mac OS:
Code:
mbp114@mbp114 GOP_Updater_v1.9.6.5.k_mod_v0.4.9 % python3 /Users/mbp114/Downloads/GOP_Updater_v1.9.6.5.k_mod_v0.4.9/GOPupd.py /Users/mbp114/Downloads/GOP_Updater_v1.9.6.5.k_mod_v0.4.9/AMD.RX6900XT.16384.201104.rom gop_upd
---------------------------------------------------------------
***************************************************************
*** Processing with Python... ***
***************************************************************
GOP is not present!!!
EFI ROM is not last image!
Do you want to update GOP to latest available? Y for yes or N for no: Y
Warning! Your VBIOS ID 1002-73BF doesn't exist in latest available GOP!
Do you still want to update GOP? Y for yes or any key for checking the ID in older 1.57.0.0.0 GOP: Y
There are other ROM images in this binary! Please report it!
Fixing ID for EFI image. No checksum correction is needed.
Removing unnecessary end padding.
Data after ROM and not part of EFI! Please report it!
Unable to recover extra data at the same offset 0x14200! Please report it!
File "AMD.RX6900XT.16384.201104_updGOP.rom" with updated GOP 1.69.0.15.50 was written!
So it looks like:
1. The GOP is not present in the vbios (same as on the old NVIDIA vbioses which were not working by default in OpenCore, but were working after upgrading the vbios through this application)
2. "Your VBIOS ID 1002-73BF doesn't exist in latest available GOP!", which means that the database was not included in the latest GOP.
Someone may test the corrected image of the reference AMD 6900XT card attached to see if it is working in Opencore.
I also attached the corrected
GOPupd.py
to work under Mac OS.
Your Python script has a problem. It complains about the EFI ROM not being the last image, but that's not a requirement for EFI option ROMs. In this case, the x86_64 EFI code appears before the ARM64 EFI code - but in the output from your script, the ARM64 code gets removed. Also, while I don't have an RX6900XT to test with, I can state that GOP is most definitely provided by the card's original ROM.
Yes, this much I know.
So as you said earlier, and what Syncretic said -- for anyone else reading. The only way to get a 6k series AMD card to work on the cMP is to either:
1. Use a hardware flasher,
2. or flash the ROM on a PC running Windows (or a Mac Pro 7,1), and then introduce the flashed card into the cMP.
Correct. As I said in my original post,
@caingraywood was using a hardware flasher (I think he said it was an RT809F). I don't know his methodology - he may have been flashing
in situ, or he may have been physically replacing the chips. In any case, he wasn't using software flashing. Since a cMP can't even POST with an unpatched RX6x00 card, it's necessary to flash it using either a PC (Windows/Linux) or a hardware flasher (or, I suppose, a MP7,1?).
To help simplify things, I pulled all of the RX6600/6600XT/6800/6800XT/6900XT ROMs from TechPowerup, patched them, and have attached them to this post.
However, be advised that patching the ROM that came with your particular card will almost always be the better choice. Use the attached ROM images at your own risk. If you choose to use one of the attached ROM images, verify that the make/model and version number matches your card.