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

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,666
8,592
Hong Kong
Just upgraded from RX580 to Radeon VII (it's just $350 from a local seller, like new condition, with 2 years+ warranty. I really can't skip it :D)

Anyway, as usual, all AMD GPU are seriously overvolted from factory (Default setting in Wattman shows 1801MHz @1093mV). Properly downvolt the card can lower the power draw, temperature, and fan noise.

Since we can't mod the Radeon VII's ROM, so, the best method should be inject a soft PowerPlay table.

I ran Luxmark for three times. 1st and 3rd run with PP table, 2nd run without PP table. And the Radeon VII clearly draw less on the 1st and 3rd run (same score range for all three runs). So, I believe this is a good enough evidence to confirm that my kext mod is effective.
Screenshot 2019-08-23 at 11.57.00 PM.png

(N.B. the very high power draw before the 1st Luxmark run is the Furmark test. The peak from the 2nd run is really the power draw from Luxmark, not Furmark)

WARNING: Only install the CustomPowerPlay.kext if you have proper back up, and know how to recover (in worst case).

The pre-created kext for 10.14.6 (link) (depreciated)

The pre-created kext for 10.15.2 (link) (depreciated)

Pre created kext for Mojave and above

Power Radeon VII with mini 6pins ONLY (link)

(Depreciated, LudaCrisvp helped me to create the required kext) Technically, make a codeless kext to insert the PowerPlay table is a better way to do it, but I am not good at that. If anyone know how to do it properly, please join this thread, hopefully we can make a way that no need to mod the system kext.

So, back to the topic. SIP must be disabled to make it work, otherwise, kext won't load, and all you have is just black screen (If you mod the original AMD kext, but not install the extra kext that I posted in the above link)

Step 0)

Disable SIP, backup the boot drive, backup your data.


Step 1)

To find out the min voltage that work for your own card. My suggestion is to boot into Windows, and stress your GPU (e.g. by running Unigine Heaven Extreme Preset), then slowly lower the voltage in AMD Wattman until you see artifacts. In my case, I only move the orange dot down, but leave everything at default.
oc-1.jpg

And I can see artifacts when the voltage reduced to around 971mV. So, I give it 10mV buffer, and set 981mV as the target voltage.


Step 2)

Once you find the voltage, you can now go back to macOS, download and open the attached excel table (credit to CMMChris, TonyMacX86)
Screenshot 2019-08-24 at 1.04.44 AM.png



Step 3)

The table is pretty much edited already. All you need to do is just mod the number in the AB column. e.g. my target voltage is 981mV, therefore, I enter 981 in the box AB6.

P.S. Power Limit (%) is changed to zero in that table, but test shows no effect (by running Furmark, max power draw still at the same range). If you want to limit the max power, you may change the Power Limit (W). E.g. if change that to 200, 200 x 120% = 240W max. I tested this parameter. It works in macOS. With 250W (120%), Furmark cost a 36A power draw from the PSU 12V line, With 200W (120%), that will reduce to 31A.

Since 250W x 120% = 300W

And 200W x 120% = 240W

The expected difference is 60W. And (36-31)A x 12V = 60W. Exactly as per the prediction. Therefore, we can safely confirmed the "Power Limit (W)" has effect in macOS.

Also, for info, even I limited the card to 200W (120%), Luxmark still shows the same score. So, this should not affect the card's performance for absolutely most real world task.

If your target voltage is above 1000mV, then you should modify MaxVoltageGfx and MaxVoltageSoc accordingly.

At this moment, both parameters set to 4000, which mean 1000mV x4. If your target voltage (minimum stable voltage) is 1010mV, then you should give it a little bit buffer, e.g. 1020mV, and enter 4080 in box AB11 and AB13.

