Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Then I will say the best method is to do it manually.

Use any Hex Editor to open your ROM image.

Search 01 17 00 00 02
View attachment 815382

And 3 rolls below the "02". This 01 means "zero fan mode ON". If you want the fan can stop at certain temperature. Keep it at 01. And if you want the fan always spin, change that to 00.
View attachment 815383

The byte next to it is the "fan stop temperature". For my PULSE, the default setting is 2E, which mean 46C. e.g. if you want it to stop below 50, then change it to 32.
View attachment 815384

Last one, the most important one for you. Is the follow byte, "fan start temperature". My PULSE default is 36 (equivalent to 54C). If you want the fan start at 60C, change it to 3C.
View attachment 815385

And if still doesn't work. Then you may disable Fuzzy fan mode. Change the byte between "max temp" (2A in this case), and "max PWM" (64 in this case) from 01 to 00 will change the fan mode from Fuzzy mode to Legacy mode.
View attachment 815386

For the PULSE RX580 8GB card. I am 100% the above mod can work. e.g. I turn OFF Zero Fan Mode. And now my RX580's fan always spin, even already below the Fan Stop Temperature 46C, the fan still spinning to assist cooling.View attachment 840258
Can we not do this with device property injection in OC? Any hints?
 
  • Like
Reactions: Eschers
I doubt, RX580 doesn't support PowerPlay table. And my understanding so far, all these parameters are injected via PowerPlay
And this:
Code:
<key>PP,PP_PowerPlayEnabled</key>
                <data>AQAAAA==</data>
<key>PP,PP_WorkLoadPolictyMask</key>
                <integer>1</integer>
 
  • Like
Reactions: Eschers
Then I will say the best method is to do it manually.

Use any Hex Editor to open your ROM image.

Search 01 17 00 00 02
View attachment 815382

And 3 rolls below the "02". This 01 means "zero fan mode ON". If you want the fan can stop at certain temperature. Keep it at 01. And if you want the fan always spin, change that to 00.
View attachment 815383

The byte next to it is the "fan stop temperature". For my PULSE, the default setting is 2E, which mean 46C. e.g. if you want it to stop below 50, then change it to 32.
View attachment 815384

Last one, the most important one for you. Is the follow byte, "fan start temperature". My PULSE default is 36 (equivalent to 54C). If you want the fan start at 60C, change it to 3C.
View attachment 815385

And if still doesn't work. Then you may disable Fuzzy fan mode. Change the byte between "max temp" (2A in this case), and "max PWM" (64 in this case) from 01 to 00 will change the fan mode from Fuzzy mode to Legacy mode.
View attachment 815386

For the PULSE RX580 8GB card. I am 100% the above mod can work. e.g. I turn OFF Zero Fan Mode. And now my RX580's fan always spin, even already below the Fan Stop Temperature 46C, the fan still spinning to assist cooling.View attachment 840258

YESSS !!
Yes, that's exactly what I need. I have a 5.1 Mac Pro here and have tried this card and found exactly the phenomenon. I just can't do it because it's too complicated for me and I don't
Windows. I'm a photographer and I don't trust myself to do that. Would you do that for me ? Are you selling me a modified card that runs on my Mac? What do you want for it?
 
YESSS !!
Yes, that's exactly what I need. I have a 5.1 Mac Pro here and have tried this card and found exactly the phenomenon. I just can't do it because it's too complicated for me and I don't
Windows. I'm a photographer and I don't trust myself to do that. Would you do that for me ? Are you selling me a modified card that runs on my Mac? What do you want for it?
Sorry, I am not a seller. I only share my knowledge / finding at here, not providing service.

I do have a modded PULSE RX580 8GB (low voltage, high performance, Orinoco framebuffer, quiet and always on fan, liquid metal cooling) in my drawer (because I am using a RadeonVII now). However, I have no plan to sell it. I don't want to sell the card for cheap (I bought it new when PULSE RX580 was expensive, plus all me work on testing, studying, modding the card). But I don't think anyone should spend $400 + shipping to buy just a used RX580 either (especially it CANNOT provide boot screen on cMP in any case).

For this kind of price, you should able to get a Vega or even Radeon VII, or another two to three RX580 that don't have this fan issue.
 
  • Like
Reactions: Eschers
I doubt, RX580 doesn't support PowerPlay table. And my understanding so far, all these parameters are injected via PowerPlay

