Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

myvbiffm

macrumors newbie
Jan 14, 2024
5
2
Hello community! I have the 5.1 mac and use windows only, but mac doesn't boot with rx6650xt. Can I patch it's rom and flash this rom to GPU?
 
Last edited:

myvbiffm

macrumors newbie
Jan 14, 2024
5
2
I have created a patch that allows AMD RX6600/RX6800/RX6900 cards to work on a Mac Pro 4,1/5,1 (and maybe a 3,1? I have no idea if that's even possible). I examined ROM dumps of RX6600/6600XT and RX6800/6800XT/6900XT from various manufacturers, and every one I looked at used the same (broken) AMD reference code in the x86_64 EFI section (the manufacturer-specific differences are in the non-EFI section). While it's certainly possible that some cards won't do that, it looks like a one-size-fits-all patch may be possible here. (As with all such things, this comes without any warranty, use at your own risk, the usual caveats apply.)

I do not possess an RX6x00 card to test with. @caingraywood was generous enough to perform tests on his XFX SWFT309 RX6800XT and Sapphire Nitro+ RX6900XT cards. Many thanks to him.
(NOTE that this has been tested on RX6800XT and RX6900XT, but the RX6600/6600XT has NOT yet been tested. There is no reason it shouldn't work, but you should be aware that if you try it, you're the tester. Please let me know if you do try an RX6600/6600XT.)

Because I don't have one of these cards, I can't offer any real assistance with the flashing process. As I understand it, the ATIflash/AMDVBFlash utilities will work with the RX6x00 cards, but you'll need to investigate this on your own (and hopefully post your findings here, so others can benefit as well). (Note that @caingraywood was using a hardware flasher for his tests, so I don't think he can offer software flashing advice, either.)

Attached is a ZIP file containing a MacOS program named FixRX6x00ROM. It's a command-line program you run from a Terminal session. You should not need any special permissions; however, programs sometimes lose their executable mode bits when using ZIP, so you may need to execute chmod 755 FixRX6x00ROM after unzipping.

You'll need to acquire a dump of your current ROM, using whatever means you have available (ATIflash/AMDVBFlash/other). Once you have that, make a copy and put it somewhere safe, then you can run ./FixRX6x00ROM {filename} from a Terminal session (e.g. ./FixRX6x00ROM RX6800XT.XFX.SWFT309.original.BIN)

FixRX6x00ROM does the following:
  • Reads the dump of your current ROM, verifies that it's of the expected format
  • Searches the dump of your current ROM for the AMD Reference code (6600 or 6800/6900).
  • If the AMD Reference code is found, replaces it with the correct (6600 or 6800/6900) patched code.
  • Creates a patched file named the same as the original, but with ".PATCHED" appended (e.g. RX6800XT.XFX.SWFT309.original.BIN.PATCHED). Your original ROM dump file is left unmodified.

If your current ROM does not appear to be properly formatted, or it does not contain the AMD Reference code, FixRX6x00ROM will display an appropriate message and do nothing else. If the patcher fails for your ROM, please zip up the ROM dump and PM it to me. I'll take a look at it when I can.

If FixRX6x00ROM successfully patches your ROM, you can then flash the patched ROM back to your video card (again, using whatever means you determine to be appropriate), and it should then work with MacOS. IMPORTANT NOTE: apparently, for the RX6x00(XT) to work with MacOS, you'll need to be running OpenCore, WhateverGreen, Lilu, and include agdpmod=pikera in your boot-args. Failure to do this will almost certainly result in a black screen after booting. (Again, I don't have a card to play with, so any questions regarding the boot-args or the specific configuration of OpenCore, WhateverGreen, and/or Lilu need to be asked of someone else.)

The patch itself is only five bytes. The EFI code in the ROM is compressed, though, so making any change causes the entire EFI section to change - that's why, if you compare your original ROM file and the patched ROM file, you'll see a lot more than 5 bytes changed.

IMPORTANT: This patch does not attempt to provide pre-boot support (e.g. it won't let you see the native Apple boot picker). If you require that, MVC apparently provides that functionality. This patch simply fixes the bug in the AMD code that prevented the card from booting properly. With the patch, these cards should behave just like any other non-Mac video card - black screen until either OpenCore initializes or the MacOS drivers load.
ALSO: The patch does not modify clock speeds, temperature thresholds, timing data, or anything other than the EFI initialization process - if you've tweaked your card, the tweaks should still be there after patching (alternatively, you can tweak the card after patching as well, assuming your tweak program doesn't overwrite the patch).