(Depeciated, I tried quite a few different irregular numbers, seems won't break anything, and the downvolt still work as expected) I am not 100% sure, but there may be some limitation for these two parameters. e.g. the voltage must be at 50mV step. Which means, 4200 (1050mv x4) is a valid number, but 4120 (1030mV x4) may be not.

If you want a bit more performance, you can set the HBM clock speed to 1100MHz. Tests shows this will let the card draw another ~10W, but run ~5% faster (please test if your card can really do that in Windows before you set that in the PowerPlay table).


Step 4)

Once finish edit the table, go to box H72, there will be a hex code generated. e.g. in my case

Code:
C2060B0002C20634080000A43500007C00090000001AFA00FA00FA00000000007600010B000000090700006E040000CC030000CC030000CC030000E8030000C90400006E0400006E040000340400002A0300000000000000000000000000000000000000000000BC020000660100003601000036010000360100005E010000260200006601000066010000930000000E0100000000000000000000000000000000000000000000010E00000001010101010101010100010101010000000000000000000000000000000000001D000000980800009808000098080000D503000098080000D503000098080000D5030000B0040000000000000A0F00000A0F00005F0000006E00000002000000000000000100000001000000010000005F000000640000005F000000640000005F000000640000005F000000640000005F00000064000000000000000000000000000000280300002803000028030000E202000028030000E202000028030000E20200005E01000014000000C2010000C201000019000000320000000000000000000000000000000000000000000000190000001400000019000000140000001900000014000000190000001400000019000000140000000000000000000000000000000000000000000000000003000000FFEFF43900000000FA000000000000000000000000000000FA000000320000004A01000064006E005E0073007300FFFFFFFFFFFF0000000000000000010073000000000000000000F00AF00AA00FA00F260000000101090000000000000000005BB1BF3EEC51F8BE6519523F00010800643B9F3F16DEA5BD00000000000000000000000000010800355E9A3F8F362E3E00000000000000000000000000010800696FB03F4833163D00000000000000000000000000010800E561A13F12F758BD00000000000000000000000000010300B515833FC2DD193E000000000000000000000000000108008638863F0EBE303E0000000000000000000000000001080083C05A3F4DA1F33D000000000000000000000000020108000000000000000000A4708D3FE41485BFD5E7323F0201030000000000000000000000000000000000D5E7323F010108000000803F00000000D191FC3E1F852BBF3277753FBC0228036E045C050A069306D506ED06090700000000000000000000000000006601E6016B02F4025203CC036E046E04360190010C026B02A802F4025203CC03360190010C026B02A802F4025203CC0336010C0237026B02A802F4025203CC035E012003E803E80326026202B202F8026603C0033804C9046601C6013702A802F4025203CC036E046601C6013702A802F4025203CC036E049300F2005801E4011502AA03130434040E011C022A030000000000000000000009076E04CC03CC03CC03E8036E046E0434042A03C9040000C8002C016009F00A2803000000000000000000000000000000000000000000000907010000000000000206065000340100000000000000000000000090019001900190019001900190011400540B540B0A0F5F000000000200000000000000000001000000000000508D973C0AD7A33B00000000EAB2983C87A2403D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0000100000000000000A0000000081002101A044C04E803E803E803E8030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000860B220B540B000090019001380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


Step 5)

go to

http://tomeko.net/online_tools/hex_to_base64.php


Step 6)

place your own hex code that generated from step 4 into the convertor to get the base64 code. e.g. in my case
Code:
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


Step 7) (The steps from here is depreciated, please use the new kext injection method at post #21, which no need to mod any system kext)

Now, we can start to mod the kext. Open terminal and enter
Code:
sudo bash

after enter your admin password, enter
Code:
nano /System/Library/Extensions/AMD10000Controller.kext/Contents/Info.plist

inside the editor, move down to <key>aty_properties</key> and add four lines (update: 2 more lines added, total 6 lines now)
Code:
<key>PP_PhmSoftPowerPlayTable</key>
<data>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</data>
<key>PP_DisablePowerContainment</key>
<integer>1</integer>
<key>PP_DisableDIDT</key>
<integer>1</integer>

please replace the "data" content by your own base64 code. The modded kext should looks like this
Screenshot 2019-08-24 at 1.26.53 AM.png



Step 8)