It does work on my rx 580 nitro +. I have the powerplay tables injected with opencore with legacy fan mode on. No issues with windows since the vbios is still stock and opencore doesnt seem to inject them while in windows. (I underclocked my GPU to 1211 MHz since i dont game on macOS and dropped mem clock to 1750. Fans always spin at a constant 20% so it doesnt cycle on and off between 46 and 52 every 2-3 mins) I also raised idle memory clocks to 500 Mhz from 300 as it seems to cause flickers in safari when it drops too low (still testing to find the sweet spot)

I wrote up a quick guide here: It's for a hackintosh but should work on a real mac

 
It does work on my rx 580 nitro +. I have the powerplay tables injected with opencore with legacy fan mode on. No issues with windows since the vbios is still stock and opencore doesnt seem to inject them while in windows. (I underclocked my GPU to 1211 MHz since i dont game on macOS and dropped mem clock to 1750. Fans always spin at a constant 20% so it doesnt cycle on and off between 46 and 52 every 2-3 mins) I also raised idle memory clocks to 500 Mhz from 300 as it seems to cause flickers in safari when it drops too low (still testing to find the sweet spot)

I wrote up a quick guide here: It's for a hackintosh but should work on a real mac

So how to decipher the PP_PhmSoftPowerPlayTable values? How did you come up with those?
 
  • Like
Reactions: Eschers
So how to decipher the PP_PhmSoftPowerPlayTable values? How did you come up with those?
Well in my case, i was interested in editing the fan curve and clock/mem clock and voltages so editing the values available through polarisbioseditor was enough.

Basically, Edit your rom in polarisbioseditor like usual (as per OP on this thread). But instead of flashing it to your card, open that ROM with ATOMBIOSReader and search for PowerPlayInfo. Note the offset and length. Now open that ROM using a hex editor and copy the hex string starting with the offset and include the entire length as found in the previous step

Paste that text using a plist editor into your opencore config.plist under DeviceProperties->Add. Of course you'll need to find the PCIe bus/device path of the GPU but the guides cover that
 
  • Like
Reactions: inarush
It does work on my rx 580 nitro +. I have the powerplay tables injected with opencore with legacy fan mode on. No issues with windows since the vbios is still stock and opencore doesnt seem to inject them while in windows. (I underclocked my GPU to 1211 MHz since i dont game on macOS and dropped mem clock to 1750. Fans always spin at a constant 20% so it doesnt cycle on and off between 46 and 52 every 2-3 mins) I also raised idle memory clocks to 500 Mhz from 300 as it seems to cause flickers in safari when it drops too low (still testing to find the sweet spot)

I wrote up a quick guide here: It's for a hackintosh but should work on a real mac

It's good to know that.

You monitor the RX580's parameters in macOS via iStat etc, and confirmed it follow the PowerPlay table, is that correct?
 
  • Like
Reactions: Eschers
It's good to know that.

You monitor the RX580's parameters in macOS via iStat etc, and confirmed it follow the PowerPlay table, is that correct?
Yep! All works great. I see the fan always spinning at a low speed as configured too. The GPU heat pipes are noticeably cooler of course.
 
Well in my case, i was interested in editing the fan curve and clock/mem clock and voltages so editing the values available through polarisbioseditor was enough.

Basically, Edit your rom in polarisbioseditor like usual (as per OP on this thread). But instead of flashing it to your card, open that ROM with ATOMBIOSReader and search for PowerPlayInfo. Note the offset and length. Now open that ROM using a hex editor and copy the hex string starting with the offset and include the entire length as found in the previous step

Paste that text using a plist editor into your opencore config.plist under DeviceProperties->Add. Of course you'll need to find the PCIe bus/device path of the GPU but the guides cover that

Amazing news @saudor, thanks for sharing! This will definitely solve my headache of not being able to further customize my hackintosh's RX580 in order to prevent Windows from going crazy because of an edited vBIOS...

Besides clocks, does your guide work for voltages as well?
 
Last edited:
Amazing news @saudor, thanks for sharing! This will definitely solve my headache of not being able to further customize my hackintosh's RX580 in order to prevent Windows from going crazy because of an edited vBIOS...

Besides clocks, does your guide work for voltages as well?
I would assume so (I can see the other settings being successfully applied) but it's hard to make sure since macOS isnt really great for reading voltages from the core and memory. Anyways i dropped the memory clock to 1750 and core clock to 1211 so i assume by extension, the voltages have dropped. Performance wise, im seeing a drop but it's not that bad - especially with the one click timing patch

Metal: Before = 44155, After = 45367 (while it's increased, it's probably within margin of error so no significant difference)
OpenCl: Before = 43579, After = 41243

In nitro mode (core = 1411 MHz), it's 49383 on metal, 46529 in openCL
 
