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.
Unfortunately, pulling everything gave the same result. Nothing. Currently running on hdmi, I might try and borrow a displayport cable and see if that makes a difference (earlier in the thread someone had the issue on displayport but resolved on hdmi)

If I put the oc drive back in it gets to the opencore boot picker no problem and if I hold option beforehand it gets to the apple boot picker (doesn’t progress to the oc picker) but no signal to the monitor.

Is it possible my gpu has non standard firmware? (How can I check?) Can you flash the enablegopdirect.ffs to the bootrom?
Sounds like the GPU gives a wrong resolution to the monitor. You might try to power circle when you are in this ‚invisible bootpicker‘.
 
Are you keeping pressed the Option (⌥) key during start up? If Yes you might have not flashed the upgraded firmware . You need to enter programming mode on the cMP to be able to flash the firmware.
@webtrialsgeek - If it works in OpenCore then it should work in the firmware. @startergo 's answer seems best to me. Are you absolutely sure you've successfully burnt the updated ROM to the firmware? And are you pressing and holding the alt/option key for long enough? Timing might matter too, start to press and hold it as soon as you hear the first sound of the chime (assuming you have a chime) and then keep holding it for potentially a loooooong time (not just until the screen flashes, but until some icons appear).
 
One can also inspect the loaded UEFI drivers in openshell environment.
Code:
dh -d -v -b
should display loaded drivers one screen at a time.
Code:
dh -d -v > drivers.txt
Should record all loaded drivers in a file drivers.txt
 
Using the dump rom app shows the enablegop module in there, so I guess its there. The flash and check were successful.

cycling the monitor in the invisible bootpicker doesn't do anything either, haven't found a displayport cable so can't try that yet (not that I think that will help).

EDIT: interestingly, I just updated opencore to 1.3 and now my legacy windows install is showing up in the OC bootpicker (yes definitely the oc one!) and it worked to get into windows - have they added legacy windows support, or what is going on here ?! 🤣
 
Last edited:
Using the dump rom app shows the enablegop module in there, so I guess its there. The flash and check were successful.

cycling the monitor in the invisible bootpicker doesn't do anything either, haven't found a displayport cable so can't try that yet (not that I think that will help).

EDIT: interestingly, I just updated opencore to 1.3 and now my legacy windows install is showing up in the OC bootpicker (yes definitely the oc one!) and it worked to get into windows - have they added legacy windows support, or what is going on here ?! 🤣

You can reset the NVRAM with your keyboard?

Some keyboards, even some Apple keyboards does not work for pre-boot configuration support with a MacPro5,1, like this first generation Apple Keyboard with Numerical Keys made from August 2007 to sometime in 2008 that does not work for pre-boot configuration support with a MacPro5,1, the issue is the ProductId 0x0220 with 0.69 firmware:

Code:
Apple Keyboard:

  Product ID:    0x0220
  Vendor ID:    0x05ac (Apple Inc.)
  Version:     0.69
  Speed:    Up to 1.5 Mb/s
  Manufacturer:    Apple, Inc
  Location ID:    0xfd120000 / 4
  Current Available (mA):    100
  Current Required (mA):    20

This second (or third?!?) generation with ProductID 0x024f and firmware 0.74 works perfectly:

Code:
Apple Keyboard:

  Product ID:	0x024f
  Vendor ID:	0x05ac (Apple Inc.)
  Version:	0.74
  Speed:	Up to 1.5 Mb/s
  Manufacturer:	Apple Inc.
  Location ID:	0xfa232000 / 4
  Current Available (mA):	500
  Current Required (mA):	20
  Extra Operating Current (mA):	0

There are other keyboards made by Apple that have issues with pre-boot configuration support with a MacPro5,1 too, but AFAIK no one compiled a list.
 
Last edited:
You can reset the NVRAM with your keyboard?

Some keyboards, even some Apple keyboards does not work for pre-boot configuration support with a MacPro5,1, like this first generation Apple Keyboard with Numerical Keys made from August 2007 to sometime in 2008 that does not work for pre-boot configuration support with a MacPro5,1, the issue is the 0.69 firmware:

