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.
Hi!

Wonderful work guys!

I want to use an Sapphire Radeon Pulse RX 580 with EnableGop but I also have a Nvidea Quadro K5000 Mac Edition as a backup card (this card has Apple EFI already built in). Will there be any conflict between EnableGop and the Quadro K5000's Apple EFI if I decide to use it one day?

Can I install EnableGop on the official Mojave MacPro 5.1 or do I have to be using Opencore to install it?

To install EnableGop I will need to turn off SIP, right?

Thanks in advance!
 
It works with UGA GPUs as well,
You do not need OpenCore for it,
You need to disable sip at least for kexts and approve DirectHW.kext when asked by the Dumper when using an Os newer than Yosemite.
 
Thats basically it. Lance made a very detailed video:

Thanks for your reply and all your amazing work! After reading over this thread, am I correct in thinking this should be AVOIDED on mac pro setups that are flashed 4,1>5,1 due to further degrading the bootrom? it's my understanding that flashing 4,1 to 5,1 causes bootrom degradation due to some size mismatch on 4,1 bootrom vs 5,1 bootrom, and that performing this mod can add to that degradation?
 
Thanks for your reply and all your amazing work! After reading over this thread, am I correct in thinking this should be AVOIDED on mac pro setups that are flashed 4,1>5,1 due to further degrading the bootrom?

This was discussed in detail three pages ago:


EnableGop is not injected inside the NVRAM volume area, so, no direct connection between injecting EnableGop and bricking because a corrupt BootROM volume, but if you are going to do this, you should repair the BootROM before anything and inject to a clean, correct upgraded, fully working BootROM image.

it's my understanding that flashing 4,1 to 5,1 causes bootrom degradation due to some size mismatch on 4,1 bootrom vs 5,1 bootrom, and that performing this mod can add to that degradation?

You got some facts wrong here, there is no size mismatch anywhere with a cross-flashed early-2009. Read my explanation of the issue linked above.
 
Hey guys, i tried this with a GTX780 but i dont get any boot image. It is original nVidia card.

Anyone tried that, or have any good idea of why it does not work?

Machine has windows 10, and it is 4.1 upgraded to 5.1.

Thanks!
 
Hey guys, i tried this with a GTX780 but i dont get any boot image. It is original nVidia card.

Anyone tried that, or have any good idea of why it does not work?

Machine has windows 10, and it is 4.1 upgraded to 5.1.

Thanks!

Not all GPUs of the Kepler era have GOP UEFI firmwares from factory, these are from the pre-UEFI era - UEFI 2.3.1c was only ratified in late 2013 and back in 2014 the GPUs started to become GOP compliant. For example, back then you had to ask eVGA the tech support for the GOP firmware.

Did you tried checking if the GPU have the most recent firmware?
 
Hi Alex!

I used this one:

Hard for me to tell if it is good or bad, but card looks just like the picture so i used this BIOS.

When running GPU-Z it says UEFI in the checkbox.

1715642993873.png
 
Hi Alex!

I used this one:

Hard for me to tell if it is good or bad, but card looks just like the picture so i used this BIOS.

View attachment 2377762

From the BIOS date, is not a UEFI GOP GPU.

UEFI 2.3.1c was only ratified in late 2013 and most GPUs only started to be GOP compliant late in 2014.

For example, late-2013 Mac Pro was not GOP compliant until firmware upgrades later in 2016.

You can try to add GOP to the GPU firmware, Win-raid have a tool/tutorial to do it.

 
From the BIOS date, is not a UEFI GOP GPU.

UEFI 2.3.1c was only ratified in late 2013 and most GPUs only started to be GOP compliant late in 2014.

For example, late-2013 Mac Pro was not GOP compliant until firmware upgrades later in 2016.

You can try to add GOP to the GPU firmware, Win-raid have a tool/tutorial to do it.


Oh, so the EFI mod on Mac Pro will only work with newer PC cards, not the old ones that can run in Mac OS with no (additional) drivers?

Like GTX 780 and the old Titan card, (before Titan X).

Those both run with no (additional nVidia ) drivers in Mac OS.

Seems someone put out the Mac ROM there too:

But maybe that card will not work now that there is a special EFI in the Mac? Will it work with Mac-Boot-Screen flashed cards after the EFI mod?
 