The patched ROMs have also been tested on a non-Mac system. The nature of the patch is such that it shouldn't affect operation on non-Mac systems (i.e. it should work just fine on a Windows or Linux system), and small-scale testing supports that. I'm interested to hear if anyone finds an exception where a non-Mac doesn't work properly.

And before anyone asks: even though patching the Mac Pro BootROM seems like the cleaner solution (which would allow these cards to work unmodified), that's a much larger project that creates some new problems of its own. In this case, patching individual cards is actually the better solution, at least IMHO.

[EDIT: to cut down on the back-and-forth between MacOS and Windows during this process, in a later post I attached both a Windows (command-line) version of the patcher program and copies of various RX6x00 ROMs from TechPowerUp, already pre-patched.]

Courtesy of @caingraywood:

1650536306200-png.1994480

1650524931122-png.1994432

1650524963695-png.1994433


And now, back to the AVX integration problem that's been driving me up the wall...

[EDIT (for clarity): that last sentence refers to my AVX emulator, which is an entirely separate project that has nothing to do with the RX6x00 patch. I only detoured into the RX6x00 code because I was frustrated with the AVX project.]
Hello! Could you please help me to figure out - can I use your patcher to patch rx6650xt rom? I apologize if this question has already been asked before. I hope that will find some help here. I have the 5.1 mac and use windows only, but mac doesn't boot with rx6650xt.
 

myvbiffm

macrumors newbie
Jan 14, 2024
5
2
Hello community! I have the 5.1 mac and use windows only, but mac doesn't boot with rx6650xt. Can I patch it's rom and flash this rom to GPU?
Downloaded patched ROM file for 6600xt and just loaded it to rx6650xt using hardware programmer. Mac is alive. Works perfect in windows. GPU is defined in the system as 6600xt.
 

foxter

macrumors newbie
Jan 20, 2024
1
0
hello. where i can download FixRX6x00ROM windows version?
FixRX6x00ROM from ZIP return "Segmentation fault: 11" error (launch in Sonoma)
 

Symmel

macrumors newbie
May 11, 2022
3
0
Hello

Anybody had success with RX6900XT Macpro 5,1 on sonoma?

I have flashed the card but when Sonoma/Ventura loads the driver I get black screen.

(Runs perfect on Monterey)

Any ideas?

Thanks
 

tsialex

Contributor
Jun 13, 2016
13,005
13,238
Hello

Anybody had success with RX6900XT Macpro 5,1 on sonoma?

I have flashed the card but when Sonoma/Ventura loads the driver I get black screen.

(Runs perfect on Monterey)

Any ideas?

Thanks

No support for NAVI GPUs after Monterey via OCLP with a MacPro5,1. Ventura and Sonoma GPU drivers require AVX2.0.
 

Symmel

macrumors newbie
May 11, 2022
3
0
No support for NAVI GPUs after Monterey via OCLP with a MacPro5,1. Ventura and Sonoma GPU drivers require AVX2.0.
Thanks that explains it. Do you have any suggestion for cards when I want to upgrade my RX580 NITRO?
 

tsialex

Contributor
Jun 13, 2016
13,005
13,238
Thanks that explains it. Do you have any suggestion for cards when I want to upgrade my RX580 NITRO?

Stay put, no good options at this moment, if you want to run anything over Monterey with a MacPro5,1.

For Ventura and Sonoma, you have the most powerful fully working GPU right now with a RX 580. Progress is being made with VEGA/VII, but until all issues are solved, do not spend money with a newer GPU.
 
  • Like
Reactions: Symmel and TheStork

Marswarrior462

macrumors regular
Sep 4, 2020
224
402
Calgary, AB, Canada
I didn't read the whole thread (there's no way I'm going to read 70 pages of this), so I don't care if this has already been answered. I have a 16" MacBook Pro hooked up to a Studio Display and an AMD Radeon 6900XT eGPU. I just got the GPU and the display a few weeks ago. I'm curious if the eGPU supports ray tracing on macOS. I know the 6900XT supports ray tracing, but I want to make sure it works on macOS. Does the 6900XT support ray tracing on the Mac?
 

tsialex

Contributor
Jun 13, 2016
13,005
13,238
Does the 6900XT support ray tracing on the Mac?