Code:
Apple Keyboard:

  Product ID:    0x0220
  Vendor ID:    0x05ac (Apple Inc.)
  Version:     0.69
  Speed:    Up to 1.5 Mb/s
  Manufacturer:    Apple, Inc
  Location ID:    0xfd120000 / 4
  Current Available (mA):    100
  Current Required (mA):    20

This second generation with ProductID 0x024f and firmware 0.74 works perfectly:

Code:
Apple Keyboard:

  Product ID:    0x024f
  Vendor ID:    0x05ac (Apple Inc.)
  Version:    0.74
  Speed:    Up to 1.5 Mb/s
  Manufacturer:    Apple Inc.
  Location ID:    0xfa232000 / 4
  Current Available (mA):    500
  Current Required (mA):    20
  Extra Operating Current (mA):    0

There are other keyboards made by Apple that have issues with pre-boot configuration support with a MacPro5,1 too.

But, seems not the 0.69 firmware alone is for this.

Here is a 0x0221 Product ID (German) Keyboard what I use for a long time on my test box, of course with continuous use of preboot keys:

Code:
Apple Keyboard:

  Product ID:	0x0221
  Vendor ID:	0x05ac (Apple Inc.)
  Version:	0.69
  Speed:	Up to 1.5Mb/sec
  Manufacturer:	Apple, Inc
  Location ID:	0x14113200 / 26
  Current Available (mA):	500
  Current Required (mA):	20
  Extra Operating Current (mA):	0
 
  • Like
Reactions: woefi and tsialex
But, seems not the 0.69 firmware alone is for this.

Here is a 0x0221 Product ID (German) Keyboard what I use for a long time on my test box, of course with continuous use of preboot keys:

Code:
Apple Keyboard:

  Product ID:	0x0221
  Vendor ID:	0x05ac (Apple Inc.)
  Version:	0.69
  Speed:	Up to 1.5Mb/sec
  Manufacturer:	Apple, Inc
  Location ID:	0x14113200 / 26
  Current Available (mA):	500
  Current Required (mA):	20
  Extra Operating Current (mA):	0

Yes, ProductId 0x0220 with firmware 0.69, I forgot to add that. I'll edit the post.
 
You can reset the NVRAM with your keyboard?

Some keyboards, even some Apple keyboards does not work for pre-boot configuration support with a MacPro5,1, like this first generation Apple Keyboard with Numerical Keys made from August 2007 to sometime in 2008 that does not work for pre-boot configuration support with a MacPro5,1, the issue is the ProductId 0x0220 with 0.69 firmware:

Code:
Apple Keyboard:

  Product ID:    0x0220
  Vendor ID:    0x05ac (Apple Inc.)
  Version:     0.69
  Speed:    Up to 1.5 Mb/s
  Manufacturer:    Apple, Inc
  Location ID:    0xfd120000 / 4
  Current Available (mA):    100
  Current Required (mA):    20

This second (or third?!?) generation with ProductID 0x024f and firmware 0.74 works perfectly:

Code:
Apple Keyboard:

  Product ID:    0x024f
  Vendor ID:    0x05ac (Apple Inc.)
  Version:    0.74
  Speed:    Up to 1.5 Mb/s
  Manufacturer:    Apple Inc.
  Location ID:    0xfa232000 / 4
  Current Available (mA):    500
  Current Required (mA):    20
  Extra Operating Current (mA):    0

There are other keyboards made by Apple that have issues with pre-boot configuration support with a MacPro5,1 too, but AFAIK no one compiled a list.
yeah I can reset the Nvram no problem, Im using a generic usb keyboard as the apple bt one never works before it makes it into macOS. Im pretty sure its getting to the bootpicker, I just can't see it. Its annoying for things like Nvram resets when it no longer goes straight into open core, but now that oc supports my legacy win10 install its kind of ok. I tried the display port - same thing and my monitor has no DVI port on it. I don't really want to reflash the boot rom so for now - Thankyou everyone for the replies.
 
So Ive got a MacPro 5,1, that I used to run Mojave and Win10 with a legacy install that I could switch between the two with the bootcamp bits. For whatever reason I had to upgrade to Monterey using open core legacy patcher. That worked fine but I lost the ability to switch between windows and macOS easily...

I have an rx580 4GB card and it shows the open core bootpicker with Enable AMD GOP in the settings for open core, so I thought I could do the bootrom enablegop injection to get the pre open core picker to have easy switching again. I used the Macschrauber Rom dump with dosdude DXEInject to insert the Enablegop1.4.ffs into the bottom and it all flashed ok. a rescan of the bootrom shows it in there - "EnableGop 1.4 EFI module identified". But Im not getting anything before the open core boot picker :( any ideas?
Someone else has kindly pointed out to me (finally, sorry!) that the issue here is Enable AMD GOP in OCLP. If that is required to get a menu in OpenCore on your card, then it won't work as-is before OpenCore with EnableGop. Your card needs the GOP driver on it in order to work pre-OpenCore. Apparently GopUpdater from WinRAID is what you need. (After which EnableGop should work, and you wouldn't need Enable AMD GOP in OCLP any more, either.)
 
  • Like
Reactions: webtrialsgeek
A few members asked about any guide to flash the Mac Pro 5,1 with EnableGop. TBH, the readme file contain all the required info already, but it seems some users perfer a more detailed guidence. So, I would like to make a more "step by step" guide here about how to create the ROM, double check, and flash it etc.

This is not the only way to do it, and it's a bit over complicated. However, this procedure contain a lot of safety precausions and checking steps. Therefore, if you straightly follow this guide. The risk of bricking the cMP should be very low.

A)
Before start, the user is recommended to download all these
  1. ROMTool (credit to dosdude. Password to unzip is rom)
  2. UEFITool (credit to LongSoft)
  3. DXEInject (credit to dosdude)
  4. Hex Friend (credit to kainjow)
  5. RomDump Macschrauber (credit to Macschrauber)
  6. EnableGop.ffs (credit to Bmju, unzip the file, then go to Utilities/EnableGop)

B)
Prepare your Mac Pro 5,1's ROM image. Ideally, you already has a clean / reconstructed 144.0.0.0.0 ROM image to start with. Then you can skip this section, and jump to section C below. Otherwise, there are few ways to dump the existing ROM, but the recommended way in this post is to use RomDump Macschrauber.
  1. When you open the DMG file, you should see something like this. All we need is just run the app.View attachment 2196376
  2. When you run the app, you should see something like this, the default option should be backup firmware, just press "Enter" to continue
    View attachment 2196377
  3. It will show you a window about require admin password, please follow the onsreen instruction and enter your admin password. Depends on your Gatekeeper setting. macOS may ask you to restart your cMP.
    View attachment 2196378
  4. Then RomDump will read the ROM image from the chip, and save it in your Download folder
    View attachment 2196379
  5. Once it's done, you should see something like this
    View attachment 2196380
  6. As you can see, the file name is XXXXXXXXXXXX_144.0.0.0.0_Gop_SST25VF032B_DD.DD.DDDD_TT-TT-TT.bin in my case. Your dump will have a different name (XXXXXXXXXXXX is the full serial number of your Mac, DD.DD.DDDD is the date, TT-TT-TT is the time).

    In finder, right click the bin file, and select "Get Info", check the file size, it MUST be 4,194,304 bytes. If not, something is wrong. Stop here.

    Apart from that, please take some time to read the report.

    The firmware MUST be 144.0.0.0.0. If NOT, stop here, update your cMP's BootROM first.

    There should be zero Microsoft certificates. If NOT, stop here, fix the bootROM first. My suggestion is to request help in this thread.

    Similarly, check the BootROM's free space. In my case, 25190 avail. If that's lower than 20000, please perform a 4x NVRAM reset, then re-do step B1-B5 to dump the ROM, and check again. If the free space still low, then something is wrong, please go to this thread and ask for help.

    Since I've already flashed by cMP. Therefore, in my example, EnableGopDirect 1.2 is already there. In your case, it shouldn't be there yet.

