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

alvin_w0ng

macrumors newbie
Original poster
Apr 3, 2023
2
2
Vancouver, British Columbia
There has been a common issue for Vega cards on classical Mac (4,1/5,1) running BigSur/Monterey: the fan is not spinning fast enough on idle, leading to an unreasonable 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 running Monterey with the latest OCLP (opencore legacy patcher) and I have been suffering this problem for long time. The vega card is heating my bedroom in winter! The SSD cards beside the vega cards may get toasted and shortened its life span.

**I tried to spoof 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, by spoofing mac pro 7,1 smbios which is the default value of opencore, boot loader simply does not load clock/fan speed management, until a graphical accelerated app is launched; while changing to iMacPro1,1, the card will be kept at low performance (low memory clock and low temperature) all the time, even under high GPU demand. The problem arise from the fundamental difference of the real mac and your "fake mac", for example, on real iMac Pro 1,1, there is likely no GPU fan at all in its slim body, and the ventilation is controlled by the main system fans. The GPU power management plan in macOS is customized to the specific hardware configuration.

However, I finally solved the problem with a solution that has been exist for years, a soft 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/)

## Solution ##
  1. Download the VGTab tool;
  2. Run it, specify the target temperature to 50'C or whatever you want and press "Build" button, the VegaTab_64,kext will be generated on your desktop;
  3. Put it into your opencore build (EFI/OC/kexts); add the item into your config.plist and reboot.
Boom! The Vega fan start to behave exactly as expected, i.e. stick to the target temperature you set no matter on idle or in high load. The core clock and memory clock are also optimized to what is supposed to. (Higher HBM clock at 945MHz leading to higher performance, but no more overheating!)

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

I wish the developer of OCLP to include the VegaTab_64.kext in their package. It could have saved a lot time for many people like me. For anyone in similar situation, you may give it a quick try with the attached kext. Remember that the target temperature is set to 50'C in my kext and you may change it by downloading the tool from here:
Screen Shot 2023-04-04 at 10.47.22 AM.png

Note: All I changed is the target temperature and I left other values as it is.
The 50'C is highly recommended since it is cool enough without noticeable increase of the fan speed on idle. Even on high load, the fan speed and the noise is not significantly increased since the build-in vega fan works quite well.

This post seems to be rediscovery of the wheels, but I am pretty sure the issue was underestimated and I had hard time to put information together, partly due to VegaTab tool has not been updated and at somewhere it is claimed that the issue had been solved with the recent development of Lilu/Whatevergreen. Therefore, here I want to clarify that mac pro still need soft power play table to get vega cards work properly.
 

Attachments

  • VegaTab_64.kext.zip
    3 KB · Views: 84
Last edited:
Thank you for this post. I recently purchased a used Vega 56 (reference design). I first ran it in native-booted Mojave and the temps looked reasonable @ around 50degC (this is just booted doing normal stuff in macOS--no games or FCP or benchmarks that stress the GPU).

In the last week I installed OpenCore and then installed Monterey, and while everything has been working great I noticed that the GPU temp was idling at 65-70degC, again not gaming, running FCP or any apps that make the GPU work hard. I attributed this to the fact that I had connected a 2nd 4K monitor and figured that was stressing the card more. It was to the point where I was seriously considering taking the card apart and re-applying new thermal grease because those temps seemed too high with the card at idle.

But thanks to your post I see that probably the real cause is due to spoofing MacPro7,1 in my OC config. I never realized that would have an effect on the cooling.

So it looks like I can address this with VGTab as you did with your Vega 64. I am unclear though--if I install the modified kext via OC do I need to disable SIP?
 
No, no need to touch the SIP settings. Just put the kext into the OC/kext folder and add it into the "Kernel" part of your config.plist, where you find all other kernel patches. Then reboot. I did not even reset the NVRAM, which is suggested to do usually.

For those who are not experienced with changing the config.plist, I suggest to use the "Opencore Configurator", or "OCC" in short, which allow you to mount the EFI partition easily, and add a kernel patch (.kext) by simply drag and drop or scan/browse.
https://mackie100projects.altervista.org/opencore-configurator/

One inconvenience of OCC is that it is "version specific", which means you have to find the right version of OCC to change the corresponding version of OC. To make it easier, I would suggest to alway use the latest version OC and OCC, since they are usually paired and updated. At this moment, OCC 2.68.0.0 to work on OC 0.9.0. Kindly be noted that on its website, OCC 2.68.0.0 is claimed to support 0.9.1, but it actually support OC 0.9.0 officially. Supporting of OC 0.9.1 is only an experimental feature. Confusing? right...

Please kindly share if the trick works for your vega issue. HWMonitorSMC2 is a perfect tool for monitoring Vega card, btw.
 
Last edited:
Thank you.

I think I will try to change the config.plist manually. If I encounter trouble then I will try OCC.

And yes, I will definitely report back here later tonight. It has been bothering me seeing 70deg+ temps on the card, so hopefully this will solve that problem.

I've just been using MacsFanControl to keep an eye on the temps. I also have license for iStatMenus but haven't yet installed it on my cMP. I will check out HWMonitorSMC2 also.
 
Finally I am reporting back. It works flawlessly. I set mine to 55deg C, placed the .kext it generated in my OC kexts folder, added a <dict> entry to the kernel add section of the config file (matching the syntax of the other kexts being loaded there). After the next reboot, I can see my card's temps are hovering right at 55, so the fan is obviously honoring the new temp setpoint. At idle I'm not hearing much, if any fan noise.

I still think I will replace the thermal grease on my Vega and clean the fins/fan, as my card was well-used before I got it. But it's great to know that I can so easily change the temperature setpoint using this method.

Thank you very much for writing this up. I'm sure it will benefit other Vega users who are uncomfortable letting their cards idle at such high temps.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.