Skip to content

Instantly share code, notes, and snippets.

@cdleon
Last active October 17, 2023 18:23
Show Gist options
  • Star 30 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save cdleon/d16e7743e6f056fedbebc329333d79df to your computer and use it in GitHub Desktop.
Save cdleon/d16e7743e6f056fedbebc329333d79df to your computer and use it in GitHub Desktop.

Improving heat management after macbookpro 2011 discrete GPU fix, also a script to automate part of the fix process

Taken from StackExchange

Thanks to LangLangC

NOTE: This is experimental; works for some people, not for others

Improved thermal and power management

Open Terminal.app

Create login hook folder for thermal and power management

sudo mkdir -p /Library/LoginHook

Create login hook file

sudo nano /Library/LoginHook/LoadX3000.sh

Add folowing contents when nano opens

#!/bin/bash
kextload  /System/Library/Extensions-off/AMDRadeonX3000.kext
pmset -a force gpuswitch 0    # undocumented/experimental
exit 0

Use ctrl + o to save and ctrl + x exit

Make it executable

sudo chmod a+x /Library/LoginHook/LoadX3000.sh

Register login hook

sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh

Reboot normally

Check that proper kexts exist

kextstat | grep AMD

The command above should display

... com.apple.kext.AMDLegacySupport (1.5.1) ...
... com.apple.kext.AMD6000Controller (1.5.1) ...
... com.apple.kext.AMDSupport (1.5.1) ...
... com.apple.kext.AMDLegacyFramebuffer (1.5.1) ...

And this
... com.apple.AMDRadeonX3000 (1.5.1)  ...

should also appear on the list

Reboot normally

Boot into single user recovery by pressing on boot

Command + r + s

Modify NVRAM

nvram boot-args="-v agc=0"

Reboot

reboot

Script ot make part of the process automatic

Open terminal

Create script

sudo nano /force-iGPU-boot.sh

Add contents

#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0

Make exectuable

sudo chmod a+x /force-iGPU-boot.sh

When booting into single user mode (Cmd + r or CMD + r + s) use

sh /force-iGPU-boot.sh
@MBP2011User
Copy link

I think the 2011 i7 variant on the 13in is dual core rather than quad core. 2011 15in and 17in is quad core.

I think you may cause more problems by removing that resistor. I think it is required in order for the backlight to turn on from sleep. That may only apply to high Sierra but I would do a lot of research before you remove that resistor if I were you. Also look into screen brightness control issues.

Incidentally, my 2011 MBP 15&17s have never rewritten NVRAM unless I hold down the reset keys but I'm not sure if losing power via completely flat battery can reset NVRAM.

Something else I just remembered: re-enabling CSR util (system integrity) after applying CDLeon's fix will stopped the fix from holding. If you had problems with the fix you may want to try leaving that disabled and see what happens.

@alato19
Copy link

alato19 commented Oct 29, 2021

Hello Experts!
I'm very grateful for the great help you have offered in this forum.
I followed this guide, with best result.
The only problem I am facing is that macbook freezes on shutdown; I have to force shutdown by pressing the power button.
I have an MBP Early 2011 running OS X El Capitan (10.11.6)

Today I deleted both login hook and force-iGPU-boot script. I reset to default the com.apple.loginwindow and the shutdown is working fine.
I tired also closing the lid and opening back after few minutes; it works.
I'm not using much though the computer, so I'm not sure what happens when the temperature rises.

Do you have any counsel for me? Can I consider this 'solved'?
I'm concerned because I want to sell this MBP and don't want the buyer to have issues. I do have a little experience (minimum comparing to you), but the buyer might not have any.

I appreciate a lot any input on my issue.

Thanks a lot!!!

@MBP2011User
Copy link

Hi alato19,
I'm not advising you but I'll tell you what I do. I use something called Macs Fan Control (Crystalidea software). I use a custom preset details as follows:-
Sensor based value - CPU Proximity.
Temperature fan starts to increase from 60degs.
Maximum temperature 75degs.
This keeps mine running cool, the fan probably comes on more than designed but fans are cheap and easy replace. Logic board is expensive.

Also I'm curious, why don't you run Mac OS Sierra on that machine?

@fa-bs
Copy link

fa-bs commented Dec 19, 2022

amazing, it downs gpu temperature in my mbp 2011 late high sierra.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment