Contribute
Register

AMD Radeon Performance Enhanced SSDT

Joined
Jan 19, 2018
Messages
217
Motherboard
Gigabyte Z390UD
CPU
i9-9900
Graphics
UHD 630 + RX 580
Mac
  1. iMac
Mobile Phone
  1. Android
@soeryobadja,

The "Performance Enhancement" patches (either as SSDT's or as Injected Properties) only effect the Apple AMD drivers and work on systems that have a Headless IGPU or a dGPU only configuration such as iMacPro1,1. The patches mainly only effect benchmark figures and have little effect on real world Apps, however some users have reported FPS improvements with some games when using the patches.

Cheers
Jay
Thanks @jaymonkey
Then I suppose it will not affect power consumption, as that is where I have "doubts" since I am doing dual monitor setup with RX580 but it always shows full core clock and around 140W of power in idle.
I will check with actual power measurement from the CPU tomorrow to make a comparison and see if the HWMonitorSMC2 shows wrong power measurement as I found in some resources.
Thanks for your explanation.
 
Joined
Jan 1, 2011
Messages
58
Motherboard
Gigabyte Z97X UDH5
CPU
i7-4790K
Graphics
HD4600 + Vega 56
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Hi mattystonnie,

I am using your SSDT patch for Vega 56 v2.3 in opencore 0.6.1.
I am not getting improvements on the benckmark, what could I be doing wrong?

I notice that my card's power management is not doing well. In idle the card's memory is always at maximum 920mhz.
I send my EFI folder attached.

Catalina 10.15.7, Opencore 0.6.1, i7 4790K, IGPU + Vega 56
 

Attachments

  • EFI.zip
    1.8 MB · Views: 25
  • Screenshot 2020-09-15 at 10.51.27.png
    Screenshot 2020-09-15 at 10.51.27.png
    143.8 KB · Views: 84
  • Screenshot 2020-09-25 at 09.38.35.png
    Screenshot 2020-09-25 at 09.38.35.png
    225.1 KB · Views: 82
  • Screenshot 2020-09-25 at 09.38.40.png
    Screenshot 2020-09-25 at 09.38.40.png
    232 KB · Views: 87
  • Screenshot 2020-09-25 at 10.57.03.png
    Screenshot 2020-09-25 at 10.57.03.png
    85.6 KB · Views: 84
Joined
Sep 15, 2020
Messages
1
Motherboard
Asus X470 Prime
CPU
Ryzen 7 2700
Graphics
GTX 1070
Introduction

A couple of weeks ago I got my hands on a new Navi GPU, The Sapphire RX 5500 XT 4 GB, everything was working but the performance was not there, everyone said it is on pair with the good old RX 580.

So I got my hands on the new macbook pro 16.1,mac pro 7.1, and looking into the ssdt, dsdt and ioreg I saw what was missing from my hackintosh machine.

With a few tweaks and frambuffer injection, the performance went up especially with metal apps, low power consumption too.

The RX 5700 XT SSDT.aml works with RX 5600/5700/5700XT.
The RX 5500 XT SSDT.aml works with RX 5500/5500XT.

This method tries to mimic a real working mac.



How to install

Right now I am using Open Core Bootloader, but it works with clover too.

There are 2 methods for this to work, same methods are used by Apple : SSDT.aml for headless installation or Property Injection method for advanced users ( just copy the things from the SSDT.aml and add into the Property Injection section).

For VEGA 56/64 and RX 580 do not use rename PEGP to EGP0.


Clover method
  1. First thing to do is to download the SSDT.aml file corresponding to your GPU and drag&drop into /Volumes/EFI/EFI/CLOVER/ACPI/patched
  2. Second thing to do is to download WhateverGreen and place it into /Volumes/EFI/EFI/CLOVER/kexts/Other -- this will fix the video ports
  3. Download the dummy kext dAGPM (made by @toleda) that will help with power management for the GPU and place it into /Volumes/EFI/EFI/CLOVER/kexts/Other
  4. Edit the Clover Config file from /Volumes/EFI/EFI/CLOVER and add this DSDT renaming : rename PEGP to EGP0 find : 50454750 replace : 45475030 also add boot args : agdpmod=pikera (fix black screen on some gpus, mine works without).View attachment 464763


Open Core method
  1. Download the SSDT.aml file corresponding to your GPU and drag&drop into /Volumes/EFI /EFI/OC/ACPI
  2. Second thing to do is to download WhateverGreen and place it into /Volumes/EFI /EFI/OC/Kexts
  3. Download the dummy kext dAGPM (made by @toleda) that will help with power management for the GPU and place it into /Volumes/EFI /EFI/OC/Kexts
  4. Edit the OC config file from /Volumes/EFI /EFI/OC and add this patch renaming TableSignature SSDT find: 50454750 replace : 45475030 comment: replace : 45475030 ---- also add boot args : agdpmod=pikera (fix black screen on some gpus, mine works without)

View attachment 464767 View attachment 464768


5. Add the SSDT.aml file and whatevegreen kext and dAGPM kext into the config file and enable it .

View attachment 464769 View attachment 464770 View attachment 464772View attachment 464773



Conclusion

As you can see in the pictures the performance improve very much, in open gl test there is no improvement, only in open cl and metal, sometimes after opening many apps the score went very high. The open cl score did match the one from Windows 10.
The best performance was achieved using SMBios iMac Pro 1.1, DRM works on all video output ports.

View attachment 464780View attachment 464781 View attachment 464787
Not work for me my card is 5500xt and please check and please tell me because i get less than 20k performance i have 8gb verison card and ryzen 7 2700
 

Attachments

  • EE20A937-334B-46AF-B7C9-6F18EF869A8D.jpeg
    EE20A937-334B-46AF-B7C9-6F18EF869A8D.jpeg
    3.9 MB · Views: 33
Joined
Jul 16, 2010
Messages
446
Motherboard
Asus Pro WS x299 Sage II
CPU
i9-10980XE
Graphics
RX 5500 XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
@mattystonnie

Really want to thanks you for sharing this. Do I need to modify the Definition block and Device for what I have in DSDT and Ioreg for example maybe PC10 might be PC00 as an example but it should be the same as yours. Mine is a Sapphire Pulse 8GB do I need to change it from 4GB to 8GB or this is not in the SSDT? I have a different motherboard Asus WS Pro X299 Sage II.

Can you verify all looks loaded as should be in my ioreg attached

Thanks Again!

Edited:

Does not look like ATY,Oronico is loaded do I need to modify the Definition Block or Device string to what is it currently in Ioreg? Not sure why this has not loaded, maybe SSDT XOSI? MacOS 10.15.7?

Also find Attached Config from OC
 

Attachments

  • osxfr33k’s iMac Pro.ioreg2.zip
    1.2 MB · Views: 12
  • config copy.plist
    18.2 KB · Views: 21
Last edited:
Joined
May 10, 2012
Messages
47
Motherboard
CF31L-1
CPU
I3 M-350
Graphics
Ironlake
Mac
  1. Mac Pro
@mattystonnie

Really want to thanks you for sharing this. Do I need to modify the Definition block and Device for what I have in DSDT and Ioreg for example maybe PC10 might be PC00 as an example but it should be the same as yours. Mine is a Sapphire Pulse 8GB do I need to change it from 4GB to 8GB or this is not in the SSDT? I have a different motherboard Asus WS Pro X299 Sage II.

Can you verify all looks loaded as should be in my ioreg attached

Thanks Again!

Edited:

Does not look like ATY,Oronico is loaded do I need to modify the Definition Block or Device string to what is it currently in Ioreg? Not sure why this has not loaded, maybe SSDT XOSI? MacOS 10.15.7?

Also find Attached Config from OC
Radeon RX 5500 XT is a Navy card and not Polaris, so the framebuffer is not Orinoco
 
Joined
Jul 16, 2010
Messages
446
Motherboard
Asus Pro WS x299 Sage II
CPU
i9-10980XE
Graphics
RX 5500 XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Radeon RX 5500 XT is a Navy card and not Polaris, so the framebuffer is not Orinoco

I meant "ATY,Python"

Do I need to modify the Definition Block External to what it is in my ioreg could this be why its not loading the SSDT?

Code:
DefinitionBlock ("", "SSDT", 2, "hack", "matty", 0x00000000)
{
    External (_SB_.PCI0.PEG0.PEGP.EGP1, DeviceObj)
    External (OSDW, MethodObj)    // 0 Arguments

    Device (_SB.PCI0.PEG0.PEGP.EGP1)

Screen Shot 2020-09-27 at 3.39.36 PM.png
 
Joined
Jul 16, 2010
Messages
446
Motherboard
Asus Pro WS x299 Sage II
CPU
i9-10980XE
Graphics
RX 5500 XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
I am going to try Property Device Injection in OpenCore since it will be easier and cleaner to inject using this method for maybe this Motherboard X299 with CPU i9-10980SE. Is this thread no longer supported? My question is what sections do I copy into the Device Properties I know the start of it the rest is Key and Data so do I start from the point inserted below, starting with "AAPL,slot-name" as the key and "Slot-1@0,1,0/0,0/0,0/0,0" as the data? Keep this going until the end maybe the HDAU as a separate property? Or "@0,name" as Key and "ATY,Boa" as data? We can't copy and paste the SSDT into ProperTree, actually just tested it will not take erroneous data like the {} etc.

Maybe I will pay attention to how the 580 was done there is an example of this and the SSDT I can follow along with that. The amount of data in this RX5500XT is enormous not sure how OpenCore Device Properties can handle this. I just can't get it to load via SSDT even changed External to the correct path starting with PC02 didn't help. In the X299 guide thread they are using _STA for SL05 in my case and _STA zero for PEGP for the Airport card (PC Wifi). I don't know if this is what I need to do and which ones to do this with?
 
Joined
May 10, 2012
Messages
47
Motherboard
CF31L-1
CPU
I3 M-350
Graphics
Ironlake
Mac
  1. Mac Pro
I am going to try Property Device Injection in OpenCore since it will be easier and cleaner to inject using this method for maybe this Motherboard X299 with CPU i9-10980SE. Is this thread no longer supported? My question is what sections do I copy into the Device Properties I know the start of it the rest is Key and Data so do I start from the point inserted below, starting with "AAPL,slot-name" as the key and "Slot-1@0,1,0/0,0/0,0/0,0" as the data? Keep this going until the end maybe the HDAU as a separate property? Or "@0,name" as Key and "ATY,Boa" as data? We can't copy and paste the SSDT into ProperTree, actually just tested it will not take erroneous data like the {} etc.

Maybe I will pay attention to how the 580 was done there is an example of this and the SSDT I can follow along with that. The amount of data in this RX5500XT is enormous not sure how OpenCore Device Properties can handle this. I just can't get it to load via SSDT even changed External to the correct path starting with PC02 didn't help. In the X299 guide thread they are using _STA for SL05 in my case and _STA zero for PEGP for the Airport card (PC Wifi). I don't know if this is what I need to do and which ones to do this with?
Use hackintool to extract the path. Bare in mind that Navi does not work very well with these methods.
 
Joined
Oct 1, 2020
Messages
43
Motherboard
Asrock Z490I Phantom Gaming Ac/Tb3
CPU
10600K
Graphics
RX5700 XT
Anyone else's RX5700 XT does a load buzzing noise when moving the mouse/scrolling on pages? Like a very load coil whine?
I saw a lot of reports of this using Windows, but after drivers updates from like 6 months ago there are not a lot of reports.
This happens to me but only on my MacOS boot (I guess because of outdated drivers?). When I restart and boot into Windows it doesn't happen on windows. Only on MacOS.

Any fix for this?
 
Joined
Jul 16, 2010
Messages
446
Motherboard
Asus Pro WS x299 Sage II
CPU
i9-10980XE
Graphics
RX 5500 XT
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Use hackintool to extract the path. Bare in mind that Navi does not work very well with these methods.

With the help of the x299 support thread we figured out how to load the SSDT it was the pci-bridge's if you see in the ioreg posted we manipulated the tree by replacing each PCI-Bridge with EGPx then it loaded. I have 10k better geekbench scores now was at 32k now at 42k so it makes a difference loading the framebuffer and the rest of the code some will disagree that on a real imac1,1 pro the framebuffer is not loaded, I don't care it works for me. See link below will explain how it was done.

 
Top