Last edited:
You are mixing things here.

EnableGOP requires a GPU that supports GOP from factory. I've already explained that - a GPU that do not have UEFI GOP support won't work.




You are mistaking things here, there are no GPU that works without drivers. Maybe you are trying to say that macOS already have the drivers for the GPU.

Anyway, this have no correlation with GOP support at all since there are Kepler GPUs released later than the UEFI 2.3.1c ratification by several OEMs that are perfectly UEFI compliant, like the famous HP GT 630.

Several GPU makers only started to include GOP with Maxwell GPUs, eVGA is the most common offender.



MacVidCards flashed GPUs and EnableGop do not mix. If you have a MacVidCards flashed GPU, stolen/ebay/etc, the GPU will only work after macOS already loaded the GPU drivers.

With a MacVidCards GPU, you have to remove EnableGop from the MacPro BootROM.

yeah, i understand that you need drivers to run the hardware ;) but what i meant was additional drivers, as installing another driver on top of what is built in to the OSX. Apple dropped that, so nVidia cards are no-go in later OSX releases.

I have a Titan X 12Gb Card actually in another PC. Maybe i should try to swap them over. That one should have way more updated firmware standard.

Maybe it will end up with the 6800 XT anyways, i dont know.

Good thinking, thanks again for explanation, as always!
 
Oh, so the EFI mod on Mac Pro will only work with newer PC cards, not the old ones that can run in Mac OS with no drivers?

EnableGOP requires a GPU that supports GOP from factory. I've already explained that - a GPU that do not have UEFI GOP support won't work until macOS loaded the GPU drivers, so, no pre-boot configuration support.

A easy way to check if the GPU is GOP compliant is to see if OpenCore can provide the BootPicker, if so, the GPU is UEFI GOP compliant.

Like GTX 780 and the old Titan card, (before Titan X).

Those both run with no drivers in Mac OS.

You are mistaking things here, there are no GPU that works without drivers. Maybe you are trying to say that macOS already have the drivers for the GPU.

Anyway, this have no correlation with GOP support at all since there are Kepler GPUs released later than the UEFI 2.3.1c ratification by several OEMs that are perfectly UEFI compliant, like the famous HP GT 630.

Several GPU makers only started to include GOP with Maxwell GPUs, eVGA is the most common offender but there are others, like Gigabyte.

Seems someone put out the Mac ROM there too:

But maybe that card will not work now that there is a special EFI in the Mac? Will it work with Mac-Boot-Screen flashed cards after the EFI mod?

MacVidCards flashed GPUs and EnableGop do not mix. If you have a MacVidCards flashed GPU, stolen/ebay/etc, the GPU will only work after macOS already loaded the GPU drivers.

With a MacVidCards GPU, you have to remove EnableGop from the MacPro BootROM.
 
Seeking advice:

  • I’m looking to flash my Sapphire Pulse RX 5600 XT with modified firmware after adding EnableGop as per the instructions in the OCLP readme.
  • In Windows 10 on my Mac Pro 5,1 with the GPU in the bottom slot, I fire up amdvbflash in a command prompt, this version: from TechPowerUp.
  • When dumping the firmware with -s, the file comes out at 1024kb (from memory, so I’m assuming 1024kb but either way about 1Mb).
  • When I save the firmware with GPU-Z the file / rom dumped is half the size, again I think 512kb.
  • This matches the size of official firmware/roms from Sapphires site (512Kb each for performance or ‘silent’ versions).


Does anyone know why the difference?

I appreciate this is starting to veer off into not really being a Mac topic/specific issue.
 
Seeking advice:

  • I’m looking to flash my Sapphire Pulse RX 5600 XT with modified firmware after adding EnableGop as per the instructions in the OCLP readme.
  • In Windows 10 on my Mac Pro 5,1 with the GPU in the bottom slot, I fire up amdvbflash in a command prompt, this version: from TechPowerUp.
  • When dumping the firmware with -s, the file comes out at 1024kb (from memory, so I’m assuming 1024kb but either way about 1Mb).
  • When I save the firmware with GPU-Z the file / rom dumped is half the size, again I think 512kb.
  • This matches the size of official firmware/roms from Sapphires site (512Kb each for performance or ‘silent’ versions).


Does anyone know why the difference?