C)
Once you have the original 144.0.0.0.0 BootROM ready, we can start to patch the ROM
  1. In Finder, we open a new folder inside the download folder, and name it EnableGopROM
  2. Move your 144.0.0.0.0 ROM image (e.g. the bin file dump from step B5) into the EnableGopROM folder
  3. Rename the bin file to 144.bin
  4. Move DXEInject to the EnableGopROM folder
  5. Move EnableGop.ffs (or EnableGopDirect.ffs if required) to the EnableGopROM folder
  6. The result should looks like this
    View attachment 2196473
  7. Open Terminal
  8. enter "cd " (cd with a space)
  9. drag the EnableGopROM folder into the terminal window
  10. It should looks like this
    View attachment 2196471
  11. Press enter
    View attachment 2196472
  12. Enter the following command into terminal (please enter the exact file name of EnableGop.ffs, e.g. including the version number if EnableGop.ffs is updated)
    Code:
    ./DXEInject 144.bin 144Gop.bin EnableGop.ffs
  13. Nothing will return in terminal. However, if you check your EnableGopROM folder now, you will see the new 144Gop.bin file is created
    View attachment 2196476

D)
Now we can varify if the 144Gop.bin is created correctly
  1. Open the UEFITool
  2. Drag the 144Gop.bin into the UEFITool window
    View attachment 2196485
  3. Press Command + F to bring up the search window
  4. Choose GUID
  5. Choose Header only
  6. enter BAE7599F-3C6B-43B7-BDF0-9CE07AA91AA6
    View attachment 2196487
  7. press OK
  8. Double-click on the search result (the blue line in the screen capture)
    View attachment 2196491
  9. As you can see from the above screen capture, the BAE7599F... entry will be highlighted automatically. This is NOT what we want. Instead, we expend the one BELOW it (3FBA58B1....), then you should able to see the User interface section. Click this line, and you should able to see the EnableGop version in the right hand side window. [The link in this post already updated to EnableGop 1.4]
    View attachment 2196495
  10. This is the first check. And now we can close UEFITool, and go for the second check
  11. Go back to the Macschrauber's CMP Rom Dump dmg, double click the test_nvram.app
    View attachment 2196502
  12. Drag 144Gop.bin into the window
    View attachment 2196503
  13. Click Choose, wait for a few seconds, then you should see the result
    View attachment 2196504
  14. In the above example, I inject the EnableGop 1.3 on top of my existing ROM dump that already has EnableGopDirect 1.2. Therefore, both entries show up. But in your case, there should be one and only one entry related to EnableGop(Direct). If not, delete the 144Gop.bin, do NOT use it. And start from the beginning again. If you start from a clean / reconstructed ROM, the final result should looks like this
    View attachment 2196511
  15. Last but not least, check the 144Gop.bin file size in Finder, it MUST be exactly 4,194,304 bytes
  16. With this triple checks, the 144Gop.bin should be safe to use.

E)
We can now flash the Mac.
  1. Shutdown the Mac
  2. Press and HOLD power button to turn on the Mac. Do NOT release the power button until the long beep (after the normal start up chime) is finished.
  3. Once the beep sound completed, you can release the power button, and let the cMP boot back to normal desktop again.
  4. Open ROMTool (RomDump Macschrauber should able to do the same thing. But we use ROMTool here).
  5. Select Dump System ROM, enter password as per on screen instruction, and save your existing ROM image (as backup)
    View attachment 2196515
  6. Select Flash System ROM
  7. Drag 144Gop.bin into the window
    View attachment 2196516
  8. Click Open
  9. It will ask you to put the Mac into firmware flashing mode, which should be done already
    View attachment 2196521
  10. Click Continue, and enter admin password as per onscreen instrcution, let it finish the job. Do NOT use your computer to do anything, do not browse the web, do not play video / music. Please just don't do anything and wait for a few seconds.
  11. Once it's done. Do NOT reboot your Mac. It's our last chance to fix the problem if we did anything wrong.

