Contribute
Register

[Success] AMD RX6000 Series working in macOS

Joined
Jun 14, 2015
Messages
82
Motherboard
MSI Z170A Krait
CPU
i7-6700K
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Just upgraded my Vega64 to 6800XT and here are some experiences I would like to share.

*SMBIOS and Final Cut rendering
My CPU is 10900K so naturally iMac20,2 SMBIOS should be the best choice. But after config my iGPU to headless, the system works but FCP stutters here and there and rendering time is bad, super bad, like 3 times slower than my M1 Pro MacBook. Something must be wrong.

*igfxrpsc=1 boot flag
Turns out, due to macOS's strange design, the iGPU inside a Hackintosh would work just at 0.35Ghz most of the time, adding this flag solves the issue. Some said igfxfw=2 works too, you can try either one just remember don't use them at the same time. With iGPU working at full speed, the rendering time cut down significantly yet it still takes 50% more time to render the same footage compared to M1 Pro. Way to go.

*Final optimize
By checking the task manager, usage on 6800XT is still very low at 10~15%. I've heard some people saying that macOS treat non Pro Radeon as external GPU in iMac SMBIOS. This issue can be solved by switching to MacPro or iMacPro and finally cut the render time to 35% faster than M1 Pro. But again, this means I will lose iGPU decoding for daily video viewing and create unnecessary load for CPU. After some research, injecting framebuffer in OpenCore device section solves the issue. For my MSI 6800XT Gaming Trio, ATY,Carswell works the best. GPU load when rendering is at 40~60% full time matches the speed as MacPro SMBIOS and I don't lose any feature provided by iGPU. Finally I can unleash full power if this beast without giving up any feature:)

**Side note
If all optimizations are applied and rendering is still slow, maybe it's the issue inside GPU hardware path.
Adding SSDT-BRG0.aml injection on top of them should do the job.
 
Last edited:
Joined
Jan 27, 2014
Messages
377
Motherboard
ASRock Z490 phantom gaming ITX/TB3
CPU
I9 10850k
Graphics
RX 5500 XT/UHD 630
Mobile Phone
  1. iOS
Just upgraded my Vega64 to 6800XT and here are some experiences I would like to share.

*SMBIOS and Final Cut rendering
My CPU is 10900K so naturally iMac20,2 SMBIOS should be the best choice. But after config my iGPU to headless, the system works but FCP stutters here and there and rendering time is bad, super bad, like 3 times slower than my M1 Pro MacBook. Something must be wrong.

*igfxrpsc=1 boot flag
Turns out, due to macOS's strange design, the iGPU inside a Hackintosh would work just at 0.35Ghz most of the time, adding this flag solves the issue. Some said igfxfw=2 works too, you can try either one just remember don't use them at the same time. With iGPU working at full speed, the rendering time cut down significantly yet it still takes 50% more time to render the same footage compared to M1 Pro. Way to go.

*Final optimize
By checking the task manager, usage on 6800XT is still very low at 10~15%. I've heard some people saying that macOS treat non Pro Radeon as external GPU in iMac SMBIOS. This issue can be solved by switching to MacPro or iMacPro and finally cut the render time to 35% faster than M1 Pro. But again, this means I will lose iGPU decoding for daily video viewing and create unnecessary load for CPU. After some research, injecting framebuffer in OpenCore device section solves the issue. For my MSI 6800XT Gaming Trio, ATY,Carswell works the best. GPU load when rendering is at 40~60% full time matches the speed as MacPro SMBIOS and I don't lose any feature provided by iGPU. Finally I can unleash full power if this beast without giving up any feature:)
Are you still using igfxrpsc=1 boot flag after making your final optimization?
 
Joined
Jun 14, 2015
Messages
82
Motherboard
MSI Z170A Krait
CPU
i7-6700K
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Are you still using igfxrpsc=1 boot flag after making your final optimization?
Yes, it seems iGPU still co-work with dGPU in FCP.
So far I haven't seen any negative effects so I still keep it.
 
Joined
Jun 14, 2015
Messages
82
Motherboard
MSI Z170A Krait
CPU
i7-6700K
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
I removed custom injection when 12.x fixed the bug with massive metal performance loss. but readig that makes me wonder if I should re-add it
Personally I think Geekbench score is not really that important.
After the optimization the score does not change significantly, but real world work difference is night and day.
 
Joined
Jan 18, 2014
Messages
3
Motherboard
Gigabyte GA-H170-Gaming 3
CPU
Intel Core i5-6500
Graphics
EVGA GTX 980 SC
Just upgraded my Vega64 to 6800XT and here are some experiences I would like to share.

*SMBIOS and Final Cut rendering
My CPU is 10900K so naturally iMac20,2 SMBIOS should be the best choice. But after config my iGPU to headless, the system works but FCP stutters here and there and rendering time is bad, super bad, like 3 times slower than my M1 Pro MacBook. Something must be wrong.