Some GPUs with a compute firmware/gaming firmware or performance/low power switch amdvbflash dump the whole SPI flash instead of just half that you need.

You can confirm doing md5sum with the first and second half separately (you can use a hex editor and split it into two or use dd with first or second half piping to md5sum and etc) and then checking with what GPU-z dumps/Sapphire sources.

I appreciate this is starting to veer off into not really being a Mac topic/specific issue.

Techpowerup forum will be more appropriated for help with this issue.
 
I very recently solved the same situation you seem to have: 5,1 bootROM with EnableGOP, OCLP, and a (used eBay) Sapphire Pulse RX 580 8GB with dual BIOS switch but no boot picker unless AMD Inject GOP was selected in the advanced OCLP config.

There is a method for flashing GPU directly on a cMP. I’m posting steps with screenshots. Even if it doesn’t help you, perhaps it will help others. I expect this method will work with any suitable GPU.

Look at white sticker on GPU card. Model info will help narrow the BIOS hunt on TechPowerUp.

View attachment 2303277

Note the thin red box highlighting E353.

At TechPowerUp’s video BIOS collection set filters to match the GPU.

View attachment 2303278

Nitro+ models are included so scroll to the bottom and see 7 versions for Pulse.

View attachment 2303279

Click details for each Pulse model and look at third line under “BIOS Internals”. There are 4 versions matching E353 and 3 versions for E387.

View attachment 2303280View attachment 2303281

Comparing the 4 possible matches, the most obvious difference is memory. By build date, they show

2017-03-10 Hynix
2017-03-24 Autodetect, Hynix, Samsung
2017-11-20 Micron
2018-07-19 Autodetect, Hynix, Samsung w/ more aggressive timings

One could open the card to physically examine memory but the necessary info emerges later in the process. It is easy to downloaded all 4 files, but on a hunch I downloaded the two with Hynix/Samsung.

Next create a bootable linux flash drive to run a GPU ROM flash tool:

Download and install balenaEtcher. Currently this app must run from an admin account. The app asks for a password without asking for a user, and it fails to pass forward a root password from a non-admin account. The app assumes the logged in user has admin rights.

Download grml-flash (aka “November_Rain”).

Use balenaEtcher to load NOVEMBER_RAIN.dmg onto a USB flash drive. Do not mount the dmg beforehand.

View attachment 2303282

After balenaEtcher finishes, open the USB drive, navigate to the folder flash/Video, and copy into it all BIOS chosen from TechPowerUp.

Shut down the cMP and disconnect all boot drives. Connect a wired keyboard and mouse.

Insert the USB flash drive into a front USB port and boot the machine. Be patient, the system will eventually determine the USB drive is the only boot option and will load grml linux. Assuming the GPU has no pre-boot screen functionality, it may be a minute or more before a console appears on the screen.

Select or ignore the option to localize keyboard.

Press ‘x’ to launch the grml linux GUI.

Right-click anywhere on the screen and select ‘xterm’.

(If nothing appears on-screen after several minutes and haven’t gotten this then SSH into the machine to proceed. I did that in order to save screenshots from Terminal. The user=root and password=flash ).

On the command line enter lsblk and look for the sdd result. ( It can change with each boot so don’t assume it will always be the same. ) Use that path to cd into the Video folder containing the flash tools and downloaded BIOS.

View attachment 2303283

Run the ls command to see the tools and BIOS.

View attachment 2303284

Enter this command to identify the adapter used with the AMD GPU to be flashed. (If flashing an Nvidia GPU then use instructions for nvflash instead.)

sudo ./amdvbflash -i

Assuming there is only one card in the system the result will likely be 0. To get additional information about the GPU enter

sudo ./amdvbflash -ai 0

View attachment 2303285

Look at the “Bios Config File” info highlighted by the red rectangle. Compare this to the various “BIOS Internals” shown on TechPowerUp and there is only one match for this case — BIOS 2017-03-24 with Hynix/Samsung. This is the correct ROM to flash this GPU.

View attachment 2303286

Backup the current ROM ( replace ‘<currentbios>’ with a filename you chose)

sudo ./amdvbflash -s 0 <currentbios>

View attachment 2303287

Flash the matched bios (replace ‘<newbios>’ with your correct BIOS)

