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.

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
After that I opened insert.rom in the test folder using Synalyze It! Pro and copied the bytes then I just pasted them at offset 14200 where I previously filled FFFF.
I am not sure why you did this bit. It should not have been necessary.
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
I am not sure why you did this bit. It should not have been necessary.
I did not realize that simple copy/paste does not work. @Ausdauersportler let me know that if the script does not work then manually pasting will not work. So, in the last post I outlined the method I used when there was an extra GOP AMD image for ARM.
It turns out that my RX-580 also does not have enough space, but there is nothing to delete aside from the BIOS image, which I will need for legacy Windows. I also used the TCL template and see that there are 3 ROM images.
 

idenis42

macrumors 6502
Jan 29, 2020
272
176
I removed (80) the image. It turned out to add EnableEfi.

bash-3.2# /Users/imac27/Desktop/Загрузки/macOS\ XCODE5\ Artifacts/OpenCore-0.9.1-RELEASE/Utilities/EnableGop/vBiosInsert.sh -a wx7100_patched.rom EnableGop.efi WX7100_EG.rom
Auto-detecting GOP offset...
Compressing EFI using EfiRom...
Combining...
Verifying (starting at 0xEA00)...
Found compressed EFI ROM start at 0x34
Input size: 405696, Output size: 45056, Scratch size: 13376
SUCCESS.
Done.


bash-3.2#
 

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
I did not realize that simple copy/paste does not work. @Ausdauersportler let me know that if the script does not work then manually pasting will not work. So, in the last post I outlined the method I used when there was an extra GOP AMD image for ARM.
It turns out that my RX-580 also does not have enough space, but there is nothing to delete aside from the BIOS image, which I will need for legacy Windows. I also used the TCL template and see that there are 3 ROM images.
Okay. In general the guys over at the iMac forums are the experts at cutting ROMs down. I wouldn't claim to know what to do for each different instance of each different ROM if it has one or two or n EFI parts and not enough space. The script should work when there is enough space. If there isn't, if you're on an iMac you should be able to find a ROM for most cards with the VGA part already cut - therefore hopefully providing enough space. (I believe the VGA part would be needed for booting a legacy Windows install, but not UEFI Windows.) If you're on a Mac Pro, the simplest solution if there isn't enough space within the 128k limit on a given AMD vBIOS is to flash to main firmware. (Though I believe there's typically more spare space to start with in the Mac Pro PCI versions of the cards than there is in the iMac MXM versions.)
 

idenis42

macrumors 6502
Jan 29, 2020
272
176
I removed (80) the image. It turned out to add EnableEfi.

bash-3.2# /Users/imac27/Desktop/Загрузки/macOS\ XCODE5\ Artifacts/OpenCore-0.9.1-RELEASE/Utilities/EnableGop/vBiosInsert.sh -a wx7100_patched.rom EnableGop.efi WX7100_EG.rom
Auto-detecting GOP offset...
Compressing EFI using EfiRom...
Combining...
Verifying (starting at 0xEA00)...
Found compressed EFI ROM start at 0x34
Input size: 405696, Output size: 45056, Scratch size: 13376
SUCCESS.
Done.


bash-3.2#
I flashed the bios. Does not work.
What a mistake.
I still do not understand where the line (80) to delete?
I compared files - errors.
I tried EnableGop 1.1 (0.9.0) - compilation works
I tried EnableGop 1.2 (0.9.1) - compilation doesn't work (128k)

I tried to delete (80) and compile EnableGop 1.1 - successfully, but in the HEX editor I see errors - empty lines. I decided to flash - black screen - do not work.
What does (80) mean???
 

Attachments

  • WX7100_GOP.rom.zip
    112.2 KB · Views: 80

Macschrauber

macrumors 68030
Dec 27, 2015
2,987
1,495
Germany

internetzel