F)
Final check before reboot.
  1. Re-do steps B1-B5. Now, you should see EnableGop(Direct) is detected in step B5
  2. Open Hex Freind
  3. drag 144Gop.bin into the window
    View attachment 2196523
  4. Press Command + O
  5. Drag the latest dump from step F1 into the window
  6. Click Open
  7. Press Command + Shift + D
  8. You should see "Documents are identical"
    View attachment 2196528
  9. This should be good enough to confirm the ROM is correctly flashed
  10. If any of the steps above shows abnormal result (e.g. no EnableGop detected in step F1, or the documents are not identical in step F8), do NOT reboot. But flash the Untitled.bin (from step E5) back into the cMP. This is the last known good bootable ROM.

    [N.B. If you flash Untitled.bin back into the cMP, please use RomDump Macschrauber to dump the ROM, and use Hex Friend to compare this dump vs Untitled.bin. They should be identical]

    Never ever shutdown / reboot your Mac until you get this "Documents are identical". This is your final safety net.

F) Reboot. And now your cMP should able to give you native UEFI GOP boot screen
Does this "Enable GOP" method only affects to GPU card's bios/efi or does it do something to Macs EFI?
Maybe this could be cleared out at least in the second sentence of the guide?
"WHAT IT DOES TO WHAT"?
 
Does this "Enable GOP" method only affects to GPU card's bios/efi or does it do something to Macs EFI?
Maybe this could be cleared out at least in the second sentence of the guide?
"WHAT IT DOES TO WHAT"?


"The driver may be installed to vBIOS or to main firmware. It is expected that most Mac Pro users will use firmware insertion and most iMac users will chose vBIOS insertion, however both techniques work on both systems (but it is harder to modify the iMac firmware, since there is no simple way to enable writing to it)."
 
Does this "Enable GOP" method only affects to GPU card's bios/efi or does it do something to Macs EFI?
Maybe this could be cleared out at least in the second sentence of the guide?
"WHAT IT DOES TO WHAT"?

Seems you do not noticed that there are 2 variants:

- one for the vBios of the graphics card
- one for the Mac firmware

both are independent and don't affect the other variant.
 
  • Like
Reactions: toke lahti

"The driver may be installed to vBIOS or to main firmware. It is expected that most Mac Pro users will use firmware insertion and most iMac users will chose vBIOS insertion, however both techniques work on both systems (but it is harder to modify the iMac firmware, since there is no simple way to enable writing to it)."
Why "it is expected that most Mac Pro users will use firmware insertion"?

If I do not need to mess MP's firmware, why would I want to do that?
If I can have the boot screen with just messing my GPU's firmware?

Confusing part (for me) is that when they both have "firmware" or "bootROM", just one of them is called firmware.
And it's also called EFI. Also in GPU card there is EFI. Or bios. Or both.
VBIOS is a good term. There's no confusion where it lies.
 
Why "it is expected that most Mac Pro users will use firmware insertion"?

If I do not need to mess MP's firmware, why would I want to do that?
If I can have the boot screen with just messing my GPU's firmware?

Confusing part (for me) is that when they both have "firmware" or "bootROM", just one of them is called firmware.
And it's also called EFI. Also in GPU card there is EFI. Or bios. Or both.
VBIOS is a good term. There's no confusion where it lies.

They are both firmware, and both 'bios' (at least speaking loosely), and both EFI.

Why not mess with your MacPro's main firmware? Either way you are messing with the EFI drivers which the Mac loads, very early. In fact, you are inserting exactly the same driver, which gets loaded and then does exactly the same thing, from either place.

