Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

theitsage

Suspended
Aug 28, 2005
795
862
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

mac-pro-tower-radeon-rx-580-vbios-version-edit-about.png mac-pro-tower-radeon-rx-580-vbios-version-edit-pcie.png
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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."
 

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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?
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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 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
 
Last edited:

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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.
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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.
 
Last edited:
  • Like
Reactions: whartung

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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.

Ok. I submitted a report using the link you provided. But, I also filed a bug report using bug report.apple.com or something like that....

I hope that it's just laziness and not deliberate because that would mean that cMP owners are left with one GPU alternative, if they want a modern GPU to use with their Mac Pros, which is the Sapphire RX580 Pulse edition, which already has a marked up price. Apparently, this GPU is not affected with the 10.13.2 sleep bug according to users confirming it in this forum.

That is not good news because we might see Sapphire RX580 Pulse in the near future be priced at $450 range just like the Apple edition HD7950. Or, perhaps even higher because it's a newer GPU. And has better power-efficiency ratio.

I was happy with the performance I got with my RX 460. Now, I have to shut off my Mac Pro every time I am not using it. An inconvenience for sure. But, I only really only use my Mac Pro anyway for FCP X, which I don't even use anymore that much anyway. So, I have a huge big silver box now taking up space that needs to be micro managed in terms of turning it on and off with each usage.

Whatever, Apple. Do it your own way.
 

theitsage

Suspended
Aug 28, 2005
795
862
Can confirm. Changing the identifier on my RX 580 Nitro 4GB to 113-4E353BU-O4E made sleep work again. Thanks, sage!

I'm glad to hear it's working for you too. Have you checked video output for all ports? Since the port layout of your RX 580 Nitro is identical to the RX 580 Pulse, I hope all ports are working. My reference RX 470 has two non-functional DisplayPort but it's no big deal for my use.
 

Kris Kelvin

macrumors regular
Dec 28, 2005
246
179
Have you checked video output for all ports?

I haven't checked all ports, but at least the two DisplayPorts are working perfectly. :) When in doubt, I can always switch to the second BIOS (yay for dual BIOS cards).

Is there an easy way to do this?

Just follow the instructions laid out by theitsage earlier in this thread. You'll need a Windows installation. There are certain risks, so better read carefully. Or just don't let your Mac sleep until Apple fixes this in 10.13.3 – or in a few years or so.
 

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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.
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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 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.
 

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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

Has anyone tried this with an RX 460 and changing it to a Radeon Pro 560?
[doublepost=1512796132][/doublepost]
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.

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...

sc_12082017_01.jpg
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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.
 

namethisfile

macrumors 65816
Jan 17, 2008
1,190
176
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.

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.
 
Last edited:

zemaker

macrumors 6502
Nov 25, 2011
295
188
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 agree, I’m waiting for 10.13.3 also, because well 10.13.1 works ok and also too lazy to mess with it.
 

theitsage

Suspended
Aug 28, 2005
795
862
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.

amd9500controller-kext-cfg-fb-limit-edit-fix-rx-580-sleep-issue-10-13-2.png
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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

That’s good to know, mind writing up the procedure? I know lots of people would appreciate it!
 

zemaker

macrumors 6502
Nov 25, 2011
295
188
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.

Yes 3 would be correct. Just to let you know I just updated to 10.13.2 and went through the whole procedure also. Changed to 5, since my RX 580 has 5 ports. Sleep works now again, also couldn't help but update the About Screen.
 

Attachments

  • rx580.png
    rx580.png
    89.6 KB · Views: 394
  • Like
Reactions: theitsage

Neanderphil

macrumors member
Sep 28, 2006
52
3
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
 

h9826790

macrumors P6
Apr 3, 2014
16,656
8,587
Hong Kong
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.
 

Neanderphil

macrumors member
Sep 28, 2006
52
3
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.

Worked a charm. Thanks
 

fiatlux

macrumors 6502
Dec 5, 2007
352
143
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 am concerned about the potential port mapping issue. My Gigabyte RX 580 Gaming 4G has 1 DVI, 1 HDMI and 3 DP ports while the Sapphire Pulse has respectively 1, 2 and 2 respectively, AFAIK.

My HP 30" screen requires a dual link DVI connection - it has no other type of ports.

And is there any other side-effect resulting from pretending a 4GB card is a 8GB one?
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.