Contribute
Register

[GUIDE] Injection of AMD Vega Power and Fan Control Properties

I have a Gigabyte Vega 64 8GB OC card that I flashed with the Sapphire Vega 64 Nitro+ 64 bios and I can control it fine with a soft PP in Mac OS. And the fan is often at 0%. Temps at idle are around 53 C ...... I had flashed the card originally with the Sapphire bios is because I was able to mostly solve the fan issue (and random freezes in Mac OS) just be doing that.


@ital,

I agree with you that we don't yet know enough yet to put all Zero Fan cards in the same basket of not being able to use a SoftPowerPlayTable. Until we get more test info it's impossible to say. Thats why i asked for everyone to post their success (or not) here so we can build a table of which cards work and what settings they need.

I'll re-word the guide so its not a such 'blanket' statement.

If I understand your post correctly you where not able to use a SoftPowerPlayTable with your Gigabyte Vega 64 until you flashed the card with the Sapphire Nitro + VBIOS ?

I've read similar stories on other sites ... it's an interesting approach that seems to work ... however I don't think i could recommend the method in the guide incase something went wrong during the process which bricked the card. Any flashing process that uses non OEM firmware carries a certain risk factor.

Thanks for the info
Cheers
Jay
 
Hey guys do anybody got an original copy of AMD10000Controller.kext with no mods? I lost my backup and now I'm screwed!


@pieropontra,

You can use Pacifist to extract AMD10000Controller.kext (or any other file) from the Apple MacOS installer packages.

Cheers
Jay
 
I tried injecting the power table to config.plist with no success, even lowering idle speed. Dunno what to do now, I even checked syntax of config.plist with clover config.


@pieropontra,

Please post which make and model of Vega GPU you have ..

As stated in the above posts and the guide some non Sapphire cards use a Custom VBIOS that does not work with SoftPowerPlayTable ...

Cheers
Jay
 
@pieropontra,

Please post which make and model of Vega GPU you have ..

As stated in the above posts and the guide some non Sapphire cards use a Custom VBIOS that does not work with SoftPowerPlayTable ...

Cheers
Jay

I got a Reference Vega 64 Liquid Cooled from Sapphire (same as yours I think), so it should work. Please note I use a miniPWM - PWM adapter and splitter to push pull 2 noctua fans on the stock 120mm radiator. iMacPro1,1 SMBIOS
 
I got a Reference Vega 64 Liquid Cooled from Sapphire (same as yours I think), so it should work. Please note I use a miniPWM - PWM adapter and splitter to push pull 2 noctua fans on the stock 120mm radiator. iMacPro1,1 SMBIOS


@pieropontra,

Yes I have the same Liquid Cooled card so SoftPowerPlayTable method should work .. I assume that the miniPWM adapter is still connected to the card and not a motherboard header ?

However from my experiments it seems that its not possible to over ride the fan/pump speeds as I think the fan control speed is tied to the pump speed.

However using a softPowerPlayTable did solve the inverse fan speed issue i was having and i have been able to OC and Undervolt the HBM.

What exactly is your card doing ?

Cheers
Jay
 
@pieropontra,

Yes I have the same Liquid Cooled card so SoftPowerPlayTable method should work .. I assume that the miniPWM adapter is still connected to the card and not a motherboard header ?

However from my experiments it seems that its not possible to over ride the fan/pump speeds as I think the fan control speed is tied to the pump speed.

However using a softPowerPlayTable did solve the inverse fan speed issue i was having and i have been able to OC and Undervolt the HBM.

What exactly is your card doing ?

Cheers
Jay

the pwm adapter and subsequently the two fans are linked to the GPU miniPWM header, not motherboard. I opened up the card and switched the stock Nidle Typhoon fan with 2 x 120mm Noctuas on the rad. My card doesn't have strange stuffs like low rpm with high temps or the opposite, simply I'm unable to slow down the fans under 1500rpms in any way (I tried SSDT / Kext / config / AMD1000 modding power table) but your explanation about pump / fan speed seems to explain this behavior.

Anyway when I use the IOReg terminal command to check fan/temps, it shows a 40% speed (I suppose this is the intensity of the PWM Signal) with about 1600rpm. Checking Noctuas specs, with a 40% PWM signal I should get about 900rpm (as specified in softPPT). The temps stays in idle around 35-40°.

So the PWM discrepancy could be due to the PWM adapter or, as you said, due to the cooler master liquid cooling inside which handles pump / fan speed by yourself ignoring softPPT
 
@ital,
If I understand your post correctly you where not able to use a SoftPowerPlayTable with your Gigabyte Vega 64 until you flashed the card with the Sapphire Nitro + VBIOS ?
1st let me say how thankful for the work you (and others) have done and the information you have compiled. After several months of trying to work on this with scattered info I felt like the Vega issues are finally well known and addressable.

