Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
This 0xE300 sized AMD GCN4 GOP driver may already do the job.

Note: works in several Polaris MXM and PCI cards

Hi Ausdauersportler,

Many thanks for your help. May I presume on your time a bit more, please?

I'm not quite clear on this. Are you saying that your rom file is the finished product that will give the native boot picker, or is it just a step along the way?

It seems surprisingly small. Is that a result of having stripped out the legacy VGA parts? It makes you wonder why AMD included such parts in the VBIOS for a card that does not even have a VGA port.
Meanwhile, I have gathered together all the things I will need to do the flash. Using a Linux Mint live USB. Did a diagnostic and a dump. Does this information help?

Screenshot from 2025-03-16 16-39-12.png


The dumped rom file gives the same md5 hash (using the Github tool) as the original version on TechPowerUp. Well it should, but reassuring to know. I assume it's not significant that your file and TechPowerUp's have a .rom filetype whereas the AMDVBFLASH dump has no filetype extension?

Dare I ask about the chance of bricking the GPU from flashing your rom?
I do realise and fully accept that it's my own choice and entirely my own risk. But I'd like to know your opinion.
Thanks gain.
 
Dare I ask about the chance of bricking the GPU from flashing your rom?
You can always reprogram the card with a CH341A plus SOIC clip, even if it is bricked. Or at least it is VERY unlikely to get bricked worse than can be recovered by that. So if you are flashing an untested/experimental ROM it might be worth mastering the (fiddly!) art of getting this attached and reading from and writing to your card before you proceed. Ofc this needs to be done from another machine (or the same machine with a different GPU), probably easiest to do from Linux.
 
It will brick, because it is only the GOP-image and not complete rom

Glad we got that sorted out then! I thought it was suspiciously small.
Lot more head scratching then.
Or maybe I'll go the cMP firmware route.
 
Completely brilliant! You guys are great.
Hang on a minute, looks like I need to Compress it.
 
Unzip the attached one and flash the file. Flashing should give no errors.

Surprisingly, the vbios has only 0xe800 bytes, only task was to insert the GOPEnable.

Please report if the card works.
 

Attachments

  • amdvbios16_3_25_mod.zip
    119.9 KB · Views: 6