After finish editing, press Control+X to save and exit (as per the instruction inside the editor), you should need to press "Y" and "enter" to properly save the modded kext.


Step 9)

Back to terminal, enter
Code:
touch /System/Library/Extensions; kextcache -update-volume /

After you finish this step, everything is done. You may open the info.plist inside AMD10000Controller.kext to have a look, the PowerPlay table should be there.

You may also check the System Reports -> Extensions, the AMD10000Controller.kext now should be obtained from "Unknown" but not Apple anymore.

If you are happy, you can reboot your Mac now (WARNING: if SIP is enabled, the kext won't load, and all you have is just black screen. You may setup remote control to handle this kind of situation, just in case).


After reboot, the PowerPlay table should be working now. In my case, everything works perfectly after the kext mod. Interestingly, both Unigine Heaven (~4%) and Valley (~7%) shows better score after the mod, my feeling is because less thermal limitation. And since Luxmark more affected by the VRAM performance, so, not quite affected.

Last but not least, if black screen only after reboot, perform a NVRAM will re-enable SIP and disable the PowerPlay table. So that, you can remove the CustomPowerPlay.kext.

You should also able to recover the entire OS in recovery partition if you want to (hold Command + R to boot).
 

Attachments

  • RadeonVII-PPT-Generator.xlsx.zip
    55 KB · Views: 438
Last edited:
Just try to OC the HBM a bit to 1100MHz, and now get a Luxmark score that over 53000.
Screenshot 2019-08-24 at 4.29.33 AM.png


In Windows, as long as I keep the voltage target at 981mV for 1801MHz (CPU-Z shows actual running at 975mV with a clock speed that just below 1800MHz), it shows no sign to enter thermal throttling. GPU keep running at about 70C (junction temperature, AKA hot spot temperature, at around 85C in Ungine Heaven loop), fan speed around 2200RPM (quite quiet indeed), always stay just a bit below 1800MHz. And the HBM can also stay at 1100MHz.

I cannot monitor the parameters directly in macOS, but since the PowerPlay table seems can work, and the fan noise suggest that the temperature should be at the same level as in Windows. So, I believe the HBM can also stay at 1100MHz without any issue in macOS.
 
Last edited:
Where did you find a Radeon Vii for that price?!

Just upgraded from RX580 to Radeon VII (it's just $350 from a local seller, like new condition, with 2 years+ warranty. I really can't skip it :D)

Anyway, as usual, all AMD GPU are seriously overvolted from factory. Properly downvolt the card can lower the power draw, temperature, and fan noise.

Since we can't mod the Radeon VII's ROM, so, the best method should be inject a soft PowerPlay table.

I ran Luxmark for three times. 1st and 3rd run with PP table, 2nd run without PP table. And the Radeon VII clearly draw less on the 1st and 3rd run (same score range for all three runs). So, I believe this is a good enough evidence to confirm that my kext mod is effective.
View attachment 854390
(N.B. the very high power draw before the 1st Luxmark run is the Furmark test. The peak from the 2nd run is really the power draw from Luxmark, not Furmark)

WARNING: Only perform the follow kext mod if you have proper back, and know how to recover (in worst case).

Technically, make a codeless kext to insert the PowerPlay table is a better way to do it, but I am not good at that. If anyone know how to do it properly, please join this thread, hopefully we can make a way that no need to mod the system kext.

So, back to the topic. I only know how to do it by modding the AMD10000Controller.kext, so, SIP must be disabled to make it work, otherwise, kext won't load, and all you have is just black screen.

Step 0)

Disable SIP, backup the boot drive, backup your data. Highly suggest you backup the AMD10000Controller.kext in System->Library->Extensions, just in case you want to revert the mod (or for recovery)


Step 1)