I probably wasn't clear in what I wrote. Backstory: I original used my Vega 64 under High Sierra and used a VegaLowFanSpeed.kext from a post on InsanelyMac. This worked well, never crashed, could not hear the fan. When I upgraded my system to Mojave I had frequent crashes and booting without this kext seemed to solve them, but of course I had to endure the loud fan (or keep a video open which caused the fan to spin down somewhat).

I found the thread that gave me the idea to try to flash the Nitro+ bios. In the 1st post it's listed as "not having the fan issue":
https://forums.macrumors.com/threads/amd-polaris-vega-gpu-macos-support.2083168/
My thinking was to try to flash the bios and not have to fool around with kexts or SoftPowerPlayTables at all. I had limited success. The fan noise was reduced, but not gone. Freezes seemed less frequent but were not gone completely.
I started playing with VGTab, even keeping the clocks stock and just changing the fan, but no matter what I did the resulting kexts would cause a crash within a couple hours. One or more of the other attributes in the resulting kext seemed to cause a problem.

As an aside, with the card and either bios I've never had an issue on Windows. Also I'm using dual 27" 4k monitors.

Once I read about the clover injection method I started playing with that for SoftPowerPlayTable and using CMMChris excel sheet to generate. This has worked well. I am currently only injecting that property via clover. I was originally also injecting PP_DisablePowerContainment =1 which increases top clocks and score in LuxMark but I think I've come to the conclusion that was one source of the crashes. Since I set that to =0 a couple days ago the system has not experienced one crash. Since I do all my gaming under windows the slightly lower performance on the Mac doesn't matter to me.
Next to do is to see if I can get the voltages even lower on the card for the Mac. Hope this helps.
 
Once I read about the clover injection method I started playing with that for SoftPowerPlayTable and using CMMChris excel sheet to generate. This has worked well. I am currently only injecting that property via clover. I was originally also injecting PP_DisablePowerContainment =1 which increases top clocks and score in LuxMark but I think I've come to the conclusion that was one source of the crashes. Since I set that to =0 a couple days ago the system has not experienced one crash.


@ital

Many thanks for the informative write up .... I'm sure it will give other users suffering from similar issues some direction.

Cheers
Jay
 
I'm unable to slow down the fans under 1500rpms in any way (I tried SSDT / Kext / config / AMD1000 modding power table) but your explanation about pump / fan speed seems to explain this behavior.....

So the PWM discrepancy could be due to the PWM adapter or, as you said, due to the cooler master liquid cooling inside which handles pump / fan speed by yourself ignoring softPPT


@pieropontra,

I'm pretty sure that the Fan Speed is controlled as a function of the Pump speed by the on board controller, I've not been able to get my Vega to drop below 1500 RPM.

As you say the discrepancy is most likely down to the PWM Adapter, if the stock fan is voltage controlled and the PWM adapter is simply converting a voltage demand to a PWM demand then I guess you could put a resistor in-line between the GPU fan header and the PWM adapter to drop the voltage a bit.

I would start with something like a 1K resistor and see what effect that has ... then either go up or down on the resistor value until you get it in the ball park your looking for.

Cheers
Jay
 
I'd like to report that i can control my Sapphire Radeon RX Vega 56 Pulse with a SoftPowerPlayTable generated by either VGTab or the Excel-sheet method.
For quick testing i use the generated kext. Longterm i will incorporate the SoftPowerPlayTable directly in the Vega SSDT.
(My system is based on kgp's excellent guide.)

At this time i prefer the VGTab generated SoftPowerPlayTable although the Excel-sheet should theoretically allow more tweaking.
But for some reason i don't understand for now, the idle speed with the Excel-sheet method is higher than expected.

Anyway when I use the IOReg terminal command to check fan/temps, it shows a 40% speed (I suppose this is the intensity of the PWM Signal) with about 1600rpm. Checking Noctuas specs, with a 40% PWM signal I should get about 900rpm (as specified in softPPT). The temps stays in idle around 35-40°.
This discrepancy is most likely caused by the difference of the maximum speed of the Noctua fans to the stock fans.
The noctuas spin up to +- 2000rpm.
As i am also using two Noctua NF-A12x25 fans instead of the stock fans with an PWM adapter cable i initially saw the same on my air cooled Sapphire 56 Pulse. I would rate this as cosmetic rather than a real issue.
If i set the "Max Speed" value in VGTab to 2000rpm, the % speed reading is correct.

BTW: did you try to put in the low-noise adapter (L.N.A.) cable that came witch your Noctua fans? It drops the voltage to the fans by some amount to run them slower. This is the same approach outlined by jaymonkey but with "stock" parts.
 
Back
Top