Contribute
Register

AMD Radeon Performance Enhanced SSDT

@Jasonhacks Thanks for the info. My Nitro+ RX580 has a switch for choosing between a Silent and an OC mode. I don't think I am going to play with the clock speeds. I thought PowerPlayTable is only applicable to Radeon VII Cards.
It works on Polaris cards as well. Just need to extract PowerPlayInfo values out of your vBIOS.rom and inject it. You can pretty much modify zero fan, fan curve, mclock, fclock in each state, and voltage. One thing I like about this is that I do not have to touch the switch for a Silent mode or an OC mode once I have their data. Just in case if you are interested, I’ve attached my PowerPlayInfo values as an example. You and I should have similar values as mine is also Nitro+ RX 580.
 

Attachments

  • PowerPlayInfo.zip
    328.1 KB · Views: 98
@Jasonhacks Ahh, okay, now I understand. Thanks a lot for the info and the zip. I will check out the files. My card is the 4 GB variant. I guess I can't just copy paste the PP_PhmSoftPowerPlayTable keyi 1:1 in this case, right?

BTW, there's a post on insanelymac by CMMChris who has created an Excel Spreadsheet to generate values for the PP_PhmSoftPowerPlayTable. It's called "Radeon VII PowerPlay Table Generator"
 
@Jasonhacks Ahh, okay, now I understand. Thanks a lot for the info and the zip. I will check out the files. My card is the 4 GB variant. I guess I can't just copy paste the PP_PhmSoftPowerPlayTable keyi 1:1 in this case, right?

BTW, there's a post on insanelymac by CMMChris who has created an Excel Spreadsheet to generate values for the PP_PhmSoftPowerPlayTable. It's called "Radeon VII PowerPlay Table Generator"
No I wouldn’t unless you know those values are stable for your GPU.


Here is how you can get those values.

1. Open your vBIOS with Polaris editor in Windows.
2. Modify the data to your liking and save
3. Open the modified vBIOS with ATOMBIOSREADER (It will then output .txt file containing offset and lenth of PowerPlayInfo along with other information in vBIOS.
4. Open the modified vBIOS with HxD hex editor and copy the PowerPlayInfo values starting from offset to end of its length and save it somewhere.
5. Finally inject PP_PhmSoftPowerPlayTable with those values.


One thing I didn’t like about default RX 580 fan curve behavior on 4K display on macOS is that fans will kick in after reaching 51c and back down after it cools down to 46c degree and this behavior continues in ever 6~7 minutes when I am watching a video clips, run some apps or web browsing. So I modified fan curve behavior to run at low rpm at all times like in between 500~550rpm the temperature stays around 35c to 40c during the summer time.
 
@Jasonhacks

Could you please confirm if I've extracted the data from the ROM correctly?
  • Location of PowerPlayInfo 9bba Len 0341 Rev 07:01
  • Then I used Hxd, opened the ROM, entered the offset and copied values in the length of 341:
    HxD04 - Kopie.png
Is this correct? Thanks.
 
What is the difference between using this method by "SSDT + Dummy Kext from AGPM + Rename (when necessary)", rather than using the AGPInjector app?

I ask because both here activate AGPM within the X86PlataformPlugin, but from what I noticed, SSDTS need to update ACPI paths, update slot, everything according to my setup and not just copy/paste the .aml

I've always used AGPMInjector and with the generated kext, it activates AGPM in cases where AGPM is not active and actually improves performance, which makes it simpler to use it than the set of SSDTs, Dummy Kext, Rename, etc.

Ah, this method of SSDTs, dummy kext... are they valid for Big Sur and Monterey? Or just Catalina and earlier?
 
Last edited:
What is the difference between using this method by "SSDT + Dummy Kext from AGPM + Rename (when necessary)", rather than using the AGPInjector app?

I ask because both here activate AGPM within the X86PlataformPlugin, but from what I noticed, SSDTS need to update ACPI paths, update slot, everything according to my setup and not just copy/paste the .aml

I've always used AGPMInjector and with the generated kext, it activates AGPM in cases where AGPM is not active and actually improves performance, which makes it simpler to use it than the set of SSDTs, Dummy Kext, Rename, etc.

Ah, this method of SSDTs, dummy kext... are they valid for Big Sur and Monterey? Or just Catalina and earlier?

The major difference is that you inject data (which you generate yourself) via Device Properties instead of ACPI. In my case this works while the ACPI method doesn't.

I've wrote a lengthy guide about all the possibilities for tweaking Radeon Cards on my Repo. Maybe this clears some things up: https://github.com/5T33Z0/OC-Little-Translated/tree/main/11_Graphics/GPU/AMD_Radeon_Tweaks
 
The major difference is that you inject data (which you generate yourself) via Device Properties instead of ACPI. In my case this works while the ACPI method doesn't.

I've wrote a lengthy guide about all the possibilities for tweaking Radeon Cards on my Repo. Maybe this clears some things up: https://github.com/5T33Z0/OC-Little-Translated/tree/main/11_Graphics/GPU/AMD_Radeon_Tweaks
Hello 5T33Z0,
On your guide's 1st method you wrote:
"Select the SSDT corresponding to your GPU model located in the "mattystonnie" folder, export it as .aml"
Can you explain how to export the dsl in mattystonnie to aml?
Thanx
 
Hello 5T33Z0,
On your guide's 1st method you wrote:
"Select the SSDT corresponding to your GPU model located in the "mattystonnie" folder, export it as .aml"
Can you explain how to export the dsl in mattystonnie to aml?
Thanx
You joined in 2011 and don't know how to export an .aml file?
  • Click on the .dsl you are interested in
  • Click on "Raw"
  • Copy the text
  • Copy and paste it into maciASL
  • Save as…
  • File Format: "ACPI Machine Language Binary"
 
You joined in 2011 and don't know how to export an .aml file?
  • Click on the .dsl you are interested in
  • Click on "Raw"
  • Copy the text
  • Copy and paste it into maciASL
  • Save as…
  • File Format: "ACPI Machine Language Binary"
Well, I left the hackintosh business for a couple of years and started again recently.
Thank you for your help.
 
Version 1.9. to test.



We are doing tests for now, you can join if you want. Please give a IORegistry copy.
I admit it's been a few years, but today with the Vega 56 I would also like to have a refined SSDT for it, because I work with Final Cut Pro and I really sometimes feel like it's losing its potential and in Windows it's totally different. Could you kindly help me?

This is my iOReg:
 

Attachments

  • MyMacOS Azuos.ioreg
    16.2 MB · Views: 22
Back
Top