*igfxrpsc=1 boot flag
Turns out, due to macOS's strange design, the iGPU inside a Hackintosh would work just at 0.35Ghz most of the time, adding this flag solves the issue. Some said igfxfw=2 works too, you can try either one just remember don't use them at the same time. With iGPU working at full speed, the rendering time cut down significantly yet it still takes 50% more time to render the same footage compared to M1 Pro. Way to go.

*Final optimize
By checking the task manager, usage on 6800XT is still very low at 10~15%. I've heard some people saying that macOS treat non Pro Radeon as external GPU in iMac SMBIOS. This issue can be solved by switching to MacPro or iMacPro and finally cut the render time to 35% faster than M1 Pro. But again, this means I will lose iGPU decoding for daily video viewing and create unnecessary load for CPU. After some research, injecting framebuffer in OpenCore device section solves the issue. For my MSI 6800XT Gaming Trio, ATY,Carswell works the best. GPU load when rendering is at 40~60% full time matches the speed as MacPro SMBIOS and I don't lose any feature provided by iGPU. Finally I can unleash full power if this beast without giving up any feature:)

**Side note
If all optimizations are applied and rendering is still slow, maybe it's the issue inside GPU hardware path.
Adding SSDT-BRG0.aml injection on top of them should do the job.
Would you be able to share your EFI or config.plist? I have a similar build (17-10700, 6800XT) but I'm having some performance issues. Specifically interested in the injecting frame buffer part.
 
R

RurouniX

Guest
Hello everyone, I just got the RX 6650 XT, and I am trying to patch it to work.
But unfortunately, I can find just 2 apci values on windows or on macOS.

The latest driver is installed.

I will appreciate for your help.
 

Attachments

  • ACPI Win.jpg
    ACPI Win.jpg
    220 KB · Views: 86
  • Screenshot 2022-11-19 at 10.33.16.png
    Screenshot 2022-11-19 at 10.33.16.png
    150.8 KB · Views: 84
Joined
Oct 4, 2018
Messages
1,221
Motherboard
Gigabyte C246-WU4
CPU
E-2278G
Graphics
WX7100
Mac
  1. MacBook Pro
  2. Mac mini
You have two unnamed bridges ('pci-bridge' in IOReg; 'PCI(0000)' in Windows). These need to have ACPI names for OpenCore to apply DeviceProperties to the GPU downstream.

Use SSDT-BRG.aml and then apply DeviceProperties:
PciRoot(0x0)/Pci(0x3,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
key device-id data <FF730000>
Capture d’écran 2022-11-19 à 14.21.34.png

(Only device-id is required, further entries are purely cosmetic.)

Alternatively, a single SSDT-RX6650XT.aml may name the bridges and apply the spoof (no device property entries).

For the sake of clarity: Use either
a) SSDT-BRG and DeviceProperties entry or
b) SSDT-RX6650XT alone
but not both SSDTs together.

SSDTs and PCI path in DeviceProperties are specific to your board and to the slot used. Other users must adapt paths to their hardware.
 

Attachments

  • SSDT-BRG.aml
    113 bytes · Views: 75
  • SSDT-RX6650XT.aml
    201 bytes · Views: 75
R

RurouniX

Guest
You have two unnamed bridges ('pci-bridge' in IOReg; 'PCI(0000)' in Windows). These need to have ACPI names for OpenCore to apply DeviceProperties to the GPU downstream.

Use SSDT-BRG.aml and then apply DeviceProperties:
PciRoot(0x0)/Pci(0x3,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
key device-id data <FF730000>
View attachment 558399
(Only device-id is required, further entries are purely cosmetic.)

Alternatively, a single SSDT-RX6650XT.aml may name the bridges and apply the spoof (no device property entries).

For the sake of clarity: Use either
a) SSDT-BRG and DeviceProperties entry or
b) SSDT-RX6650XT alone
but not both SSDTs together.

SSDTs and PCI path in DeviceProperties are specific to your board and to the slot used. Other users must adapt paths to their hardware.
Thank you very much @etorix, that did it.

I didn't knew how to do the unnamed bridges.

Thanks again.
 
Joined
Nov 13, 2022
Messages
5
Motherboard
Essenc X79G v1.3
CPU
E5-2620 v2
Graphics
RX 6600
Mobile Phone
  1. iOS
At the of the boot the screen turns off like losing signal or something. Could this be because I have this data in DeviceProperties?

Same happen to me with a RX6600. I asked on another forum and Discord, and the most precise answer I got was "it's weg doing its thing". Someone suggested to disable weg, since RX6600 is fully natively supported. But disabling web resulted in black screen after boot.

The mystery stays unsolved I guess.
 
Top