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.

Zs0lesz

macrumors newbie
Jul 22, 2023
10
0
Austria
Bootscreen yes/no?


No, you can only check if GOP is present: Look if the checkbox "UEFI" is checked.
Not exactly, UEFI is checked if there is any image beside the vga-bios. Also for UGA in Mac videocards, although it is not GOP.
The checkbox "UEFI" is checked.
 

tsialex

Contributor
Jun 13, 2016
13,447
13,584
If the GPU is flashed to a mining firmware, even if the mining firmware have GOP, the incorrect signing will make the Mac Pro firmware to discard the GOP module right after failing to validate it.

In my own experience, second hand eBay/AliExpress GPUs most of the time come with incorrect firmwares, sometimes even with wrong firmwares for the VRAM chips. So, double check if the card is flashed to the correct factory firmware.

The easiest way is to check TechPowerUp for your real GPU model (see the label on the backplate of the GPU) and then see if the hash is the exact same as your original dump. While GPUs from mining rigs sometimes even have backplates replaced, I'd start with the supposition that the label is correct to the GPU and go from there.
 
  • Like
Reactions: trifero

tsialex

Contributor
Jun 13, 2016
13,447
13,584
Sorry, but I'm so inexperienced, I don't know how to check it.

If you didn't understood what I've explained, it will be a rough ride… :p

Anyway, I'd start testing another UEFI GPU with the Mac Pro to be sure that the Mac Pro hardware side (EnableGop/Display/Cables/etc) is working correctly, only after confirming that it's working, I'd start learning how to check hashes, identifying VRAM chips and etc.
 
  • Like
Reactions: Bmju

Zs0lesz

macrumors newbie
Jul 22, 2023
10
0
Austria
I think I found the cause of the error.
Or maybe @tsialex called my attention.
I looked for the bios for VGA (which I think it is).
I flashed the bios, after reboot I tried to check the firmware with the dump app. He asked me to turn off SIP. I did it in recovery, and after restarting, I thought I'd give it a try. I pressed the opt button and voila. There is the boot screen.
Thanks for the help everyone.
 

Macschrauber

macrumors 68030
Dec 27, 2015
2,979
1,485
Germany
I think I found the cause of the error.
Or maybe @tsialex called my attention.
I looked for the bios for VGA (which I think it is).
I flashed the bios, after reboot I tried to check the firmware with the dump app. He asked me to turn off SIP. I did it in recovery, and after restarting, I thought I'd give it a try. I pressed the opt button and voila. There is the boot screen.
Thanks for the help everyone.
The Dumper does not check the VGA firmware, it does only check the Mac firmware. So you had not a valid GOP in your GPU, as we assumed, and you flashed the correct GPU firmware now.

Nice it works now, of course.

SIP has absolutely nothing to do with loading GOP, whats way earlier in the boot process.
 
  • Like
Reactions: Zs0lesz

Ronquillon

macrumors newbie
Jan 13, 2023
2
0
Hello there!!!

Sorry for the nub question but I am interested in performing this procedure in my cMP 4,1<5,1 early 2009, researching in Open Core Facebook Group I was told that it would be recomended to get an "clean" EFI already injected since I do hace a Windows 11 HDD which may have corrupted the EFI. Could anyone help me out here, please? I am not an expert but I can follow instructions and sofar I havent bricked my cMP running Monterey with ML Open Core.

Thanks in advance and PLEASE don't hate me!
 

tsialex

Contributor
Jun 13, 2016
13,447
13,584
Hello there!!!

Sorry for the nub question but I am interested in performing this procedure in my cMP 4,1<5,1 early 2009, researching in Open Core Facebook Group I was told that it would be recomended to get an "clean" EFI already injected since I do hace a Windows 11 HDD which may have corrupted the EFI. Could anyone help me out here, please? I am not an expert but I can follow instructions and sofar I havent bricked my cMP running Monterey with ML Open Core.

Thanks in advance and PLEASE don't hate me!

You can't get a BootROM image from another Mac Pro and flash it to yours, if that's the idea, each BootROM image is unique.

Since you have a cross-flashed Mac Pro that already run UEFI Windows, your BootROM image is compromised by the cross-flashing process and Windows UEFI SecureBoot. So, the best course of action is a payed BootROM reconstruction service. Besides that, you can try a deep NVRAM reset and see if at least your NVRAM volume is still healthy before proceeding to injecting EnableGop.
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Hi, I've been attempting to get a Mac boot screen working on my Mac Pro 5.1 so that I can boot between Big Sur/OpenCore and Mojave/native install easily. My Mac Pro has a Sapphire Radeon Pulse RX 580 8GB, purchased secondhand from OWC a few weeks ago.

I have configured my OpenCore install to an external USB drive for testing and it was set up via the OpenCore Legacy Patcher tool.