Before you start the mod, you have to find out the min voltage that work for your own card. My suggestion is to boot into Windows, and stress your GPU (e.g. by running Unigine Heaven), then slowly lower the voltage in AMD Wattman until you see artifacts. In my case, I only move the orange dot down, but leave everything at default.
View attachment 854378

And I can see artifacts when the voltage reduced to around 971mV. So, I give it 10mV buffer, and set 981mV as the target voltage.


Step 2)

Once you find the voltage, you can now go back to macOS, download and open the attached excel table (credit to CMMChris, TonyMacX86)
View attachment 854380


Step 3)

The table is pretty much edited already. All you need to do is just mod the number in the AB column. e.g. my target voltage is 981mV, therefore, I enter 981 in the box AB6.

P.S. Power Limit is changed to zero in that table, but test shows no effect.

If your target voltage is above 1000mV, then you should modify MaxVoltageGfx and MaxVoltageSoc accordingly.

At this moment, both parameters set to 4000, which mean 1000mV x4.

I am not 100% sure, but there may be some limitation for these two parameters. e.g. the voltage must be at 50mV step. Which means, 4200 (1050mv x4) is a valid number, but 4120 (1030mV x4) may be not.

So, if your target voltage is 1001mV, then the next step will be 1050mV, and you should enter 4200 in box AB11 and AB13.

N.B. I don't know if you can really set the clock speed, I haven't try it, and there is no way to see the clock speed in macOS.


Step 4)

Once finish edit the table, go to box H72, there will be a hex code generated. e.g. in my case

Code:
C2060B0002C20634080000A43500007C00090000001AFA00FA00FA00000000007600010B000000090700006E040000CC030000CC030000CC030000E8030000C90400006E0400006E040000340400002A0300000000000000000000000000000000000000000000BC020000660100003601000036010000360100005E010000260200006601000066010000930000000E0100000000000000000000000000000000000000000000010E00000001010101010101010100010101010000000000000000000000000000000000001D000000980800009808000098080000D503000098080000D503000098080000D5030000B0040000000000000A0F00000A0F00005F0000006E00000002000000000000000100000001000000010000005F000000640000005F000000640000005F000000640000005F000000640000005F00000064000000000000000000000000000000280300002803000028030000E202000028030000E202000028030000E20200005E01000014000000C2010000C201000019000000320000000000000000000000000000000000000000000000190000001400000019000000140000001900000014000000190000001400000019000000140000000000000000000000000000000000000000000000000003000000FFEFF43900000000FA000000000000000000000000000000FA000000320000004A01000064006E005E0073007300FFFFFFFFFFFF0000000000000000010073000000000000000000F00AF00AA00FA00F260000000101090000000000000000005BB1BF3EEC51F8BE6519523F00010800643B9F3F16DEA5BD00000000000000000000000000010800355E9A3F8F362E3E00000000000000000000000000010800696FB03F4833163D00000000000000000000000000010800E561A13F12F758BD00000000000000000000000000010300B515833FC2DD193E000000000000000000000000000108008638863F0EBE303E0000000000000000000000000001080083C05A3F4DA1F33D000000000000000000000000020108000000000000000000A4708D3FE41485BFD5E7323F0201030000000000000000000000000000000000D5E7323F010108000000803F00000000D191FC3E1F852BBF3277753FBC0228036E045C050A069306D506ED06090700000000000000000000000000006601E6016B02F4025203CC036E046E04360190010C026B02A802F4025203CC03360190010C026B02A802F4025203CC0336010C0237026B02A802F4025203CC035E012003E803E80326026202B202F8026603C0033804C9046601C6013702A802F4025203CC036E046601C6013702A802F4025203CC036E049300F2005801E4011502AA03130434040E011C022A030000000000000000000009076E04CC03CC03CC03E8036E046E0434042A03C9040000C8002C016009F00A2803000000000000000000000000000000000000000000000907010000000000000206065000340100000000000000000000000090019001900190019001900190011400540B540B0A0F5F000000000200000000000000000001000000000000508D973C0AD7A33B00000000EAB2983C87A2403D000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000A0000100000000000000A0000000081002101A044C04E803E803E803E8030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000860B220B540B000090019001380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