No. Apple API supports some GPU acceleration help with Intel integrated GPUs (Skylake and newer) but real hardware accelerated ray tracing is only available with Apple Silicon M3 GPUs.

AMD as a MTLDevice, have worse support than Intel.


 

Marswarrior462

macrumors regular
Sep 4, 2020
224
402
Calgary, AB, Canada
No. Apple API supports some GPU acceleration help with Intel integrated GPUs (Skylake and newer) but real hardware accelerated ray tracing is only available with Apple Silicon M3 GPUs.

AMD as a MTLDevice, have worse support than Intel.

What about with Bootcamp? Why would Apple not allow it? The only reason I can think of is to artificially make the Intel Macs worse so you have to get an M3 Mac or newer in order to get ray tracing, which is another vile move by Apple
 

tsialex

Contributor
Jun 13, 2016
13,005
13,238
What about with Bootcamp?

AFAIK, Boot Camp (not really Boot Camp, but the Apple EFI firmware) only limits you with some advanced virtualisation modes, like nested virtualisation, this very specific limitation is unrelated to the Windows ray tracing support.
 

myvbiffm

macrumors newbie
Jan 14, 2024
5
2
Downloaded patched ROM file for 6600xt and just loaded it to rx6650xt using hardware programmer. Mac is alive. Works perfect in windows. GPU is defined in the system as 6600xt.
Hello community! An update about my rx6650xt.
When I first launched "robocop: rogue city" - I noticed, that game was really slow. So I opened AMD software Adrenaline and just checked gpu clocks and power. It showed about 500Mhz gpu clock under load and something about 30W power. Then I decided to run stress-test and it showed same results. In "performance" I selected manual settings and saw that min freq is 700 and max is 500. I put min 2000 and max 2400. Then ran stress-test again and it showed good results. Then ran robocop and it ran perfect. After, I decided to run some other game with manual freq settings. Call to Arms - Gates of Hell - runs great first seconds(gpu freq is keepeng hight), but after couple of seconds frequency jumps from 2000+ to 30-130Mhz and again to 2000+. Cs2 - same results. Bios from techpowerup shows 500Mhz as default clock. Msi afterburner freq param shows 650Mhz as max value. I guess that something not really great with techpowerup's bios.


Сan any of you share gigabyte rx6600xt eagle Rom file please? I would be very grateful and will give an update.
 
Last edited:

johnnymcc

macrumors regular
Jul 30, 2019
131
35
Can I use this patch for an RX 6950XT reference card? Oh wait - maybe I have to flash it with a 6900XT reference rom?
 
Last edited:

flyproductions

macrumors 65816
Jan 17, 2014
1,048
445
Can I use this patch for an RX 6950XT reference card? Oh wait - maybe I have to flash it with a 6900XT reference rom?
Don’t think 6900-Rom will work for a 6950. Most likely 6950-Rom needs to be patched with Syncretics and card needs to be made working with OCLP-patching
 
Last edited:

tsialex

Contributor
Jun 13, 2016
13,005
13,238
Don’t think 6900-Rom will work for a 6950. Most likely 6950-Rom needs to be patched with Syncretics and card needs to be made working with OCLP-patching

Several users successfully cross-flashed Radeon RX 6x50 cards with the 6x00 firmware, including the mentioned 6950XT, just look at previous posts/threads, like this one below:

 
  • Like
Reactions: flyproductions

Vanjus666

macrumors newbie
Feb 21, 2024
6
0
Hi all,
i am new here, and new with upgrading my Mac Pro 5.1. I have flashed my ASROCK RX6600 card, and it not work on my Sonoma 14.3.1., but working in Windows boot partition.

Can anyone tell me - is there limitation with OS X, is Monterey the last OS X to use RX 6x00 series on Mac pro 5.1.?

Thank you in advance.
 

tsialex

Contributor
Jun 13, 2016
13,005
13,238
Can anyone tell me - is there limitation with OS X,

Limitation is the Xeon processor missing AVX2.0 instructions.

is Monterey the last OS X to use RX 6x00 series on Mac pro 5.1.?

Ventura and Sonoma are compiled to require the usage of AVX2.0 with GPU drivers, so, no NAVI GPUs with the combo of Ventura/Sonoma and MacPro3,1/5,1/6,1.

So, yes, currently the newest macOS release that can run a NAVI GPU is Monterey.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.