The GPU works as expected with Mojave (2 x HDMI ports) - boots with a blank screen until I see the MacOS login options. Holding option on boot does initiate the Mac EFI boot menu (boot stalls) but the display is blank. Booting into OpenCore does not give me the OC Boot Picker as standard - I have to tick the AMD GOP injection option when configuring my OpenCore (see screenshot).

OpenCore_AMD_screenshot.png


I have had an unsuccessful ROM flash to my Mac and am hoping someone in the community can help.

I’m fairly sure (see enclosed screenshots) that the flash went as expected, however the GPU does not give me a boot screen via the HDMI or DVI ports. Booting straight into either OS works as it previously did though.

The ROM flash did ask me to choose the correct EEPROM chip, which I did by physically checking the board.

Original (clean) ROM:
romoriginal_screenshot.png


Flashed ROM file:
romnew_screenshot.png


Dump from ROM post-flash:
rompostflash_screenshot.png


My thoughts:
- Non-standard firmware on the GPU is causing this to not work? My GPU has a BIOS switch at the back but switching to either option gives me the same results as above. I’m considering re-flashing the GPU with some standard firmware that I’ll have to dig up on Techpowerup. Looks like a minefield to find the exact model, and I’ve read conflicting things as to whether it will fix the problem.

- Something wrong with my Mac ROM flash? Maybe I’m missing something from the above, it looks ok as far as I can tell. I flashed with EnableGop instead of EnableGopDirect - is this correct given my OC “AMD GOP injection” requirements above?

If I can’t fix this via a Mac ROM flash then my next move is to consider flashing the GPU with EnableGop or going down the ReFit Plus route.

If anyone can offer any thoughts it would be very much appreciated. Thanks.
 
Last edited:

tsialex

Contributor
Jun 13, 2016
13,447
13,584
Booting into OpenCore does not give me the OC Boot Picker as standard

This is probably the most important info.

Your problem is the incorrect/modified/invalid/etc GPU firmware, not the Mac Pro BootROM injection. Flashing the GPU with EnableGop will give you the same result since unless the GPU have the correct and valid factory GPU firmware, you won't see the pre-boot configuration support.

You should find the correct factory GPU firmware on TechPowerUp.
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Your problem is the incorrect/modified/invalid/etc GPU firmware, not the BootROM injection. Flashing the GPU with EnableGop will give you the same result, unless the GPU have the correct and valid GPU firmware, you won't see the pre-boot configuration support.

You should find the correct factory GPU firmware on TechPowerUp.
Thanks @tsialex - I've seen some of your posts on here confirming similar things. Does switching the BIOS on the back of my GPU and still having no boot screen throw any doubt on this? I.e. if the firmware was modified, would it have likely only been one of the BIOS spaces?

Am I able to just try to find the correct factory firmware from Techpowerup and flash the GPU to standard?
 

tsialex

Contributor
Jun 13, 2016
13,447
13,584
Thanks @tsialex - I've seen some of your posts on here confirming similar things. Does switching the BIOS on the back of my GPU and still having no boot screen throw any doubt on this?

Always double check.

I.e. if the firmware was modified, would it have likely only been one of the BIOS spaces?

You have to test, mining people did very weird things to GPU firmwares back then. Doubt everything, even the label on the backplate. People back then got parts from multiple defective cards to make a working one, so, you can't be sure that the label is for your card, but start with the supposition that the backplate is from your card and the label is correct.

Am I able to just try to find the correct factory firmware from Techpowerup and flash the GPU to standard?

Finding the correct firmware and flashing it to the GPU is the only thing that will solve your problem.
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Thanks @tsialex - I've seen some of your posts on here confirming similar things. Does switching the BIOS on the back of my GPU and still having no boot screen throw any doubt on this? I.e. if the firmware was modified, would it have likely only been one of the BIOS spaces?

Am I able to just try to find the correct factory firmware from Techpowerup and flash the GPU to standard?

Sorry - missed your Techpowerup comment. That's now my next move.
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
One step forward, one step back....

I went through the process of finding out what VRAM type my GPU has by installing it in a PC and running GPU-Z. The screenshot shows that it has Samsung VRAM.

Screen Shot 2023-10-26 at 19.44.21.png


I went through the Techpowerup database and found a ROM that had "Autodetect", "Hynix" and "Samsung" listed and it seemed like the best match:

https://www.techpowerup.com/vgabios/191713/sapphire-rx580-8192-170324

I flashed the firmware using the AMD flasher tool on the Techpowerup website, installed it in my Mac and got a grey boot screen when holding down the Option key.