Last edited:
Hello everyone.
I've decided to add EnableGOP to the cMP firmware. I think I've done everything correctly, but I don't see a boot screen.
I checked out the already flashed firmware and saw that GOP is enabled, so I think the flashing was done correctly.
(EnableGop.ffs not "EnableGopDirect.ffs", I understand it's the one for the RX580)

4.1 to 5.1
CPU: 2 x 4.6 GHz
GPU: RX580 Pulse 8GB
RAM: 32GB
W/B: Modern

I did the whole process under High Sierra (no boot screen). I'm using Monterey 12.7.6 with OCLP 2.2.0 (and also without a boot screen). I've tried several graphics outputs with no results, including both positions of the GPU BIOS switch.

What could be the reason why, even after following all the steps, I still don't see a boot screen?
Thanks

_______________________________________________________________

Mac Pro 2009 (MP41)

Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:48:00 2019
Bios Version $IBIOSI: MP51.88Z.F000.B00.1904121248
Bootloader AAPLEFI1.88Z.0005.I00.1010071430 built on Thu Oct 07 14:30:00 2010
Crossflash 4.1->5.1 (bootblock of MP51.007F.B03)
(U)efi version: 1.10
MP41, serial from firmware: YMXXXXXXXXG
MP41 backplane made in 2009
The firmware MAC in NVRAM matches with firmware MAC in dump
EnableGop 1.4 EFI module identified
Base_18 hardware descriptor, Fsys 0x04
Fsys: 0 overrides, 1 override-version, 2 ssn, 3 hwc, 4 son, 5 EOF (ok)
OCLP: 2.2.0 | -allow_fv | MacPro5,1
csr_Allow_Untrusted_Kexts, Unrestricted_FS, Unauthenticated_Root (0x803)
BootOrder: 1:Boot0001, 2:Boot0080
Boot0001 is OpenCore LauncherOption: Full
Boot0001: OpenCore |EFI|disk0s1 (PCI-Express Internal:CT1000P2SSD8)|EFI|EFI\OC\OpenCore.efi
Boot0080: Mac OS X |Apple_APFS|disk4s2 (USB External:00SSD1)|\1546E31F-72FA-48D6-B14F-EAA9C28A15A8\System\Library\CoreServices\boot.efi
Boot0080 is MacOs 10.13.6, label: HS
efi-boot-device-data: \1546E31F-72FA-48D6-B14F-EAA9C28A15A8\System\Library\CoreServices\boot.efi
6 firmware boots since last garbage collection, MTC counter: 6 - 11
VSS1 VSS2
1 (5 deleted) 1 Memory Configs g (ok)
1 (5 deleted) 1 Memory Configs h (ok)
1 (5 deleted) 1 Memory Configs i (ok)
1 (0 deleted) 1 Memory Configs j (ok)
0 (2 deleted) 0 IASInstallPhaseList / xml (ok)
0 0 Microsoft certificates (ok)
1 (0 deleted) 1 BluetoothActiveControllerInfos (ok)
1 (1 deleted) 1 BluetoothInternalControllerInfos (ok)
1 (1 deleted) 0 AppleBoot current-network (ok)
0 (1 deleted) 1 AppleWireless current-network (ok)
0 (4 deleted) 0 Boot PathProperties0000 (ok)
1 (2 deleted) 1 NVRAM PathProperties0000 (ok)
1 (1 deleted) 1 csr-active-config (ok)
10714 bytes free space of 65464
VSS1 (Formatted) (Healthy), found 92 variables (41 valid, 51 deleted)
VSS2 (Formatted) (Healthy), found 26 variables (26 valid)
CRC32 checksums: ok
 
You have to be really REALLY patient. The boot process takes a long time, and reboots for at least four or five times, can't remember. The last boot will show a percentage number.%

I also played it safe with the DVi input.
 
You have to be really REALLY patient. The boot process takes a long time, and reboots for at least four or five times, can't remember. The last boot will show a percentage number.%

I also played it safe with the DVi input.
Who do you answer?
 
I'm using Monterey 12.7.6 with OCLP 2.2.0 (and also without a boot screen).

This is the most important clue. If you don't have OC/OCLP BootPicker, your GPU does not have the factory firmware.

If your GPU is a Sapphire Pulse that have a ROM switch, try to other position.

switch-diagram-png.319142


If not, you most probably have a 2nd hand sourced GPU that was previously used for crypto-mining with a custom GPU firmware and you'll need to re-flash the GPU factory firmware to have pre-boot configuration support with a Mac Pro and class 3+ UEFI PCs.

This is the post on how to re-flash the factory GPU firmware:

 
This is the most important clue. If you don't have OC/OCLP BootPicker, your GPU does not have the factory firmware.

If your GPU is a Sapphire Pulse that have a ROM switch, try to other position.

switch-diagram-png.319142


If not, you most probably have a 2nd hand sourced GPU that was previously used for crypto-mining with a custom GPU firmware and you'll need to re-flash the GPU factory firmware to have pre-boot configuration support with a Mac Pro and class 3+ UEFI PCs.

This is the post on how to re-flash the factory GPU firmware:

Okay, I understand. Yes, it was secondhand. As I said, I have tested the switch in both positions. I'll install the original firmware and see what happens. Thanks.
 
I've tried several graphics outputs with no results, including both positions of the GPU BIOS switch.

What could be the reason why, even after following all the steps, I still don't see a boot screen?
Thanks

_______________________________________________________________

Mac Pro 2009 (MP41)

Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:48:00 2019
Bios Version $IBIOSI: MP51.88Z.F000.B00.1904121248
Bootloader AAPLEFI1.88Z.0005.I00.1010071430 built on Thu Oct 07 14:30:00 2010
Crossflash 4.1->5.1 (bootblock of MP51.007F.B03)
(U)efi version: 1.10
MP41, serial from firmware: YMXXXXXXXXG
MP41 backplane made in 2009
The firmware MAC in NVRAM matches with firmware MAC in dump
EnableGop 1.4 EFI module identified
Base_18 hardware descriptor, Fsys 0x04
Fs


@tsialex
 
Can't boot OCLP if your firmware is not updated.
bootblock of MP51.007F.B03
Need 144.
 
Can't boot OCLP if your firmware is not updated.
bootblock of MP51.007F.B03
Need 144.

While BootBlock version AAPLEFI1.88Z.0005.I00.1010071430 will have a black screen at POST when cold booting with a PCIe switched card installed, it won't have issues with EnableGOP. Zero. Nada.

Also, from what you wrote, you seem to not understand what the BootBlock is. Look at this:

Mac Pro 2009 (MP41)

Firmware 144.0.0.0.0 (latest) built on Fri Apr 12 12:48:00 2019​

Bios Version $IBIOSI: MP51.88Z.F000.B00.1904121248
Bootloader AAPLEFI1.88Z.0005.I00.1010071430 built on Thu Oct 07 14:30:00 2010

The BootBlock is first sector that is loaded at power on from the BootROM flash memory and is the code that instructs the hardware what to do immediately after power on and after it was installed at the factory is never updated again, at least not until you'll flash a reconstructed/never booted BootROM image.
 
  • Like
Reactions: segundojazz
You have to be really REALLY patient. The boot process takes a long time, and reboots for at least four or five times, can't remember. The last boot will show a percentage number.%

I also played it safe with the DVi input.
The Apple boot picker should be present immediately after the boot chime, if alt key is held. Nothing to do with what you describe.

You confuse things.
 
You can always reprogram the card with a CH341A plus SOIC clip, even if it is bricked. Or at least it is VERY unlikely to get bricked worse than can be recovered by that. So if you are flashing an untested/experimental ROM it might be worth mastering the (fiddly!) art of getting this attached and reading from and writing to your card before you proceed. Ofc this needs to be done from another machine (or the same machine with a different GPU), probably easiest to do from Linux.
Would it be possible to put e.g. a GT 120 in the cMP alongside a bricked AMD card, boot into Linux using this working card, then re-flash the bricked card from there? I imagine amdvbflash would not recognise an Nvidia card, else one would need to be very careful getting the identifier right. Just an idea. What do you think?
 
Please report if the card works.

Success!!

Oh you clever clever people. Take a collective bow everyone whose input made this possible.
Thanks to Ausdauersportler who provided a required ingredient and especially to Borowski who generously shared his time and effort assembling the final product which I would not have known how to do.

Amdvbflash reported no problems. Indeed, it doesn't seem to see any difference between the new bios and the old.

Screenshot at 2025-03-18 12-37-35.png


And then the holding-one's-breath moment. The alt-key reboot!

PHOTO-2025-03-18-12-49-21.jpg


Completely brilliant. I really am impressed. My thanks for generously sharing your skills.
 
Amdvbflash reported no problems. Indeed, it doesn't seem to see any difference between the new bios and the old.
Usually older versions read the information only from the vbios-image and that remains untouched. For AMDVBFLASH it seems totally identical.

I only added (inserted) the GOPEnabler and didn't need the "short" GOP image found by "Ausdauersportler". But for future usage may helpful, perhaps s.o. will edit the automated script for AMD, avoiding to break the 0x20000 byte border.
 
  • Like
Reactions: Ausdauersportler
Usually older versions read the information only from the vbios-image and that remains untouched. For AMDVBFLASH it seems totally identical.

I only added (inserted) the GOPEnabler and didn't need the "short" GOP image found by "Ausdauersportler". But for future usage may helpful, perhaps s.o. will edit the automated script for AMD, avoiding to break the 0x20000 byte border.
Well thanks anyway. The old cMP feels much more useful now. Already got Ubuntu Mate 24.04 as a boot option. Couldn't do it before.
Will look into SteamPlay for gaming. If I read correctly this may obviate the need for Windows. No great loss in my opinion.
 
While BootBlock version AAPLEFI1.88Z.0005.I00.1010071430 will have a black screen at POST when cold booting with a PCIe switched card installed, it won't have issues with EnableGOP. Zero. Nada.

Also, from what you wrote, you seem to not understand what the BootBlock is. Look at this:



The BootBlock is first sector that is loaded at power on from the BootROM flash memory and is the code that instructs the hardware what to do immediately after power on and after it was installed at the factory is never updated again, at least not until you'll flash a reconstructed/never booted BootROM image.
My bad, I understood wrong. I thought it was booting repeatedly. SORRY ALL
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.