macrumors 6502a
Apr 29, 2015
627
804
I flashed the bios. Does not work.
What a mistake.
I still do not understand where the line (80) to delete?
I compared files - errors.
I tried EnableGop 1.1 (0.9.0) - compilation works
I tried EnableGop 1.2 (0.9.1) - compilation doesn't work (128k)

I tried to delete (80) and compile EnableGop 1.1 - successfully, but in the HEX editor I see errors - empty lines. I decided to flash - black screen - do not work.
What does (80) mean???
Did you already try the VBIOS provided by Ausdauersportler on GitHub? https://github.com/Ausdauersportler/IMAC-EFI-BOOT-SCREEN/tree/main/EG
Those do include EnableGOP and there's one available for at least some WX7100.
 

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
Apparently the latest AMD cards have an Intel GOP, an ARM GOP, and no VGA support. This is actually good, as it is basically quite a lot easier to remove the ARM GOP and cover its space with 0xFFFFFFFF than it is to strip VGA. As far as I can make out, the upshot of the discussions above is that the vBiosInsert.sh script works fully correctly, once this is done.

So, if you have a new AMD card like this, I would recommend:
  • Manually remove the ARM GOP, and cover it's former space with 0xFFFFFFFF
  • Make sure the end-marker of the only remaining EFI GOP (at offset 0x31 within each EFI driver) is 0x80
  • Reflash, confirm working as before ... on non-ARM machines ;)
    • The above steps all have to be done manually, I am afraid, the script does not support this
    • But, once this is done:
  • Run vBiosInsert.sh -a ... as normal - it should work and the output should be directly usable without further manual editing
 
  • Like
Reactions: startergo

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
Apparently the latest AMD cards have an Intel GOP, an ARM GOP, and no VGA support. This is actually good, as it is basically quite a lot easier to remove the ARM GOP and cover its space with 0xFFFFFFFF than it is to strip VGA. As far as I can make out, the upshot of the discussions above is that the vBiosInsert.sh script works fully correctly, once this is done.

So, if you have a new AMD card like this, I would recommend:
  • Manually remove the ARM GOP, and cover it's former space with 0xFFFFFFFF
  • Make sure the end-marker of the only remaining EFI GOP (at offset 0x31 within each EFI driver) is 0x80
  • Reflash, confirm working as before ... on non-ARM machines ;)
    • The above steps all have to be done manually, I am afraid, the script does not support this
    • But, once this is done:
  • Run vBiosInsert.sh -a ... as normal - it should work and the output should be directly usable without further manual editing
If someone needs to be sure what has changed and how to set the last/not last image use the tcl template @Bmju provided earlier:
1680513953815.png
Set the Hex Fiend to overwrite mode.

Edit:
@Ausdauersportler enhanced TCL template
 
Last edited:
  • Like
Reactions: MacNB2 and Bmju

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
Yes, I recommend Hex Fiend with that template, it works well for me.

(If you are using it with Nvidia, you need to manually remove an 0x600 or 0x400 size Nvidia header first (unless someone wants to modify the template to detect that...), though ofc you must not save the final ROM with the Nvidia header removed, it must be there! For AMD this does not apply and the template works directly.)
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
Yes, I recommend Hex Fiend with that template, it works well for me.

(If you are using it with Nvidia, you need to manually remove an 0x600 or 0x400 size Nvidia header first (unless someone wants to modify the template to detect that...), though ofc you must not save the final ROM with the Nvidia header removed, it must be there! For AMD this does not apply and the template works directly.)
Nvidia vbioses are more complicated plus they all are checksummed:
 

startergo

macrumors 603
Sep 20, 2018
5,022
2,283
Apparently the latest AMD cards have an Intel GOP, an ARM GOP, and no VGA support.
I think the legacy BIOS is still there (if you mean legacy support by VGA support). It is the first image.
 

Attachments

  • RX6900XT_patched_GOP.txt
    464.7 KB · Views: 90

idenis42

