Contribute
Register

Won't Wake from Sleep and Reboots with Radeon RX 480/580

Status
Not open for further replies.
What should I have to do? Only using the kextpatch it won’t work for me, anything else I should do?

Did you enable RadeonDeInit on clover ? Where did you put AMD9xxxControllerPatcher.kext ? S/L/E ? or on Other on Clover ?
To verify if AMD9xxxControllerPatcher.kext does it's job issue the following command : ioreg -lw0 | grep CFG_FB_LIMIT .
You should get: CFG_FB_LIMIT"=5 in that output string. If you get CFG_FB_LIMIT"=0 it means the kext did not load properly.
 
I tested both ways, shuhung method and AMD9xxxControllerPatcher, both works with my hacks, which one is better ?
which one will survive an MacOs update ?

Hard to say which one is better.

Clover RadeonDelint, the best for new build AMD Hacks which does not have customer ssdt.

WhateverGreen, the powerful one, auto detect FB connectors and HDMI/DP audio (it does not patch FB connectors but send additional information to OS), let you fine tune AMD config, like aty_config, aty_properties, cail_properties, but every time system upgrade may need update lilu and whatevergreen 1st.

Personally, I prefer to use customer ssdt-amd.aml, then WhateverGreen + customer ssdt-amd.aml when need.

It is easy to create dummy injector, but a dummy injector that base on FB kext like xxxxcontroller.kext may easy broke HDMI/DP audio detection, need more steps or hard to correct HDMI/DP audio issue.
 
Last edited:
Yes, sorry I'm off topic with the sound card, but I mentioned it in an earlier post that I only had sound via the DP ports when using Lilu & WhateverGreen with no RadeonInit when trying to get the sleep issue sorted.

But at the moment I have perfect sleep and an added bonus of graphics fans that work when needed and turn off when the GPU is idling away. Bonus!

I love the help everyone has given me over the last few days, much appreciated. I'll have a look at slice's link to see if there is anything I missed in trying to implement his method using the AMD9xxxControllerPatcher.kext... most probably something really simple.
@jb007, Not sure why you are having these sleep issues.
If this is related to the system in your signature, then you have a very similar system to mine.
I have an i7-3770K on a Z77X-up5 motherboard with Sapphire Nitro+ RX580.

I do not have sleep/wake issues.
I have sound out DP & HDMI ports.
I have 5 ports working.
I do not use RadeonDeInit or any kext patches for RX580 (no issues with OS updates).
I do not use any Framebuffer patches for the ports (as they are not necessary if Orinoco FB is used).
I do not use Whatevergreen.kext
I use an SSDT to :
  1. Deinit the AMD card
  2. Specify the FBname (Orinoco for RX580)
  3. Define the number of ports
  4. Define the name of the card
  5. Define the Audio device for the card
In BIOS, I set OS Type = Windows 8, CSM= Never, Init PEG first, Disable Integrated graphics.
In Clover, I set RadeonDeInit = No, Inject ATI=Yes (but not necessary), FBName=Orinoco (but not necessary), VideoPorts=5 (but not necessary).

See attached Clover config.plist and my SSDT for you modify and try.
 

Attachments

  • MacNB-SSDT-RX580.aml.zip
    1.2 KB · Views: 384
  • MacNB-config.plist 2.zip
    2.1 KB · Views: 350
@jb007, Not sure why you are having these sleep issues.
If this is related to the system in your signature, then you have a very similar system to mine.
I have an i7-3770K on a Z77X-up5 motherboard with Sapphire Nitro+ RX580.

I do not have sleep/wake issues.
I have sound out DP & HDMI ports.
I have 5 ports working.
I do not use RadeonDeInit or any kext patches for RX580 (no issues with OS updates).
I do not use any Framebuffer patches for the ports (as they are not necessary if Orinoco FB is used).
I do not use Whatevergreen.kext
I use an SSDT to :
  1. Deinit the AMD card
  2. Specify the FBname (Orinoco for RX580)
  3. Define the number of ports
  4. Define the name of the card
  5. Define the Audio device for the card
In BIOS, I set OS Type = Windows 8, CSM= Never, Init PEG first, Disable Integrated graphics.
In Clover, I set RadeonDeInit = No, Inject ATI=Yes (but not necessary), FBName=Orinoco (but not necessary), VideoPorts=5 (but not necessary).

See attached Clover config.plist and my SSDT for you modify and try.

Thanks @macnb for all this info!

I did have sleep working using Lilu & WhateverGreen and by entering the model & PCI card in the Devices/Add Properties etc.

I've incorporated all of your suggestions, but I had to enable RadeonDeInit otherwise the screen went black when switching over to the AMD driver. Small amounts of 'garbage were on the screen, but that was all I got.

I'm also not using your SSDT-RX580, but using the model parameter in Clovers Devices/Add to name the card.... I'm not sure if this is the right way to go about it, as I don't know what else this SSDT is trying to do other than name the card???

With all the other things in your Config.plist, I've incorporated them blindingly, except for the SMBIOS section where I'm using my 14,2 product name instead of your 13,2 etc. Should I be using 13,2 instead of 14,2?

Bottom line is the power management looks like it is better with your clover parameters, and sleep works beautifully and the GPU fan ramps up/down/off as appropriate! Edit: And have sound via both Display Ports.

