Contribute
Register

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

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.

Thanks, will try that later. I just want to make sure everything work as expect at this stage. Then I will OC the HBM to 1100MHz (after some stress / stability tests in Windows).

Update: Just increase the HBM clock to 1100MHz. Get another ~5% performance for free now :headbang:
 
Last edited:
Pretty much all cards can handle 1100MHz HBM clock, that's why I set it as default in my Excel sheet. By the way, I have seen your post at Macrumors. If you want to change the power limit don't play with the % value. It doesn't have any effect on macOS (same for Vega 56/64). Change the wattage instead.
 
Pretty much all cards can handle 1100MHz HBM clock, that's why I set it as default in my Excel sheet. By the way, I have seen your post at Macrumors. If you want to change the power limit don't play with the % value. It doesn't have any effect on macOS (same for Vega 56/64). Change the wattage instead.

Thanks for the tips.

I spotted that in your excel table as well (no “not working” in the remark about wattage limit).

I am still thinking should I change that. Because tests in Windows shows no difference for real world usage. (My understanding is because not power limiting in most case, after proper downvolt)

The only exception at this moment is just Furmark, but that’s far from real world usage. And allow the card to draw more in some rare case seems not a bad idea.
 
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.

Sorry, but what you mean with "converting the values in the highlighted fields to decimal. If they fit the purpose of the field everything is fine" ?

I'm scared of setting something that can damage my card :rolleyes:

I've also tried to delete my custom setting from clover,
rebooted to see If I can get the powertable from ioreg,
But there is NOT powertable info (but there are if I set the value in clover /Devices / Property)

what can I do?

Screenshot 2019-08-24 at 11.35.40.png
 
The PowerPlay Table is part of the vBIOS. The IOReg includes a complete hex dump of your vBIOS. I also didn't tell you to "set something". I told you to validate the structure of the PowerPay Table. If it matches my Generator, you can use it despite the difference in length. If you don't understand what I am saying then don't mess around with it and use your card as is. Should work perfectly fine with the recent Mojave release.
 
Greetings...

I would like to add that my recent install of Mojave 10.14.6 then Apple Migration Assistant of my old El Capitan install is working pretty well, with one niggle.. the upgrade from my GTX660 to MSI Vega 56 Air Boost

on the DX58so, it was a must to upgrade bios from 5599 to the latest 5600. The card produced black screen a boot in both bios and intel's half assed UEFI mode. I would get perfect video once booted but without a clover screen or being able to go into bios settings.. had to update

I have clover booting in UEFI for el capitan and with the previous GTX660 it was working fine...

After upgrading bios.. everything was good with vega and boot

Only major issue is that the card does not spin the fan at idle

my temps with an idle graphics card sitting with just the desktop up and running starts in the 40c range and does climb into the 50s .. no fan

if I run a benchmark like luxmark.. the card gives me good performance .. like 26300 ish luxmark ball score and the temps are in the low 70s.. although don't run it for long

I did try VGTAB once.. but didn't seem like it was making a difference.. I did the clover properties inject method...

I have since taken that out of the clover plist and removed any and all kexts ...

I have seen other posts where the Air Boost with the native apple drivers in 10.14.5/6 are doing this NO FAN at idle to other MSI air boost...

I would like to take another stab at this but am getting confused here on this thread as to the best inject method with the latest mojave release

I would feel much better if the fan was doing something at idle because with it not spinning this card does not passively cool well at all..
 
also, using VGTAB does not write anything to the actual video card right? its just a live injection of properties..

ie.. I could not have jacked up the cards bios using the clover inject method... ?
 
The PowerPlay Table is part of the vBIOS. The IOReg includes a complete hex dump of your vBIOS. I also didn't tell you to "set something". I told you to validate the structure of the PowerPay Table. If it matches my Generator, you can use it despite the difference in length. If you don't understand what I am saying then don't mess around with it and use your card as is. Should work perfectly fine with the recent Mojave release.


Thankyou @CMMChris
I used VGTAB
only change target temp to 50°
generate the kext,
than I pasted/copied in the config.plist

now I have decent temps on idle (40/50)!

@dragonmel try this approach, I solved my issues with my MSI
 
also, using VGTAB does not write anything to the actual video card right? its just a live injection of properties..

ie.. I could not have jacked up the cards bios using the clover inject method... ?

VGTAB does not write anything, just produce the kext and the txt
You have to choose the method to use these values

I followed the MANUAL METHOD from here:

Adding Vega Control Data to Clover config.plist

Manual Method

1.
Mount your EFI partition and make a copy of your current config.plist and save in /EFI/Clover just in case something goes wrong.

2. Open your active config.plist with a code or text editor and move down the file until you find the "Devices" section, and then move down to the "Properties" sub section.

3. Highlight all of the following code and Copy/Paste it into your config.plst after the <dict> (below the Properties key) to create a new Key for the PCI path of the Vega GPU:

Code:
            <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>

            </dict>