macrumors 6502
Jan 29, 2020
272
176
Did you already try the VBIOS provided by Ausdauersportler on GitHub? https://github.com/Ausdauersportler/IMAC-EFI-BOOT-SCREEN/tree/main/EG
Those do include EnableGOP and there's one available for at least some WX7100.
BIOS WX7100_1243_EnableGop.rom is bad - there is a backlight. Windows only works on TV. On MacOSX, the graphics card name is RX580. It's impossible to work. On Windows, furmark will show a test and reboot after 15 seconds.
Bios WX7100-GOP.rom is normal. There is no backlight. Opencore turns on. You can work. In Windows, furmark will show the test and everything is ok!
BIOS WX7100-GOP_ALT_VRAM.rom - normal, but the ALT button does not work.
Bios WX7100-EG2_adj_ALT_VRAM.rom - medium bios. There is a backlight when you press ALT. Windows displays on TV. Furmark shows and the temperature is very high up to 80 degrees. On MacOSX, the graphics card name is RX 580.

Eventually. I took bios WX7100-GOP.rom. Inserted EnableGop version 1.1. Now everything works - there is a backlight, there is ALT. Windows works well.
I take EnableGop version 1.2 - it doesn't work, reports 128k. I'm just curious how to properly remove (80). I never understood.
 

internetzel

macrumors 6502a
Apr 29, 2015
627
804
BIOS WX7100_1243_EnableGop.rom is bad - there is a backlight. Windows only works on TV. On MacOSX, the graphics card name is RX580. It's impossible to work. On Windows, furmark will show a test and reboot after 15 seconds.
Bios WX7100-GOP.rom is normal. There is no backlight. Opencore turns on. You can work. In Windows, furmark will show the test and everything is ok!
BIOS WX7100-GOP_ALT_VRAM.rom - normal, but the ALT button does not work.
Bios WX7100-EG2_adj_ALT_VRAM.rom - medium bios. There is a backlight when you press ALT. Windows displays on TV. Furmark shows and the temperature is very high up to 80 degrees. On MacOSX, the graphics card name is RX 580.

Eventually. I took bios WX7100-GOP.rom. Inserted EnableGop version 1.1. Now everything works - there is a backlight, there is ALT. Windows works well.
I take EnableGop version 1.2 - it doesn't work, reports 128k. I'm just curious how to properly remove (80). I never understood.
Here is a VBIOS based on WX7100_1243_EnableGop.rom but with the same modifications we had tested to work on your machine in October of last year.
The other VBIOS does work, it is not bad - the problem is that there are different kinds of WX7100 cards, very different in terms of VRAM bus speed and somewhat different in CPU clock speed.
 

Attachments

  • WX7100_1206_1950_EnableGop.rom.zip
    100.4 KB · Views: 90
  • Love
Reactions: Bmju

idenis42

macrumors 6502
Jan 29, 2020
272
176
Here is a VBIOS based on WX7100_1243_EnableGop.rom but with the same modifications we had tested to work on your machine in October of last year.
The other VBIOS does work, it is not bad - the problem is that there are different kinds of WX7100 cards, very different in terms of VRAM bus speed and somewhat different in CPU clock speed.
What version of EnableGop is in this bios? 1.1 or 1.2?
 

idenis42

macrumors 6502
Jan 29, 2020
272
176
I don't know, but any version would easily fit since the VGA legacy part is stripped off in this VBIOS.
Interesting!
I take 1.1 - it turns out to insert EnableGop.
I take 1.2 - I can't insert EnableGop - 128k
All in all, thanks for the replies!
 

Mary Andrea

macrumors newbie
Mar 23, 2023
7
1
Italy
Not two ROMS. Just the method for flashing is the same for both chips.
thk. After a lot of flashed and OPCPatchers 5.1, suddenly I saw my Catalina "rom" change from 144.0.0.0.0 to 9144.0.9.0.0. It's running OK, but I'm don't know if its worse or better. Could you tell me? thk a Lot!
 

idenis42