However... booting into any OS, native via the Mac boot screen or OpenCore via the picker results in..
- Progress bar up until 3/4 of the way up.
- Slight glitch on the screen, GPU fan acceleration then idle, display goes blank and the Mac boot hangs (can't connect via SMB or Screen Sharing as I usually would to check).

Any suggestions other than trying another ROM?
 

Ausdauersportler

macrumors 603
Nov 25, 2019
5,007
5,826
One step forward, one step back....

I went through the process of finding out what VRAM type my GPU has by installing it in a PC and running GPU-Z. The screenshot shows that it has Samsung VRAM.
Look up a tool called GopUpdater, download and use it with your original vBIOS (follow instructions on download page). Flash the GOP updated vBIOS back to your card and try again.

You can flash your card using this Linux based tool easily via ssh from any other ssh capable device on your local network - no working screen access on your cMP is necessary (follow instructions on download page).

Since your EFI boot is working I would assume the Linux tool will work likely directly from the cMP console, Linux does not use the accelerated graphics mode unlike macOS.
 
Last edited:

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Look up a tool called GopUpdater, download and use it with your original vBIOS (follow instructions on download page). Flash the GOP updated vBIOS back to your card and try again.

You can flash your card using this Linux based tool easily via ssh from any other ssh capable device on your local network - no working screen access on your cMP is necessary (follow instructions on download page).

Since your EFI boot is working I would assume the Linux tool will work likely directly from the cMP console, Linux does not use the accelerated graphics mode unlike macOS.
To clarify, I should use GopUpdater with the vBIOS that is working with the bootscreen, i.e. the one I got from Techpowerup?

Could you briefly explain what the problem is? Thanks for your help!
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
I've been through a few combinations this evening trying to get this sorted without success unfortunately.

I used gopupdater as suggested by @Ausdauersportler on the BIOS from Tewchpowerup that best matched my card.
- Boot screen is shown but any boot to MacOS hangs after the progress bar is 3/4 up with a GPU glitch, then black screen / boot hang.

Interestingly, when I checked the GPU in GPU-Z after this flash. the VRAM size was showing 0MB, as opposed to 8192MB with my original BIOS.

I also then used gopupdater on the dumped BIOS from my card as it came from OWC. This gave me no boot screen but boots to MacOS ok, as it was originally.

Checking this again after the flash in GPU-Z shows me 8192MB of VRAM as normal.

I'm running out of ideas unless anyone else has any suggestions? My guess is that I'm not flashing with the correct BIOS, but finding the right one is very difficult.
 

Borowski

macrumors 6502
Oct 22, 2018
250
68
Any suggestions other than trying another ROM?
Hi,

can you pls attach, upload (or send) the unmodified factory-rom(s) from your videocard?

It is a OWC-branded card, right?
Another user also had problems getting the card to work w/ GOP enabler.
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Hi,

can you pls attach, upload (or send) the unmodified factory-rom(s) from your videocard?

It is a OWC-branded card, right?
Another user also had problems getting the card to work w/ GOP enabler.
It was purchased from OWC second hand and is a Sapphire Pulse RX580 8GB. From what I've read elsewhere I think it's a V2 as it has a BIOS switch.

Sapphire have informed me that (according to my serial number) the switch is used to switch between ETH mining and "Gaming" as per the factory BIOS. I'm waiting to hear confirmation on which switch position is which.

Original BIOS in switch position 1 enclosed.
 

Attachments

  • rx580_owc_switch_1.rom.zip
    111.5 KB · Views: 69

sailmac

macrumors 6502
Jan 15, 2008
333
89
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.

Sticker.png


Note the thin red box highlighting E353.

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

TPU 01.png


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

TPU 02.png


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.

TPU 03.png
TPU 04.png


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.

balenaEtcher.png


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.

grml 01.png


Run the ls command to see the tools and BIOS.

grml 02.png


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

adf 01.png


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.

TPU 05.png


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

sudo ./amdvbflash -s 0 <currentbios>

adf 02.png


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

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

adf 03.png


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.
 
Last edited:

sailmac

macrumors 6502
Jan 15, 2008
333
89
BTW @MattMorris, the switch for my BIOS was set to factory default which is 'Gaming'. The switch is pushed towards the middle of the card, not towards the outside. I've heard this may make a difference in how the BIOS acts, even though it probably shouldn't. In other words, maybe the flash memory space is not identical for each side of the switch? Maybe an old wives tale...
 

MattMorris

macrumors newbie
Oct 26, 2023
11
2
Many thanks for the BIOS suggestion @Borowski

And thanks @sailmac for taking the time to make such a comprehensive tutorial. I had fudged my way through with a lot of this stuff but I’d got stuck at the correct BIOS to use as there was so many seemingly good matches, two of which I’d tried with no success.

@Ausdauersportler has very kindly manually patched the BIOS that I uploaded earlier off-thread, and I’m very grateful to now have a functioning boot screen + MacOS boot!

Thanks for everyone’s help on here.
 
  • Like
Reactions: sailmac
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.