Note-1: I have attached a stripped out config.plist as an example with the above code from Step 3 already in place:

The result should look something like this ....

View attachment 373691
Although i'm sure that the PCI device path for your Vega GPU will be the same for most users you should check that it is correct for your system by using GFXUTIL (attached to this post), this will also ensure that the device has the correct GFX0 ACPI identity. Unzip the archive and open Terminal, change the current path (CD) to the folder you extracted GFXUTIL in and execute the following command:

Code:
./gfxutil -f GFX0


GFXUTIL should return with the device path of your Vega GPU :-

Code:
MonkeyMac-Pro-2018:~ Jay$ cd /Users/Jay/Downloads/gfxutil-1.76b
MonkeyMac-Pro-2018:gfxutil-1.76b Jay$ ./gfxutil -f GFX0
DevicePath = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
MonkeyMac-Pro-2018:gfxutil-1.76b Jay$


If the PCI Device Path for your Vega is different to the key value in the code you inserted in Step 3 then simply copy the PCI Device Path from the terminal output of GFXUTIL and paste it into your config.plist, over-writing the value from the example code above.

Note-2: If you get an error such as "GFX0 device not found" or "unsupported registry entry" then your Vega GPU most likely does not have the GFX0 ACPI identity which is critical for correct operation, installing Lilu + WhatEverGreen will correct this issue for you (see this guide for more info).

If you decide not to install WhatEverGreen and you still get the error "GFX0 device not found" or "unsupported registry entry" then try using 'display' in place of GFX0 with GFXUTIL:-

Code:
./gfxutil -f display


Note-3: Both myself and others have found that having the Clover ACPI Fix/Rename "Change PEG0 to GFX0" enabled in your config.plist will cause problems ... if you have this fix in your config.plist then you should remove it, reboot and try GFXUTIL again. As Detailed in Note-2 above, WhatEverGreen will take care of the GFX0 ACPI identity for the Vega GPU but in a more specific way rather than the generic/global rename method employed by Clover.

4. Now right click on the VGTab_XXXX.kext on the desktop and select Show Package Contents, expand the Contents folder and open the info.plist with your code or text editor, move all the way to the bottom of the file where you see the key "aty_properties" that includes a large 'data' value for the property PP_PhmSoftPowerPlayTable.

5. Highlight all the code between <dict> and </dict> (below the "aty_properties" key) as shown below :-

View attachment 373694
6. Copy/Paste the high-lighted code into your config.plist between the <dict> and </dict> below the new key value you created in Step 3, the result should look something like this :-

View attachment 373695
7. Check your work carefully, ensure that you keep the code structure correct, if all looks good then save your config.plist.

8. A quick and easy way to check that there are no syntax errors in your config.plist is to open it with Clover Configurator, Click on the Devices section, then on Properties on the lower tab bar, select the new PCI key you created in Step 3, you should see all of the property values that you inserted in Step 6, you can also use Xcode or PlistEdit Pro to check that the edits are correct:-

View attachment 373696 View attachment 373697
If you get a formatting or syntax error then you've made a mistake, recheck you code, if in doubt start you should start again using a copy of the backup you made in Step 1.

9. If everything looks ok then your good to go, if you have previously installed the VGTab kext in /L/E or /EFI/Clover/Kexts/Other then remove it and rebuild the kext caches if necessary ( I use Kext Utility).

10. Finally reboot.

__________________________________________________________​


Automated Method

User @corporatenewt has written a python script called VGTabMerge that automates the above manual process. Full details of how to download, install and use the script can be found at his Git-Hub Repository :-

https://github.com/corpnewt/VGTabMerge

Before running the script I recommend that you create a backup of your current config.plist as detailed in Step 1 of the manual method.

Important: The Automated method will always assume that the PCI Device Path for the Vega card is :-

Code:
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)


Before running the automated script you may want to first check that this is correct for your system using the method detailed in Step 3 of the manual method. If it does not match then you will have to manually alter it after the script has completed or use the manual method instead.
 
Thankyou @CMMChris
I used VGTAB
only change target temp to 50°
generate the kext,
than I pasted/copied in the config.plist

now I have decent temps on idle (40/50)!

@dragonmel try this approach, I solved my issues with my MSI


thanks

when I open VGTAB.. and selecting Vega 56 .. are the initial values coming from the current card settings or are they generic.. as the air boost has 2 bios modes and is overclocked

i.e. if I just set the target temp.. will it then under clock the card?

also .. seems like some folks here say that adjustment of the PWM is required which VGTAB doesn't do?

ideally would love the mild overclock with undervolt but I have always preferred to keep the hakcintoshes using as native apple power management as possible...

any and all thoughts appreciated .. I have been hackintoshing since the beginning but getting old and out of touch with this stuff.. and my last setup was over 6 years ago ... so upgrading from el cap to mojave has been a learning experience again... but grey matter not as elastic as it once was
 
Back
Top