macrumors 6502
Jan 29, 2020
272
176
Here is a VBIOS based on WX7100_1243_EnableGop.rom but with the same modifications we had tested to work on your machine in October of last year.
The other VBIOS does work, it is not bad - the problem is that there are different kinds of WX7100 cards, very different in terms of VRAM bus speed and somewhat different in CPU clock speed.
On Windows, furmark will show a test and reboot after 10 seconds. Bad bios. Windows only works on TV. The graphics card name is RX 580.

My bios 1206_1950_EnableGop is working and stable.
 

Attachments

  • 1206_1950_EnableGop.rom.zip
    123.4 KB · Views: 76

internetzel

macrumors 6502a
Apr 29, 2015
627
804
On Windows, furmark will show a test and reboot after 10 seconds. Bad bios. Windows only works on TV. The graphics card name is RX 580.

My bios 1206_1950_EnableGop is working and stable.
So, now I know it's not just the PowerPlayInfo and the VRAM_Info which makes the difference...
Next try would be to take the legacy VBIOS header from the normal GOP version (instead of the hacked EG2 version used for the other one...)
If that doesn't change anything, the legacy VGA part strip would have to be performed again...
 

Attachments

  • WX7100_1206_1950_EnableGop_2.rom.zip
    100.4 KB · Views: 80
  • Like
Reactions: Ausdauersportler

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
thk. After a lot of flashed and OPCPatchers 5.1, suddenly I saw my Catalina "rom" change from 144.0.0.0.0 to 9144.0.9.0.0. It's running OK, but I'm don't know if its worse or better. Could you tell me? thk a Lot!
This is because you are now booting via my pre configured (for Mac Pro 5,1) OpenCore package. And that default to spoof the BootROM to 9144.x.x.x.x to provide an extra layer of protection for unintentional firmware update.

Also, for easy identification. Just like now, from that number I can tell which OpenCore version / config you are using.
 

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
IMPORTANT UPDATE:

Although we already have fairly extensive reports of GopBurstMode working well on several systems - almost always significantly improving graphics speed on systems which need DirectGopRendering, and sometimes visibly improving the speed even on systems which don't (and also safe even on much newer non-Apple Hacks) - we have now also got reports of problems with it, on a) just slightly newer Macs (e.g. MBP11,3), and b) just a few Mac Pro GPUs.

Therefore, changed recommendation: please confirm that GopBurstMode works in OpenCore before installing EnableGopDirect.efi/.ffs or EnableGop.efi/.ffs v1.2 to firmware.

The current tentative plan is to switch to only enabling GopBurstMode in EnableGopDirect.efi/.ffs, not in EnableGop.efi/.ffs, in the next, 1.3, release; therefore (once this is released) EnableGop.efi/.ffs itself will once again become safe to install whether or not GopBurstMode has been tested, but EnableGopDirect.efi/.ffs should only be installed once GopBurstMode has been tested.
 

idenis42

macrumors 6502
Jan 29, 2020
272
176
I found a way to correctly and successfully insert EnableGop into the firmware.
Bios with EnableGop.efi ver 1.1 - Videocard WX7100 works, backlight works.
Bios with EnableGopDirect.efi ver 1.1 - Videocard WX7100 no backlight, but the system boots.
Bios with EnableGop.efi ver 1.2 - backlight works.
Bios with EnableGopDirect.efi ver 1.2 - the computer does not turn on at all.
 

Bmju

macrumors 6502a
Original poster
Dec 16, 2013
702
768
Update to the update...

We've had three reports of systems where GopBurstMode caused problems. However... two have now been downgraded, and put down to other factors. While one report is very reliable, it does not affect the systems on which EnableGop works, namely the ~2009-2012 iMacs and Mac Pros listed on p.1.

I need to wait for some dust to settle here, but it may end up being the case that we do not even need an update to EnableGop - since, it seems, it may not after all be the cause of any problems on any supported systems.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.