Contribute
Register

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

ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan'
Here's what I got with your command below, nothing. But wait, Vega 64? I meant were you able to see the fan speed of MOBO not video card.

Code:
aa@aa-MBP ~ % ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan'
aa@aa-MBP ~ %
 
Such a procedure can run the risk of bricking the card if you mess it up or use the wrong firmware, that being said there are many posts in this and other threads from users who have successfully flashed their Vega GPU with a reference VBIOS and gained control of fans under MacOS.

Isn't it possible to load a vbios with Chamaeleon or WhatEverGreen?
I think I have read something about it.
 
I stopped using the injection ever since macOS embedded the Vega 64 drivers, but this problem has recently resurfaced for me with Big Sur. I'm on 11.6 with Open Core 072 and instead of the fan remaining consistent at a low RPM it's now spinning down to zero and then spinning up to a high, loud RPM when it hits a temp threshold. Is anyone else experiencing this on Big Sur with a Vega 64?
 
Hello.

It seems my Fan Control injection works only on every other boot and every other boot
the fans spins up right away to 100% and not coming down.

I'm on High Sierra 10.13.6. I have Lilu + WEG installed and device properties added in config.plist.
"./gfxutil -f GFX0" returns
"error: unsupported registry entry class type 'IORegistryEntry'."
So it appears like GFX0 identity is not set maybe? It can be found in the IOReg though...

(I previously had DSDT (renaming xxx to GFX0) patches in config.plist but I have removed them!
Are these patches removed from the DSDT just by removing the entries or do I need to replace
some ACPI files with native ones?)

I'm using ImacPro1,1 SMBIOS but I have also tried Imac18,3 with no luck.

My performance statistics also shows zeros on "fan speed%" and "fan speed rpm".

I'm not sure if the injection is working as intended and there is some weird reason for it to work on every other reboot only OR
is this just the card acting up and injection not working.

(edit: Fans spinning up and down from 0% to 100% and so on also appears to happen randomly during sessions.
While temperatures shown in the statistics are 25c-40c ranges.)

Is my card not compatible with the Fan Control injection perhaps and how to know for sure?

Please help, i'm losing my mind over this. What could be causing the weird behavior?
 
Last edited:
Hello.
I'm on High Sierra 10.13.6. I have Lilu + WEG installed and device properties added in config.plist.

It seems this Fan Control injection works only on every other reboot and every other reboot
the fans spins up right away to 100% and not coming down.

I'm not sure if the injection is working as intended and there is some weird reason for it to work on every other reboot only OR
is this just the card acting up and injection not working.

Please help, i'm losing my mind over this. What could be causing the weird behavior?
As per rules, please update your hardware profile to allow others to help you easier
 
It has long been a common issue for Vega cards on classical Mac (4,1/5,1) with opencore: the fan is not spinning fast enough on idle, leading to high temperature (~75'C). In many posts, it is assumed to be acceptable, and was advised to do nothing. However, it is just too hot!

I have mac pro 5,1 with opencore legacy patcher and I have been suffering this problem for long time. The card is able to heat my small bedroom in winter!

I tried different SMBIOS through changing board-id (For Monterey on Mac Pro, you may pick between iMac Pro1,1 or MacPro7,1). It does change the way the fan behave. For example, with the default set mac pro 7,1, boot loader does not load graphic acceleration and vram clock/fan speed management, until a graphical accelerated app is launched; while changing to iMacPro1,1, the card will be kept at low performance all the time, even under high loading of GPU demand. The problem arise from the fundamental difference of the power management and how fan was controlled through the hardware (On iMac Pro 1,1, there is likely no GPU fan, and the ventilation is controlled by the system fan.)


However, I finally solved the problem with a solution that has been exist for years, a power play table generated with VGTab tools developed by lihaoyun6 in 2019 (https://www.tonymacx86.com/threads/...a-in-macos-without-flashing-the-vbios.268965/)

Download the tool, run it on your hack, change the target temperature to 50'C, get the VegaTab_64,kext, put it into your opencore build (EFI/OC/kexts), add the item into your config.plist and reboot. Boom! You mac will keep the card cool on idle and in high performance on high load.

Screen Shot 2023-04-03 at 11.56.04 PM.png


I really hope the developer of opencore legacy patcher include the VegaTab_64.kext in their package. It will save a lot time for many people like me. For anyone in similar situation with me, you may try the attached kext if you do not want bother downloading the tool. Remember that the target temperature is set to 50'C in my kext. If you want to change it, go to here to download the tool:

 

Attachments

  • Screen Shot 2023-01-15 at 7.16.39 PM.png
    Screen Shot 2023-01-15 at 7.16.39 PM.png
    136.6 KB · Views: 112
  • VegaTab_64.kext.zip
    3 KB · Views: 38
Last edited:
Back
Top