Hi, I never noticed before but my RX580 power consumption never goes below 90/95W in Idle, even at 300Mhz clock speed, with an average temp of 48/50c. I searched a lot about the topic and found out it's a common "issue". I didn't find any solution though! What do you think about this? Should we just live with those values?
Many thanks again for the help
I'm also using the
Saphire RX580 NITRO+
Santa bring me a 34" 1440p 144Hz monitor for christmas (plugged with a 2nd 1080p monitor, both on DP on the card).
The NITRO+ fans were kicking fast after reaching 46°C idle (OC or Silent BIOS) so i've found a way to control them by injecting powerplay tables directly in OpenCore.
Basically they now always spin silently at 13% after editing the GPU BIOS and injecting powerplay tables and fan curve in OpenCore , leaving the card at 35° idle at low noise.
I've also undervolted/underclocked it and bench for stability. (i'm not a heavy gamer on MacOS, mostly in Windows where i use AMD driver to undervolt and fan curve tweak)
The good thing was no need to flash a tweaked BIOS in the card
Regarding the "never goes below 90/95W in Idle" It's the same for me even with undervolting, during heavy bench using Furmark or Unigine heaven on MacOS, iStat reported peaks around 300W for the GPU only! So i suspect the GPU watts reported are maybe wrong, also the GPU temps never went above 53°C during my tests after the injection, looks maybe more like the full system power used (?)
(The best thing would be ideally to test with a real wattmeter on the wall to be sure..)
For information, here are the steps i followed:
(Back up first if you want to try...)
Under Windows:
- Extracted the NITRO+ (silent BIOS stock), i've used amdvbflash_win_3.31.exe (installing the driver first with AMDVBFlashDriverInstaller.exe and remove it after use).
- Edited the BIOS with PolarisBiosEditor 1.7.6.exe like this:
IMPORTANT NOTE: Here i underclocked a little bit but use default values under GPU and MEMORY if not sure.
The important thing is You will need to
change fuzzy fan mode to 0 (maybe working with 1 but did not work with me) in order for the curves to stick in macOS.
i've change Min PWM to 13% but again use default (20%) if not sure.
- Then clicked ONE CLICK TIMING PATCH for timings optimization (it detects if the card has Samsung or Hynix memory automatically)
Then i saved the modded BIOS on desktop.
- After that, i opened the modded BIOS with a small tool called
ATOMBIOSReader.exe

- It will generate a text file with the location of Powerplay tables to find using a basic HEX editor like HxD.exe
(Look for the PowerPlayInfo line in the generated text file).
- Now opened the modded BIOS in the HEX editor and position to (in my case) 9bba using the "reach" menu
- Now selected the HEX code to the lenght described in the text flie genarated by ATOMBIOSReader (in my case 341)
- Now copy/paste and saved the selection in a text file.
Back to MacOS:
Copied and paste the selected HEX code in OpenCore after adding the card in devices and add a Properties key
PP_PhmSoftPowerPlayTable (see screenshot) Type DATA.
Save, restart and the fans will spin constantly and silentlly at low RPM, keeping the GPU around 35°C idle
- Used the command
Code:
while sleep 3; do clear;ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan\|%\|(W)\|Hz'; done
To monitor GPU usage from the terminal
For me everything is fine and the nice thing is that no need to flash modded BIOS, everything is reversible i can just remove the OpenCore entry and reboot.
Under Windows, i can just use AMD driver for custom Fan curve/undervolt too.
Let me know what you think or if you have another solution
And Happy new year of course!
EDIT:
just added the Orinoco FrameBuffer suggested by
@juseon123 below and it lowered the power usage around 10-15w idle (so around 77w idle instead of 85-90w with both of my monitors connected) reported by iStat (or with the command line check).
Under Windows i'm using only 40-42w idle
And 110w @ 52°C max during "Unigine Heaven" bench
But again around 300w @ 53°C reported by iStat (or HWmonitorSMC2) for GPU during "Unigine Heaven" bench (before or after the injection)...Looks weird (?)
note: (Another thing as you can see is the memory as always been getting full quickly even on idle..Getting back to normal after wake from sleep indeed..)