Whatever change I make in the Polaris Bios Editor and flash that ROM, the computer doesn´t post (1 long beep, three short - indicating GPU issue). Any tips? I just want to change the PWMs so the fans spin a little bit faster at idle than the default 800-900 RPMS as that speed has an annoying whine). Thanks!
 
Whatever change I make in the Polaris Bios Editor and flash that ROM, the computer doesn´t post (1 long beep, three short - indicating GPU issue). Any tips? I just want to change the PWMs so the fans spin a little bit faster at idle than the default 800-900 RPMS as that speed has an annoying whine). Thanks!
Your card doesn't has zero fan mode?
 
Last edited:
I do have a modded PULSE RX580 8GB (low voltage, high performance, Orinoco framebuffer, quiet and always on fan, liquid metal cooling)
I am also running a RX 580 Pulse. Have you verified the heatsink is made out of copper?

Beware of liquid metal, had also a GTX 960 and a HD 6970 which I have put liquid metal on and put them away, none of the cards work now actually, it looks like somehow it has "burnt" into the chip and the heatsink, as there is residue which cannot be removed, even with the manufacturers cleaning solutions!

ps: somewhere I have read and learnt that liquid metal does react badly with aluminium hence they advised to only use on full copper heatsinks.
 
I am also running a RX 580 Pulse. Have you verified the heatsink is made out of copper?

Beware of liquid metal, had also a GTX 960 and a HD 6970 which I have put liquid metal on and put them away, none of the cards work now actually, it looks like somehow it has "burnt" into the chip and the heatsink, as there is residue which cannot be removed, even with the manufacturers cleaning solutions!

ps: somewhere I have read and learnt that liquid metal does react badly with aluminium hence they advised to only use on full copper heatsinks.
Only the contact point can't be aluminium, the heatsink itself doesn't really matter.

My W3690, 8700K, RX580, 1080Ti, Radeon VII, PS4 Pro... are all with liquid metal. And all of them still working (most of these devices use Liquid metal for more than a year now).
 
You card doesn't has zero fan mode?
It does, but in MacOS, the GPU is barely used so little it stays within the Zero mode limit. I would like to bump up the minimum fan PWM a bit. The fan makes an annoying whine on the minimum RPM, I'd like to speed that up a bit. But any modification I make, the system doesn't post at all. It may be something with the CRC checksum but I don't know how to fix that.
 
It does, but in MacOS, the GPU is barely used so little it stays within the Zero mode limit. I would like to bump up the minimum fan PWM a bit. The fan makes an annoying whine on the minimum RPM, I'd like to speed that up a bit. But any modification I make, the system doesn't post at all. It may be something with the CRC checksum but I don't know how to fix that.
Did you dump your original ROM to mod it?
 
Need a lttle help @h9826790. Ive posted here before about my Sapphire Pulse RX580, i kept the mining bios that was on the card when i recieved it, however now its causing an issue with OpenCore not displaying the picker.

Ive reflashed the below bios from TPU which is an E353 bios, matching the bios now on the card


But according to the label on the card it should be an E387 bios, as below


Ive tried using amdvbflashWin app to flash the matching rom, but it faild, reporting a missmatch. So I have tried (admin) cmd.exe method using amdvbflashWin -f -p 0 .rom method that is supposed to force flash, however it again reports a mismatch. Have i missed something?

And will this mismatch of the rom cause my OC issue to continue?

GPUz identify the card as E353, is that just reporting the rom or the cards actual ID, which is not the same as the label.
 
Last edited:
Card ID
 

Attachments

  • 22EB3799-4F64-4621-9498-B0BC6E9F641C.jpeg
    22EB3799-4F64-4621-9498-B0BC6E9F641C.jpeg
    296.9 KB · Views: 139
  • Capture 03.02.2022 SSID mismatch.JPG
    Capture 03.02.2022 SSID mismatch.JPG
    14.5 KB · Views: 119
  • Capture GPUz ID.JPG
    Capture GPUz ID.JPG
    69.2 KB · Views: 145
Need a lttle help @h9826790.

Ive tried using amdvbflashWin app to flash the matching rom, but it faild, reporting a missmatch. So I have tried (admin) cmd.exe method using amdvbflashWin -f -p 0 .rom method that is supposed to force flash, however it again reports a mismatch. Have i missed something?
So I should have been using amdvbflash instead of amdvbflashWin, but sill having problems...
 

Attachments

  • Capture invalid command.JPG
    Capture invalid command.JPG
    83 KB · Views: 148
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.