I can confirm that the Sapphire RX 580 Pulse 8GB cards are not affected by this bug. Sleep works fine in 10.13.2.
I don't have a Sapphire RX 580 Pulse 8GB but can also confirm it does not have sleep issue in 10.13.2. I changed the vBIOS version on an RX 470 4GB so that macOS detects it as Sapphire RX 580 Pulse and my Mac Pro tower sleeps/wakes up fine.
If this was done on purpose by Apple, it's a silly tactic. You can use a hex editor in Windows to change the vBIOS version on RX 470/480/570/580 to that of the Sapphire RX 580 Pulse 8GB. Same can be done on RX 460/560 too. I put together a how-to here. The safe vBIOS versions to use are:
113-4E353BU-O4E for RX 470/480/570/580 - macOS shows Radeon RX 580
113-C9801AU-A02 for RX 460/560 - macOS shows Radeon Pro 560
View attachment 740981 View attachment 740982
that is not the issue, here is what they did:
According to this:
"This is a bug Apple added [in 10.13.2] by fixing another bug of incorrect connector detection from VBIOS. In certain kexts (e.g. AMD9500Controller) they hardcoded 6 connectors as a total connector amount regardless of the number read from VBIOS. The consequences are black screen after wake and/or failure to sleep."
So...
can it be fixed? If, so what is it?
Yes it can, if you change the hardcoded value from 6 to 5 in AMD9500Controller.kext found at folderbox: /System/Library/Extensions/AMD9500Controller.kext/Contents/MacOS
You'll need iHex from the Mac App store and Kext Utility
Ok. Thanks. I'll try to do this.
PS--Do you know why Apple did this? 6 connectors? Most GPU have 5 connectors or less. The only ones with more than 5 are usually the ones that forgo DVI and replace it with either two more DP or HDMI ports? And, these are super new ones.
Laziness on their part, they are doing some major changes under the hood as to how MacOS will interact with GFX cards and this particular chunk of code is pure laziness. They hard-coded it instead of making it dynamic.
Please everyone go and file a bug with apple in regards to this https://www.apple.com/feedback/macos.html
They also probably don't want older Mac Pro users upgrading the GFX cards, so that could be it too. Got to sell next years models instead.
I changed the vBIOS version on an RX 470 4GB so that macOS detects it as Sapphire RX 580 Pulse and my Mac Pro tower sleeps/wakes up fine.
Can confirm. Changing the identifier on my RX 580 Nitro 4GB to 113-4E353BU-O4E made sleep work again. Thanks, sage!
Is there an easy way to do this?Can confirm. Changing the identifier on my RX 580 Nitro 4GB to 113-4E353BU-O4E made sleep work again. Thanks, sage!
Have you checked video output for all ports?
Is there an easy way to do this?
Yes it can, if you change the hardcoded value from 6 to 5 in AMD9500Controller.kext found at folderbox: /System/Library/Extensions/AMD9500Controller.kext/Contents/MacOS find CFG_FB_LIMIT and change to the amount of ports in your card
You'll need iHex from the Mac App store and Kext Utility
Ok. Before I try doing this... where exactly is the location of the the digit 6 and 5 that I have to find and change?
Have you tried this method and does it work? As opposed to the other method posted by others here that requires changing the vBios?
IMO, this one seems the simplest. But, I haven't tried it because I wanna make sure it doesn't have any unintended consequences.
I don't have a Sapphire RX 580 Pulse 8GB but can also confirm it does not have sleep issue in 10.13.2. I changed the vBIOS version on an RX 470 4GB so that macOS detects it as Sapphire RX 580 Pulse and my Mac Pro tower sleeps/wakes up fine.
If this was done on purpose by Apple, it's a silly tactic. You can use a hex editor in Windows to change the vBIOS version on RX 470/480/570/580 to that of the Sapphire RX 580 Pulse 8GB. Same can be done on RX 460/560 too. I put together a how-to here. The safe vBIOS versions to use are:
113-4E353BU-O4E for RX 470/480/570/580 - macOS shows Radeon RX 580
113-C9801AU-A02 for RX 460/560 - macOS shows Radeon Pro 560
View attachment 740981 View attachment 740982
I haven't done it myself, I am going to wait till 10.13.3 in hopes they fix this bug.
As for this process you can read about it right here, granted these are all hackintoshes, regardless though it should be the same procedure.
My bad I linked you to the wrong post, see last one here that is the correct spot, just change it to the correct port count on your card.Has anyone tried this with an RX 460 and changing it to a Radeon Pro 560?
[doublepost=1512796132][/doublepost]
Ok. I checked out that Tonyx site but only found one post about changing CFG_FB_LIMIT to the amount of ports on your card.
But, when I looked at info.plist under System>Library>Extensions>AMD9500Controller.kext>Contents>info.plist
Mine shows "0"
You mention something about Apple hardcoding number to 6.
But, that link you mention says, change CFG_FB_LIMIT to the number of ports on your card.
I don't see the "6" you mention that Apple hardcoded.
I'm just plain lost...
Here is a screenshot of what I'm looking at on my info.plist I drew red marker on what I think needs to be modified but I don't know...
View attachment 741128
My bad I linked you to the wrong post, see last one here that is the correct spot, just change it to the correct port count on your card.
I agree, I’m waiting for 10.13.3 also, because well 10.13.1 works ok and also too lazy to mess with it.So, what value? 5 or 3? My RX 460 only has 3 ports (DVI, DP, and HDMI)...
[doublepost=1512801903][/doublepost]Okay, I think I am just going to wait until 10.3.3 until I do this if Apple doesn't fix it by then since I need to Disable SIPS I think and need an Apple GPU, which I have. But, I'm too lazy to do all of this right now.
I can confirm changing the value for CFG_FB_LIMIT in AMD9500Controller.kext to a value that matches the number of your RX 480/580 ports fix the sleep issue in 10.13.2. Another benefit is functional audio through DisplayPort and HDMI.
One advantage of editing and flashing the VBIOS is that it's a more permanent fix. You also get the nice name "Radeon RX 580" in About this Mac.
View attachment 741399
So, what value? 5 or 3? My RX 460 only has 3 ports (DVI, DP, and HDMI)...
[doublepost=1512801903][/doublepost]Okay, I think I am just going to wait until 10.3.3 until I do this if Apple doesn't fix it by then since I need to Disable SIPS I think and need an Apple GPU, which I have. But, I'm too lazy to do all of this right now.
I don't have a Sapphire RX 580 Pulse 8GB but can also confirm it does not have sleep issue in 10.13.2. I changed the vBIOS version on an RX 470 4GB so that macOS detects it as Sapphire RX 580 Pulse and my Mac Pro tower sleeps/wakes up fine.
If this was done on purpose by Apple, it's a silly tactic. You can use a hex editor in Windows to change the vBIOS version on RX 470/480/570/580 to that of the Sapphire RX 580 Pulse 8GB. Same can be done on RX 460/560 too. I put together a how-to here. The safe vBIOS versions to use are:
113-4E353BU-O4E for RX 470/480/570/580 - macOS shows Radeon RX 580
113-C9801AU-A02 for RX 460/560 - macOS shows Radeon Pro 560
View attachment 740981 View attachment 740982
Tried this method, unfortunately I managed to brick my "boost" bios. Windows boots to a blank screen (due to driver signature enforcement) and MacOS to a white screen.
Thankfully i have dual BIOS and was able to switch to the "silent" bios.
I have a backup of my boost bios and was planning on using this to reflash the bricked bios. Does anyone know if I can boot using the silent bios then switch to the boosted/corrupted bios by flicking the switch after boot and then reflashing the card with the original boost bios?
Unfortunately I don't currently have an external power source to power my old 660ti and RX580.
Thanks
Yes, to "rescue" the "dead ROM"
1) Boot from the "good ROM" (Obviously, boot to Windows or DOS that can flash the ROM)
2) Open the side panel, and switch the ROM (don't worry, I did that many times, once the BIOS is loaded, you can free to switch it even when the card is working)
3) Flash a new / good / original ROM image to the card
I own a 7950 and a R9 280. I often use the 2nd ROM to test modded ROM image, occasionally brick it. And always use this method to recover.
I don't have a Sapphire RX 580 Pulse 8GB but can also confirm it does not have sleep issue in 10.13.2. I changed the vBIOS version on an RX 470 4GB so that macOS detects it as Sapphire RX 580 Pulse and my Mac Pro tower sleeps/wakes up fine.
If this was done on purpose by Apple, it's a silly tactic. You can use a hex editor in Windows to change the vBIOS version on RX 470/480/570/580 to that of the Sapphire RX 580 Pulse 8GB. Same can be done on RX 460/560 too. I put together a how-to here. The safe vBIOS versions to use are:
113-4E353BU-O4E for RX 470/480/570/580 - macOS shows Radeon RX 580
113-C9801AU-A02 for RX 460/560 - macOS shows Radeon Pro 560
View attachment 740981 View attachment 740982