Step 5)

go to

http://tomeko.net/online_tools/hex_to_base64.php


Step 6)

please the hex code that generated from the table into the convertor to get the base64 code. e.g. in my case
Code:
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


Step 7)

Now, we can start to mod the kext. Open terminal and enter
Code:
sudo bash

after enter your admin password, enter
Code:
nano /System/Library/Extensions/AMD10000Controller.kext/Contents/Info.plist

inside the editor, move down to <key>aty_properties</key> and add four lines
Code:
<key>PP_PhmSoftPowerPlayTable</key>
<data>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</data>
<key>PP_DisablePowerContainment</key>
<integer>1</integer>

please replace the "data" content by your own base64 code. The modded kext should looks like this
View attachment 854387


Step 8)

After finish editing, press Control+X to save and exit (as per the instruction inside the editor), you should need to press "enter" two more times to properly save the modded kext.


Step 9)

Back to terminal, enter
Code:
touch /System/Library/Extensions; kextcache -update-volume /

After you finish this step, everything is done. You may open the info.plist inside AMD10000Controller.kext to have a look, the PowerPlay table should be there.

You may also check the System Reports -> Extensions, the AMD10000Controller.kext now should be obtained from "Unknown" but not Apple anymore.

If you are happy, you can reboot your Mac now (WARNING: if SIP still enable, the kext won't load, and all you have is just black screen. You may setup remote control to handle this kind of situation, just in case).

After reboot, the PowerPlay table should be working. In my case, everything works perfectly after the kext mod. Interestingly, both Unigine Heaven (~4%) and Valley (~7%) shows better score after the mod, my feeling is because less thermal limitation. And since Luxmark more affected by the VRAM performance, so, not quite affected. But if you want to, make the HBM run at 1100MHz should help (please test if your card can really do that in Windows before you set that in the PowerPlay table).

Last but not least, if black screen only after reboot, please use remote control to check if AMD10000Controller kext is loaded. If not, double check if SIP is disabled. You should able to hold Command + R to boot to recovery partition and disabled SIP.

You should also able to recover the original kext easily by remote control if you have Time Machine backup.

You should also able to recover the entire OS in recovery partition if you want to.
 
It has been a while since I've made an injector, but I think this one should work for your machine @h9826790.
As I lack the Radeon VII, I therefore can't really test it myself.
 

Attachments

  • RadeonVII-PowerPlay.kext.zip
    2 KB · Views: 339
  • Like
Reactions: orph and h9826790
It has been a while since I've made an injector, but I think this one should work for your machine @h9826790.
As I lack the Radeon VII, I therefore can't really test it myself.

Thanks, will test this once back home tonight.

I tried to mod a Vega injector, but unsuccessful, hopefully this one can work.

Million thanks in advance!
 
  • Like
Reactions: Ludacrisvp
Hi H98,
Is the trick: injecting Powerplay table, can work with RX570?
I tried the BIOS trick you use for RX580 on my RX570 but unfortunately only using 'voltage' pointer not the actual voltage itself.
You did have the actual voltage trick but I'm afraid it is only for RX580 and won't work for my RX570.
 
Just upgraded from RX580 to Radeon VII (it's just $350 from a local seller, like new condition, with 2 years+ warranty. I really can't skip it :D)

Anyway, as usual, all AMD GPU are seriously overvolted from factory. Properly downvolt the card can lower the power draw, temperature, and fan noise.

Since we can't mod the Radeon VII's ROM, so, the best method should be inject a soft PowerPlay table.

Why is it not possible to mod the Radeon VII ROM with the usual method (ATIWinFlash and Polaris BIOS Editor) ?
 
Hi H98,
Is the trick: injecting Powerplay table, can work with RX570?
I tried the BIOS trick you use for RX580 on my RX570 but unfortunately only using 'voltage' pointer not the actual voltage itself.
You did have the actual voltage trick but I'm afraid it is only for RX580 and won't work for my RX570.

Should work, HOWEVER, you have to create your own power play table (also mod the associated kext). The attachment in post #1 is ONLY for Radeon VII.

You may refer to some Hackintosh forum about how to extract the power play table from Windows. AFAIK, all you need is just install some OC tool (e.g. Afterbuner), tune and test the GPU, then extract the table from the registry.
[doublepost=1566676160][/doublepost]
Why is it not possible to mod the Radeon VII ROM with the usual method (ATIWinFlash and Polaris BIOS Editor) ?

AFAIK, Vega and Radeon VII only accept signed ROM. Any modification of the VBIOS will break it.
 
  • Like
Reactions: octoviaa
Sorry to go a bit off topic, but am I right to assume that one could use the Radeon VII in the new Mac Pro (2019)?
 
Tested, same as my own kext, not loaded. No idea what's wrong.
View attachment 854538
Only thing I can think of is that we need to adjust the value of IOProbeScore in the injector.

When you load your kexts manually do you use kextload or kextutil?
When I do it I use kextutil to load it then update kextcache then if needed reboot (as is the case with an injector) also as injectors don’t remain loaded in kextstat you may need to look at ioreg to see if the values were attached to the device.
[doublepost=1566699290][/doublepost]
Sorry to go a bit off topic, but am I right to assume that one could use the Radeon VII in the new Mac Pro (2019)?
It’s a safe bet that if we can use it in the 4,1/5,1 that it should work in the 7,1 and it probably works as an eGPU via thunderbolt.
 
Only thing I can think of is that we need to adjust the value of IOProbeScore in the injector.

When you load your kexts manually do you use kextload or kextutil?
When I do it I use kextutil to load it then update kextcache then if needed reboot (as is the case with an injector) also as injectors don’t remain loaded in kextstat you may need to look at ioreg to see if the values were attached to the device.

I just do it manually, locate the kext in L/E/, manually fix permission by using terminal.

But it's a good point that injector not necessary shows as loaded. I thought about that as well, but didn't think about can use IOReg to confirm if the PP table is loaded.

I will try again and see if the injector actually work.

Update 1: Tried both IOProbeScore 250 and 65050, doesn't work. No PP table in IOReg, Luxmark power draw and score also suggest wasn't working.
 
Last edited:
Just ran few more tests to analyse the power draw difference.

Four Luxmark run, and numbers suggests without PP table, PSU 12V output is about 30A (
Screenshot 2019-08-25 at 3.00.06 PM.png


With PP table (VRAM OCed to 1100MHz), the PSU 12V output is about 26A
Screenshot 2019-08-25 at 2.59.07 PM.png


So, ~4A x 12V, the power draw difference is about 50W. IMO, Quite significant indeed.
(N.B. this is the power saving after I OCed the VRAM the 1100MHz. If I keep the HBM at 1000MHz, there will be another 10W saving)
 
Last edited:
I tried 65051, clearly the kext has some effect, because once it loaded, the screen turns black.

Not quite what we want yet, but at least we move one step forward :D
I think if you can get ioreg output from while it is loaded we will see what we are missing. We may need to replicate all the content in the sections we are injecting.
 
  • Like
Reactions: h9826790
I think if you can get ioreg output from while it is loaded we will see what we are missing. We may need to replicate all the content in the sections we are injecting.

Thanks for your input, I modded a Vega PowerPlay kext, and it's working now with the Radeon VII.

However, from IOReg, I can tell there are more changes than expected. I may need to fine tune the kext later.

But quick tests shows no adverse effect at this moment. Very good progress :D

Update 1: Kext updated (attachment also updated). I completely redo the info.plist file, now the injected parameters are all based on the original AMD10000Controller.kext, but just added that 4 extra lines. And change the IOProbeScore to 65051.
Screenshot 2019-08-29 at 5.30.27 PM.png

Screenshot 2019-08-29 at 8.05.02 PM.png


Will update post #1 after I finish my dinner
 

Attachments

  • CustomPowerPlay.kext.zip
    7 KB · Views: 407
Last edited:
  • Like
Reactions: orph and Ludacrisvp
OK, the goal achieved. Now, we can downvolt the Radeon VII with a kext (which only contain an info.plist to inject the required parameters), no need to modify the system kext anymore. OS update won't revert the modded kext. PRAM reset won't break the GPU driver. In fact, we can simply reset PRAM to disable the PP table (good for trouble shooting).

Here is the "how to"

a) Still highly recommend you go through the step 0-6 in post #1, so that you can find out the voltage (or clock speed) that optimum for your own Radeon VII.

But if you are too lazy to do that, you can simply download the attached kext, disable SIP, and then jump to step f, this kext will downvolt your Radeon VII to 981mV with HBM set to 1100MHz. Should be good for most Radeon VII. If anything goes wrong, a PRAM reset will bring your system back to normal, then you can remove the kext (or mod it to fit your card)

b) once you get the Base64 code, download (and unzip) the CustomPowerPlay.kext (attached in this post).