sudo ./amdvbflash -f -p 0 <newbios>

View attachment 2303288

Reboot the system leaving in the linux grml USB drive. If the the flash was successful a pre-boot screen appears much earlier in the process than before.

Shutdown, remove the USB drive, reconnect internal boot drive(s), and boot. It may be overkill, but I did a deep NVRAM reset (hold CMD-OPT-P-R through three chimes, let go, you’ll hear a fourth) to clear any lingering GPU parameter that might be there. Tsialex or someone else might comment on whether that step has any real value!

In OpenCore-Patcher change Advanced settings to disable AMD Inject GOP, install, and reboot. If all is well then you’ll see the boot picker as expected.

Can you have two graphics cards running in my case the AMD HD 5770 for boot and the MSI Aero RX560 ITX as the 2nd card to be flashed. I actually am able to boot into the Linux flash drive that way on the MacPro5,1 and even the flashing looks successful I don’t know if it really flashed or not? I am just trying to get stock rom re-flashed since I believe it was used for mining.
 
...amdvbflash dump the whole SPI flash instead of just half that you need.
Thanks. Will check out the TPU forums.

I assumed that when amdvbflash writes (-p) a single ROM it normally respects the BIOS switch (since the Sapphire instructions just say to flash the BIOS version you want according to your switch setting), just hope nothing odd is going on like a different behaviour with this version of amdvbflash ve the one current when they wrote the instructions. For example, if it isn't respecting the switch even for writes, and would that mean e.g. if you flashed a single BIOS would it just write to the first 512kb, in the same order it reads it for a dump? Meaning if you wanted to flash the 'second' one, you had to reconstruct a whole SPI flash, appending the modded BIOS to the end of a stock 'first' BIOS file.
 
Last edited:
Can you have two graphics cards running in my case the AMD HD 5770 for boot and the MSI Aero RX560 ITX as the 2nd card to be flashed. I actually am able to boot into the Linux flash drive that way on the MacPro5,1 and even the flashing looks successful I don’t know if it really flashed or not? I am just trying to get stock rom re-flashed since I believe it was used for mining.

you can do that with High Sierra,
since Mojave the OS will not boot if you mix GPUs what need different drivers
 
  • Like
Reactions: osxfr33k
I’m looking to flash my Sapphire Pulse RX 5600 XT with modified firmware after adding EnableGop as per the instructions in the OCLP readme.
  • In Windows 10 on my Mac Pro 5,1 with the GPU in the bottom slot, I fire up amdvbflash in a command prompt, this version: from TechPowerUp.
  • When dumping the firmware with -s, the file comes out at 1024kb (from memory, so I’m assuming 1024kb but either way about 1Mb).
  • When I save the firmware with GPU-Z the file / rom dumped is half the size, again I think 512kb.
  • This matches the size of official firmware/roms from Sapphires site (512Kb each for performance or ‘silent’ versions).
Does anyone know why the difference?
Compare both files with any hexeditor.
I guess the second half of the bigger file is filled with padding bytes (usually 0xFFh), i've never seen a rom containing two VGA bios images yet. Dual-bios cards have two SPI which can be selected by a miniature switch.

Or search in file for the bytes 0x55AAh, when located at offset ending with 0x0h (left side in hex editor) and multiple of 0x200h, it marks the beginning of an image. AMD usually has 2 or 3, VGA-bios, GOP (x64) and GOP (ARM).
 
cc @tsialex , @Macschrauber , @h9826790

For these two GPUs
  • RX6800
  • RX6900XT
listed on p.1 Supported hardware would it be correct to update both entries to say:
?

Yes, unless the GPU firmware is patched, the Mac Pro will not complete POST when a NAVI 2x GPU is installed.

All NAVI 2x GPUs require the firmware patch, gaming (RX 6xxx) or Pro (W6xxx) versions, no exceptions.
 
Thank you!

So just to double-check, I should make this update to the set of cards at the end of the Supported hardware list as well, right?
  • WX4130, WX4150, WX4170, WX7100 (AMD GCN4, MXM) (Syncretic patch required)
Since these are MXM, we must be talking iMac in this case - presumably someone (quite possibly yourself, @tsialex !) can confirm if the same issue applies on these cards in those machines.
 
Oh right, I can't even read, apparently! Okay - tyvm! :)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.