Contribute
Register

[TOOL] VGTab: Control your Vega in macOS without flashing the vBios

Why do you want to mod the kext? Just inject it as device property with Clover. Get the PCI path of your GPU with GFXUtil or Hackintool, paste it into Clover Device Properties and add the PPT under property "PP_PhmSoftPowerPlayTable". Bildschirmfoto 2019-08-23 um 11.02.56 AM.png
 
Why do you want to mod the kext? Just inject it as device property with Clover. Get the PCI path of your GPU with GFXUtil or Hackintool, paste it into Clover Device Properties and add the PPT under property "PP_PhmSoftPowerPlayTable".View attachment 422759

Because I want to downvolt the Radoen VII on my Mac Pro (real Mac, which has no Clover) as well.
 
Just install Clover on your Mac Pro, will work just fine. Just make sure to uncheck all other Clover options and don't add any EFI drivers, otherwise it might brick your firmware. Alternatively, you can also create a codeless Kext for injecting the PPT. I strongly advice against editing system files.
 
Just install Clover on your Mac Pro, will work just fine. Just make sure to uncheck all other Clover options and don't add any EFI drivers, otherwise it might brick your firmware. Alternatively, you can also create a codeless Kext for injecting the PPT. I strongly advice against editing system files.

Thanks for the suggestion. I am happy to create the codeless kext. It shouldn't be too hard to mod the Vega codeless kext to fit the Radeon VII.

However, I still need to convert those hex code to the key string for the kext.

I tried Clover on my Mac Pro before. Even with zero data injection. All PCIe info was messed up. Not quite comfortable to keep running my Mac in that config. So, codeless kext will be my choice in this case.
 
You just need to paste the PowerPlay Table using a Plist editor as data. It will be encoded with Base64 automatically. Same is done by Clover Configurator.
 
You just need to paste the PowerPlay Table using a Plist editor as data. It will be encoded with Base64 automatically. Same is done by Clover Configurator.

Thanks, will try that once back home tonight
 
PWM value for Vega 64 reference cards is 10, so I guess it is the same for Vega 56 reference cards. You can always check the PowerPlay Table inside your vBIOS to get the specific PWM value for your card. You will find a dump of your vBIOS when viewing your card in IORegistryExplorer or IOJones. Just copy it into some editor and then start looking for the PowerPlay Table. Based on my Excel sheet you can easily find where it starts and from there find the PWM Value.
@gino8080 Try 1632 GPU clock and 1050 to 1100MHZ HBM (depending on what your card can handle without getting unstable). HBM overclocking usually gives you more of a performance boost than GPU overclocking. Also, it isn't recommended overclocking the GPU under macOS since voltage control isn't possible in macOS for V56 and V64 cards.

Thank you @CMMChris

so messing and searching around (and following this video guide )
I was able to:
  • from windows I extracted my current bios.rom using GPUZ
  • using ATOMBIOSReader extracted the Command and Data Tables informations in txt
  • got position and length of the PowerPlayInfo "000f: 917c Len 02a7 Rev 08:01 (PowerPlayInfo)"
  • using a Hex editor I extracted the relative informations
  • I wanted to get my default starting point prior to messing up with values on your great excel!
But! when compared with the ones on your excel, mine are shorter!
is this normal?
Did I have done thing correctly?

Screenshot 2019-08-23 at 13.36.06.png


I'm attaching relevant files, If maybe can help!

thank you!
 

Attachments

  • 1-MSI Vega 10 extracted bios.rom.zip
    137 KB · Views: 115
  • 2-MSI Vega 10 extracted command & data tables.txt
    6 KB · Views: 71
  • 3-PowerTable extracted and formatted.txt
    2 KB · Views: 74
I have no idea, maybe a different PPT revision? Just try converting the values in the highlighted fields to decimal. If they fit the purpose of the field everything is fine. In general there is no need using your own cards PPT. The only value of your cards PPT you need is the Minimum PWM Limit for fan calibration.
 
You just need to paste the PowerPlay Table using a Plist editor as data. It will be encoded with Base64 automatically. Same is done by Clover Configurator.

Thanks for all the help, injected the power play table, everything loaded (confirmed in IOReg).

Test shows the PP table works. The Radeon VII draw less now. I run 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).
Screenshot 2019-08-23 at 11.57.00 PM.png


But the Furmark power draw test suggest the Power Limit has no effect, same power draw as no powerplay table when running Furmark. So, the max possible power draw still the same.

Some extra sharing for others.

Since my main goal is to downvolt the card. So, no modification of the clock speed. This is the numbers I use.
Screenshot 2019-08-24 at 12.08.34 AM.png


I am not 100% sure if MinVoltageGfx, MaxVoltageGfx, MinVoltageSoc, MaxVoltageSoc can take any numbers or not. When I mod my RX580's ROM few months back, study shows that these few numbers has some limitation.

e.g. The voltage must be at 50mV step. For example, 1050mv is OK, but 1030mV is not. Therefore, 1050 x4 = 4200 is an acceptable number, but 4120 is not.

This is why I set the min at 2800 (700mV x4), and max at 4000 (1000mV x4). I am not sure if insert an invalid number will cause downvolt fail.

Anyway, I am happy with the result now. Once again, million thanks for your help, CMMChris.
 
Yes, valid voltages are limited. Check attachement.
I recommend you to set HBM to 1100MHz. Add a nice boost to your Luxmark score without increasing heat that much. Run a benchmark before and after.
 

Attachments

  • ValidVoltages.jpg
    ValidVoltages.jpg
    232.4 KB · Views: 223
Back
Top