c) Right click on it, select "Show Package Contents"

d) Inside the "Contents" folder, there is an info.plist file, open it by text editor.

e) Search "<key>PP_PhmSoftPowerPlayTable</key>", then there is a very long Base64 code under it. Replace that Base64 code by your own code (from step 0), and save it.

f) Copy the CustomPowerPlay.kext to /Library/Extensions/ (NOT /System/Library/Extensions/)

g) Open Terminal, enter
Code:
sudo chmod -R 755 /Library/Extensions/CustomPowerPlay.kext

h) Enter
Code:
sudo chown -R root:wheel /Library/Extensions/CustomPowerPlay.kext

i) Enter
Code:
sudo codesign --deep -fs - /Library/Extensions/CustomPowerPlay.kext

j) Enter
Code:
sudo touch /Library/Extensions; kextcache -update-volume /
(May shows something like "No such file..." or "Error 107", don't worry, you can safely ignore them)

k) Restart

After reboot, the PowerPlay table should be working as expected. Since there is no way to observe the RadeonVII's parameters directly in macOS. My own suggestion is to run Luxmark 3.1 before applying the kext, record down the power draw and score, then run it again after kext installed. You should see about 5% improvement, but lower power draw.

Also, you may run IOJones

https://sourceforge.net/projects/iojones/

