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
Cmd + r or CMD + r + s
) use
When booting into single user mode (sh /force-iGPU-boot.sh
Hi Fred the Flintstone,
I have some ideas for you.
The white screen delay could be your Mac looking for the system, it might be an unrelated problem. Next time you get into the system try going to preferences, clicking on start up disk, click the lock to make changes, select start up disk and then click the lock to lock it back up again. See if that solves it.
Another problem I discovered - the first time I did the fix, I re-anabled system integrity by entering csrutil enable in terminal in system recovery. When I did this I got problems. I have had to leave system integrity disabled.
If you need to restore kexts you could try re-installing high Sierra, doesn't need to be a fresh install, just run the installer over your existing system. However, it might be easier to reinstall it using another machine with your faulty display machine in target disk mode, if you have access to one. Or you may be able to copy them from another working machine of same model/year.
Finally, a long shot. The hard drive cables are prone to failure on all Macbook pros up to 2012. That could also be causing the white screen start up delay if you have an intermittent fault. You can get replacement hard drive cables on eBay.
Also if you have a dual hard drive in your MacBook by use of a CD caddy, make sure the system is on the disk in the hard drive bay and not the one in the CD caddy. Pre 2012 Macs don't like the system to be on the CD drive, I know that it causes a problem with system recovery and who knows what else.
I don't think the realmacs mod idea of removing the resister is a good solution. I think you lose brightness control with that for one thing.
All the best.