Contribute
Register

[Success] AMD RX6000 Series working in macOS

i have a pair of 5700’s xt
waiting for a new motherboard to arrive, probably some time next week, amazon is very slow some times, well actually most of the time lol, anyway by the time the new board arrives most likely the new version of big sur will be out by then, just in case the board that i ordered has support for big sur, i do have another system, my primary aorus system with a nvidia 3090 but i decided to build a 2nd system for mac os

3090 = windows = gaming
5700 = mac os = video editing

of couse i can also do video editing on windows but i need an amd card for mac os unless i use an old nvidia card, eventually those old nvidia cards will stop being support it soon one day

i also need a working mac os system as right now, that’s why i didn’t ordered a 6000 series card, who knows when any of those will ever be supported, can’t make decisions on hoping and assuming, anyway a pair of 5700’s should work just fine
 

Attachments

  • F8E2246B-5BEE-4521-B439-02A5205140A8.jpeg
    F8E2246B-5BEE-4521-B439-02A5205140A8.jpeg
    2.8 MB · Views: 68
  • 741F1472-7DFD-45D3-A44E-2A1881888E43.jpeg
    741F1472-7DFD-45D3-A44E-2A1881888E43.jpeg
    3.2 MB · Views: 70
  • D63DB3BD-9C0C-4714-89ED-3BC88E6627AD.jpeg
    D63DB3BD-9C0C-4714-89ED-3BC88E6627AD.jpeg
    3.4 MB · Views: 68
i have a pair of 5700’s xt
waiting for a new motherboard to arrive, probably some time next week, amazon is very slow some times, well actually most of the time lol, anyway by the time the new board arrives most likely the new version of big sur will be out by then, just in case the board that i ordered has support for big sur, i do have another system, my primary aorus system with a nvidia 3090 but i decided to build a 2nd system for mac os

3090 = windows = gaming
5700 = mac os = video editing

of couse i can also do video editing on windows but i need an amd card for mac os unless i use an old nvidia card, eventually those old nvidia cards will stop being support it soon one day

i also need a working mac os system as right now, that’s why i didn’t ordered a 6000 series card, who knows when any of those will ever be supported, can’t make decisions on hoping and assuming, anyway a pair of 5700’s should work just fine
As of now, 6000 series cards are supported!
 
OK thanks. I think this confirms what I was saying to @oreoapple yesterday - the Blackmagic Raw benchmark is not testing the full compute power of the card because it is bandwidth limited on a PCIe 3.0 system.

He and I both get 125 FPS even though I have a 6900XT and he has a 5700XT. Then you get 175 FPS with a 6900XT, but you have PCIe 4.0.

And actually the maths seems to work out:
  • An 8K video frame (7,680 by 4,320) @ 32 bits per pixel (4 bytes) is 132,710,400 bytes per frame.
  • Times 125 FPS is 16,588,800,000 bytes per second (15.44 GByte/second)
    • The bandwidth of a 16x PCIe 3.0 slot is 16GB/s
  • Times 175 FPS is 23,224,320,000 bytes per second (21.6 GByte/second)
    • The bandwidth of 16x PCIe 4.0 slot is 32GB/s
Assuming I am doing the correct calculations here, it suggests that at PCIe 3.0, BRAW debayer/decode is bandwidth limited to 125 FPS with 8K frames, but at PCIe 4.0 it is GPU limited and the limit of the 6900XT is 175 FPS.