Then search AMD10000, you should see "9 values" next to "aty_properties", and able to see that large PP table.
Screenshot 2019-08-29 at 8.05.02 PM.png
 

Attachments

  • CustomPowerPlay.kext.zip
    7 KB · Views: 498
Hi H98,
Since VEGA won't work with Windows 10 CSM, does that mean you're using Windows UEFI?
I saw some one on carousel selling VEGA FE but worried if I bought one I won't be able to use it with my W10 CSM, while W10 UEFI might cause boot-rom issue.
 
Hi H98,
Since VEGA won't work with Windows 10 CSM, does that mean you're using Windows UEFI?
I saw some one on carousel selling VEGA FE but worried if I bought one I won't be able to use it with my W10 CSM, while W10 UEFI might cause boot-rom issue.

No, I am using Windows 10 in legacy mode with my Radeon VII on cMP.

No problem at all, all I did is just swap out my RX580 and install the Radeon VII. After boot to desktop, the resolution was wrong, but the card works normally, I can easily reset the default resolution.
 

No idea, I never test any Vega, but if both RX580 and Radeon VII can work, I can’t see why only Vega is not supported. Unless that’s a mistake from AMD.

My understanding, UEFI ROM means VBIOS + UEFI. When the card is installed in a legacy system, the UEFI part will be ignored, and only the VBIOS part work. So, Vega should has VBIOS part in the ROM to support CSM.

However, I haven’t follow that closely about Vega’s Windows support. Until someone confirm that he can use Vega on cMP in CSM Windows, we better treat that’s not an option.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.