If you've already burnt your MacPro firmware, when upgrading from 4,1 to 5,1, or after boot rom cleaning service from @tsialex, then why not do the same again? You also get the advantage that very many different GPUs will all work for the native firmware UI (incl. native boot picker) from then on. But if you prefer to burn it to the GPU (and if it's not an AMD with too little space), then go ahead - it's your machine.
 
They are both firmware, and both 'bios' (at least speaking loosely), and both EFI.

vBIOS was very loosely used here, no? It's one of the ancient tech terms from the original IBM PC that continue to be used to this day but essentialy there is no real meaning since at least GPUs compatible with UEFI 2.x.

A better term to avoid any confusion could be GPU firmware, no?
 
Further reading the readme, also the usage of "NVRAM chip" is not correct. There is no NVRAM chip as in SRAM or EEPROM/Flash for storing the NVRAM since probably 2007ish and only some of the very early Intel Macs ever had it, not all.

Seems you want to refer to the SPI flash memory that stores the BootROM.
 
  • Like
Reactions: 0134168
They are both firmware, and both 'bios' (at least speaking loosely), and both EFI.

vBIOS was very loosely used here, no? It's one of the ancient tech terms from the original IBM PC that continue to be used to this day but essentialy there is no real meaning since at least GPUs compatible with UEFI 2.x.
I didn't say they are both vBIOS! But both 'bios' in the (loose) sense where it's still used to mean firmware, even though (device or main) firmware is (U)EFI, not BIOS, now.
 
I didn't say they are both vBIOS! But both 'bios' in the (loose) sense where it's still used to mean firmware, even though (device or main) firmware is (U)EFI, not BIOS, now.

I should have add that I'm talking about the readme, when you refer to the GPU firmware as vBIOS.
 
  • Like
Reactions: Bmju
vBIOS was very loosely used here, no? It's one of the ancient tech terms from the original IBM PC that continue to be used to this day but essentialy there is no real meaning since at least GPUs compatible with UEFI 2.x.

Further reading the readme, also the usage of "NVRAM chip" is not correct. There is no NVRAM chip as in SRAM or EEPROM/Flash for storing the NVRAM since probably 2007ish and only some of the very early Intel Macs ever had it, not all.

Seems you want to refer to the SPI flash memory that stores the BootROM.

@tsialex - How about this:

https://github.com/mikebeaton/OpenCorePkg/tree/enablegop-greadme-updates/Staging/EnableGop

https://github.com/mikebeaton/OpenCorePkg/commit/32c33e96f41f0b15e89cd695b0a08a60eabd33e8

EDIT: Now at -

https://github.com/acidanthera/OpenCorePkg/tree/master/Staging/EnableGop

https://github.com/acidanthera/OpenCorePkg/commit/32c33e96f41f0b15e89cd695b0a08a60eabd33e8
 
Last edited:
  • Like
Reactions: tsialex
@tsialex - How about this:



Yep, seems good, easier to understand, with less ambiguities and a proper usage of terms.

If you don't mind, I'll make further suggestions down the road or send a PR.
 
  • Like
Reactions: Bmju
Happy New Year, Radeon VII users!

Thank you, @Bmju!

I've just caught up with the Radeon VII Pro BIOS solution to the choppy boot screens. Flashed the Radeon VII with the Pro BIOS using amdvbflash on Debian Linux and it worked perfectly straight away, even with the earlier EnableGopDirect v1.2 in my EFI ROM. ❤️

Went back to my original EFI backup, added EnableGop v1.4 using DXEinject, flashed it and this machine is just perfect now, much faster getting to the picker too. Really appreciate all the effort that's been put into straightening out the VII!

For reference, my card is also an XFX model like @h9826790's, no issues whatsoever under macOS, Linux or Windows. 👍
 
Further reading the readme, also the usage of "NVRAM chip" is not correct. There is no NVRAM chip as in SRAM or EEPROM/Flash for storing the NVRAM since probably 2007ish and only some of the very early Intel Macs ever had it, not all.

Seems you want to refer to the SPI flash memory that stores the BootROM.
And BootROM is not read-only-memory! 🤯
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.