I'll have to do a bit more studying of the Clover parameters to understand what and why you have put them there, but I've just come back from a late shift at work, so I will tackle that in the morning.
 
Last edited:
Hard to say which one is better.

Clover RadeonDelint, the best for new build AMD Hacks which does not have customer ssdt.

WhateverGreen, the powerful one, auto detect FB connectors and HDMI/DP audio (it does not patch FB connectors but send additional information to OS), let you fine tune AMD config, like aty_config, aty_properties, cail_properties, but every time system upgrade may need update lilu and whatevergreen 1st.

Personally, I prefer to use customer ssdt-amd.aml, then WhateverGreen + customer ssdt-amd.aml when need.

It is easy to create dummy injector, but a dummy injector that base on FB kext like xxxxcontroller.kext may easy broke HDMI/DP audio detection, need more steps or hard to correct HDMI/DP audio issue.

I found out today that shuhung method won't allow iTunes purchased movies to be viewed, it Crashed Thread:36 com.apple.coremedia.videomediaconverter.
With AMD9xxxControllerPatcher on S/L/E, RadeonDeInit enable, without Lilu.kext and WhateverGreen.kext, iTunes purchased movies can be viewed without crash. I use Shiki.kext on L/E to enable iTunes movies.
With Radeon RX 580 I have to modify AMD9xxxControllerPatcher.kext, to <key>model</key><string>Radeon RX 580</string>, it was 560 on original AMD9xxxControllerPatcher.kext.
On terminal type: ioreg -lw0 | grep CFG_FB_LIMIT to check if "CFG_FB_LIMIT" = 5.
With Radeon RX 480 I did not have to modify AMD9xxxControllerPatcher.kext.
 
I have attached AMD9xxxControllerPatcher.kext modified for Radeon RX 580
 

Attachments

  • AMD9xxxControllerPatcher.kext.zip
    3.5 KB · Views: 314
I have attached AMD9xxxControllerPatcher.kext modified for Radeon RX 580

I don't have above DRM issue, no matter use ssdt-amd-aml, lilu + whatevergreen, dummy injector methods, all work. Since 10.13.2 beta x when I found FB connector number mismatch, tried to limit connector by ssdt connector-count = 0x03 and CFG_FB_LIMIT = 0x03 but not work, direct edit AMD9500Controller.kext work, then I created my own dummy injector for test, some times normal but sometime cause HDMI detect failure, also tested with AMD9xxxControllerPatcher.kext by Mork vom Ork downloaded from IM site, same result.

You can use attached dummy info.plist to create a personal dummy kext, very easy just copy IOKitPersonalities sub key from AMD9500Controller.kext, then edit CFG_FB_LIMIT value, also can use this method to enable RX4XX/5XX HW HEVC decoding.
 

Attachments

  • dummy info.plist
    898 bytes · Views: 420
Last edited:
Thanks @macnb for all this info!
I've incorporated all of your suggestions, but I had to enable RadeonDeInit otherwise the screen went black when switching over to the AMD driver. Small amounts of 'garbage were on the screen, but that was all I got.

I had that too because in my DSDT, the integrated GPU was called GFX0 and the external discrete GPU was called PEGP.
So, I created my own DSDT to rename them. But if you do not have a DSDT, you can rename them using clover via DSDT patches. See my attached modified config.list file as an example. Basically, the patch renames GFX0->IGPU and PEGP->GFX0.
put all three patches in and try it.
Also post your IOREG file and I will be able to tell what device names your integrated GPU & discrete GPU are set to.

I'm also not using your SSDT-RX580, but using the model parameter in Clovers Devices/Add to name the card.... I'm not sure if this is the right way to go about it, as I don't know what else this SSDT is trying to do other than name the card???
That will not affect the SSDT but with the SSDT it is not required (as in my config.plist).
I'll have to do a bit more studying of the Clover parameters to understand what and why you have put them there, but I've just come back from a late shift at work, so I will tackle that in the morning.
Your are almost there. The advantage of SSDT method is that you are more immune to macOS update changes where as kext patchers need to possibly track kext changes.
 

Attachments

  • MacNB-config-1.plist.zip
    2.1 KB · Views: 255
@jb007, Not sure why you are having these sleep issues.
If this is related to the system in your signature, then you have a very similar system to mine.
I have an i7-3770K on a Z77X-up5 motherboard with Sapphire Nitro+ RX580.

I do not have sleep/wake issues.
I have sound out DP & HDMI ports.
I have 5 ports working.
I do not use RadeonDeInit or any kext patches for RX580 (no issues with OS updates).
I do not use any Framebuffer patches for the ports (as they are not necessary if Orinoco FB is used).
I do not use Whatevergreen.kext
I use an SSDT to :
  1. Deinit the AMD card
  2. Specify the FBname (Orinoco for RX580)
  3. Define the number of ports
  4. Define the name of the card
  5. Define the Audio device for the card
In BIOS, I set OS Type = Windows 8, CSM= Never, Init PEG first, Disable Integrated graphics.
In Clover, I set RadeonDeInit = No, Inject ATI=Yes (but not necessary), FBName=Orinoco (but not necessary), VideoPorts=5 (but not necessary).

See attached Clover config.plist and my SSDT for you modify and try.
I HAVE GA-Z77X-UP5-TH MB TOO, I wonder Can you share your DSDT file?
 
Status
Not open for further replies.
Back
Top