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 andctrl + 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
I am also pondering opencore. My use case however would be different:
I have no desire to go past Sierra on this hardware and I am pondering the use of Opencore simply to fake the 13 inch model. I have hackintoshed in the past and looking in the forums, seems you can get around the labelling of MacbookPro8,1 and it's 35w 2 core 4 threads. So I am hoping that it would be a good final resolve. I would probably go one step further and research the desoldering of the motherboard resistor where the power to the faulty gpu is. My issues are however, that this isn't the first time this has been pondered on and apparently there's still some issues with nvram. Sadly there's no information regarding CoreBoot on these machines (the 2011 13" model has been done though, but theres gmux to deal with and more on the 15 and 17 models) - this would help lots. It would literally make the machine a Hackintosh and allow the internal bad GPU to be nulled. I am not confident with the job of soldering onto the area where the ATI controller is, I could probably at best remove the resistor but a nvram reset via Mac OS could leave this a brick (but I have seen people make an internal switch here).
If someone wants to fork the OpenCore for legacy hardware and make a OpenCore for Affected 2011 models repo, maybe we could start by getting the ball rolling and discussing all these great efforts there. It would allow people to have a choice of pushing further into unsupported operating systems OR just spoofing with a model that didn't have the faulty GPU. I am still not 100% though as to whether Mac OS can still write to the hardware irrespective of OpenCore taking over. It would be good to know how from anyone with more knowledge.