Contribute
Register

MBP dedicated GPU stuck in high power state

Status
Not open for further replies.
Joined
Jul 13, 2020
Messages
3
Motherboard
MacBook Pro 15" Late 2013
CPU
I7-4850HQ
Graphics
NVidia 750M
Here comes another dedicated GPU (dGPU) issue on my Late 2013 15" MacBook Pro!

Problem:
My NVIDIA GeForce GT 750M idles hotter than other MacBook Pros with the same dGPU, using up 17W of power at idle. This heats up my CPU +10c when dGPU is enabled and just idling, due to the fact that they share a heat pipe. This is also problematic by contributing unnecessary heat when connecting an external 4k monitor. Many people have reported issue with overheating trying to run a second high resolution monitor.

Background:
It's running the latest MacOS Catalina. I repasted CPU/GPU with Grizzly Kryonaut and the CPU runs really cool now.

While stress testing the CPU, I noticed that the CPU will run 10c hotter when the dGPU is enabled.

I checked the idle temperatures and the dedicated GPU temp increases from 37c when disabled to 60c when enabled. I checked with 2 different MacBook Pros with the same dedicated GPU and they idle around 48c. Granted, one is running Mojave, and one is running Big Sur beta.

I checked the dGPU load with Activity Monitor and it's fine, almost no load.

I have a feeling the dGPU is not using its low power states. I have not found any app or utility that will show me the GPU frequency in MacOS. However, I did find that "HWMonitor" can read the "GPU Rail" power consumption. The GPU rail consumption is 0.11W with the iGPU enabled. Enabling the dGPU brings the power consumption to 16W at idle! Booting into safe mode, the dGPU is used by default and draws 3W. I was even able to boot normally with automatic graphics switching disabled (uses dGPU) and it draws the normal 3W. However, if I toggle automatic graphics switching on and back off (switches to iGPU and back to dGPU), then it becomes stuck at 16-17W again until rebooting with dGPU on.

Does the MacBookPro 11,3 on Catalina still use AppleGraphicsPowerManagement.kext to manage the power states? If not, where is it done? I noticed AppleGraphicsPowerManagement.kext doesn't even load on its own, but it does on my sister's MBP with the 750M running Mojave.

Does anyone have any suggestions about how to diagnose this further or fix it?
 
Last edited:
Hey guys,

I'm looking for some help diagnosing and fixing my dGPU idling at high temps. Here's my issue:

I noticed my Nvidia 750m in my Late 2013 15" MacBook Pro idles much higher (56c+) or so compared to another 2 identical MacBooks. I have already repasted the CPU and GPU. The CPU runs very cool so I'm pretty sure I did a good job. I have a feeling the dGPU is stuck in some sort of high power state, but I have found no way of checking p-state or even GPU frequency on MacOS.

The only reason I noticed is that when checking CPU temps stress testing, the CPU would reach 10c higher if the dGPU was also enabled instead of using the iGPU. I thought it was normal for the enabled dGPU to add heat until I realized other MacBook Pros weren't doing this.

Could this kext mod help me? Any suggestions on what I should try if not?
have moved your post to MacBookPro
 
I discovered this problem is due to some system kernel extensions not loading. I installed Catalina fresh on an external drive and that fixed my dGPU being stuck in a higher power state.

I compared the system kernel extensions loaded on the fresh Catalina install with those loaded on the problematic install and made a list of all the kexts that did not load in the problematic Catalina install. The problem is that the system is not loading these kexts from /system/library/extensions:

IOPlatformPluginFamily.kext/contents/plugins/x86platformplugin.kext IOPlatformPluginFamily.kext/contents/plugins/ioplatformpluginlegacy.kext IOPlatformPluginFamily.kext/contents/plugins/acpi_smc_platformplugin.kext IOPlatformPluginFamily.kext/contents/plugins/x86platformshim.kext applegraphicspowermanagement.kext
appleplatformenabler.kext

In fact my issue is fixed by simply just loading x86platformplugin.kext:

sudo kextload IOPlatformPluginFamily.kext/contents/plugins/x86platformplugin.kext

However it's probably best to load all of those that are present on a clean Catalina install and not present on my problematic install.

After loading x86platformplugin.kext manually, toggling on the 750M dGPU results in it being able to use its low power state, consuming just 3W at idle compared to 17W otherwise.
 
Status
Not open for further replies.
Back
Top