175 FPS is not that impressive as a top speed for the 6900XT given a 5700XT can do (at least) 125 FPS, but I feel that this BRAW test is probably not a very good indicator of anything other than BRAW. Certainly not representative of 3D rendering, and hopefully not representative of other GPU accelerated tasks like noise reduction (though I guess NR with 8K frames would be similarly PCIe limited; at 4K though, which most people are still using, there'd be plenty of bandwidth.)
Could even be the SSD that is the bottleneck there if it takes that in to consideration on the test.

Not a great test anyway as that FPS is never going to be a real world scenario in Davinci (Maybe on export though). Octane and Redshift along with Puget Premiere and AE would be a better indicator of performance.
 
Last edited:
@OOBIDUB Unfortunately I have an update this morning on sleep/wake - having put the system to sleep overnight and woken it this morning, my USB-C connected monitor did not wake. That's a bit annoying.

Before this morning the longest sleep I had done was about 2 hours, and that worked fine. Seems odd that 2 hours would work and 9 hours wouldn't, so probably another factor.

A second difference is that when I went to bed last night, after putting the system to sleep I turned all my monitors off at the mains. Then I turned them back on from the mains this morning, prior to waking the system. Maybe that makes some difference on the USB-C port.

I'll do some more tests and report back. I've not yet tested without WEG, and WEG hasn't been updated for these new GPUs, so it's possible it's causing some problem (as noted with others reporting no >60ghz support with WEG running.)

Update 1: Just now I left my PC for 30 mins and followed this procedure:
  • Put system to sleep
  • Turned monitors off at mains
  • Came back 30 mins later
  • Turned monitors on at mains
  • Woke system up with mouse.
And all monitors connected fine, including USB-C.

Update 2: I did a further six quick sleep tests:
  • Tests 1 - 3: Put system to sleep, waited 30 seconds, woke it up
  • Tests 4 - 6: Put system to sleep, turned monitors off at mains, waited 30s, turned monitors on, waited 30s, woke system up
In all six tests, all four monitors connected.

So maybe it's time based, ie a long sleep causes problems where a short one does not? I don't know what the difference would be between sleeps of 2 and 9 hours, but maybe things can change after a certain period of time.

Or it could just be intermittent - like a 10% chance of it failing or something like that. But then it seems to happen every time for you?

It could also depend on the monitor, and/or on the USB-C to DP cable/adapter. This is what I'm using at the moment:
View attachment 516030

That's plugged into the USB-C port, and from there I have an 8K DP - DP cable to the monitor.
That is rather odd, I'm seeing very similar results right now here. For now, I'm just turning off monitors on the monitor, or disable sleep and running screensaver, which is working as a workaround. Need to dig a bit more soon, I'll let you know if I discover anything else.
 
Been following this thread closely for months and months. I have a gigabyte 6800. I just wanna know when I will be able to finally upgrade from high Sierra. And how much work do you guys think I’ll have to do? Currently my build is golden. Everything works, iCloud, iMessage etc. I would love to hear your thoughts.
Do you have a full backup? Also I find that if you have a spare drive with enough space, you could clone it using CCC or SuperDuper, and then make sure to move over the EFI folder as well. Then you can do the update to 11.4 via USB drive and test it out. I would also prob before doing the update, sign out of all Apple ID (iMessage, FaceTime, iCloud), as you will most likely be maybe using a different SMBIOS, and you do not want to be signed in when switching. PM, me if need any help. I just did the 10.13.6 (TitanXP) to 11.4.1(6900xt) on my hack. Everything went perfectly!
 
That is rather odd, I'm seeing very similar results right now here. For now, I'm just turning off monitors on the monitor, or disable sleep and running screensaver, which is working as a workaround. Need to dig a bit more soon, I'll let you know if I discover anything else.
Since I last updated I have put the system to sleep at least 5 times, including one of ~9 hours and two of ~2 hours. I've not yet had any reoccurrence of the problem. The USB-C monitor has woken up correctly every time.

Do you have a full backup? Also I find that if you have a spare drive with enough space, you could clone it using CCC or SuperDuper, and then make sure to move over the EFI folder as well. Then you can do the update to 11.4 via USB drive and test it out

This is exactly what I do, and I highly recommend it for anyone for whom it's possible. So much more peace of mind when you know you have a backup of the pre-upgraded OS that you can go back to if something unexpected happens.

I used SuperDuper for a while, but I switched to CCC a few months ago and it's much better (and supports Big Sur, which somehow SuperDuper still does not.) Both offer a 30 day free trial, fully functioning, so definitely a good idea for anyone who has a spare drive.
 
Last edited:
Thanks, this was actually very helpful, now I know how to do this in the future!

In slightly more unfortunate news, the ID spoofing did not lead to immediate success.
I was able to verify that the spoofing worked by spoofing only the device name, which worked fine by itself.
However, spoofing the device ID as well leads to a hangup during the boot process, at which point nothing happens anymore and the PC has to be shut down forcefully.

I assume there's a bit more to the binned cards than just a different device ID, though I haven't been able to turn up any information as to what the secret sauce may be.

I'll continue to experiment some more and maybe some of the subsequent betas will add support anyway, but for now the binned versions are a no-go, as far as I can tell.
If you're up for mad science round 2, feel free to try the following approach based on FakePCIID. It works as follows:
  • We don't interfere with the actual GPU device-ID, which in your case will remain as 0x73AF.
  • Instead we add a new device property called RM,device-id using the attached SSDT.
    • macOS does not use this property so it will ignore it. This should allow the system to boot.
    • RM = RehabMan, the author of FakePCIID
  • We set RM,device-id to the device ID that macOS supports, which is 0x73BF.
  • Then we use the two attached kexts:
    • FakePCIID.kext (this must be specified in config.plist before the next one)
    • FakePCIID_RX6000_Graphics.kext (this must be specified in config.plist after the above)
    • These two kexts will work together to probe for device IDs 0x73AF and 0x73BF and inform macOS that both of them are actually device 0x73BF
In summary, the changes are as follows:
  • ACPI --> add reference to SSDT-Change-GPU-FakePCIID.aml and copy file into OC/ACPI folder.
  • Kernel --> add references to (a) FakePCIID.kext and (b) FakePCIID_RX6000_Graphics.kext in that order, and copy both files into OC/Kexts folder.
Screen Shot 2021-04-24 at 12.09.17 PM.png

P.S. No guarantee this will work. It hasn't been tested, but you're a programmer so I trust you'll be able to try this in a "recoverable" manner in case it crashes and burns! :)
 

Attachments

  • FakePCIID-for-RX-6900-XT.zip
    20.7 KB · Views: 220
Last edited:
Well, it does boot now, which is progress :)
Seems like it attaches properly as well, the card shows up with the given name and FakePCIID is visible in IOReg.
No driver loaded for now, but it might be a step in the correct direction.
 

Attachments

  • screenshot.png
    screenshot.png
    102.9 KB · Views: 136
  • ioreg.ioreg
    9.3 MB · Views: 76
  • screenshot2.png
    screenshot2.png
    75.8 KB · Views: 149
Well, it does boot now, which is progress :)
Seems like it attaches properly as well, the card shows up with the given name and FakePCIID is visible in IOReg.
No driver loaded for now, but it might be a step in the correct direction.
Please try this modified kext. Just need to replace the file and reboot.
 

Attachments

  • FakePCIID_RX6000_Graphics.kext.zip
    2.6 KB · Views: 129
Back
Top