Works for macOS Sierra and High Sierra
Taken from 2011 Macbook Pro Graphics Card FIX 100% WORKING!!!
EDIT This method works! But there is an improved version for better thermal management and brightness keys functionality. See improved version -> https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0
Enter Recovery Mode (text mode)
if you are on high sierra 10.13.6+ you might need to use
Command + r
instead
Boot up holding down Command + r + s
Disable SIP
SIP locks System folder so cannot move kexts to another folder. SIP (csrutil) only enabled or disabled on Recovery Mode.
csrutil disable
Restart the system
reboot
Enter Single User mode
boot up holding down the CMD and S keys
Check a disk
use /sbin/fsck if you get fsck command not found
fsck -fy
Mount a root filesystem with read/write permissions
use /sbin/mount if you get mount command not found
mount -uw /
Make a directory to store the AMD drivers in case you'll need them in future
sudo mkdir /AMD_Kexts/
Move the AMD drivers
sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/
Remove the AMD drivers cache
sudo rm -rf /System/Library/Caches/com.apple.kext.caches/
Just in case OS X will be dumb and will not recreate this directory, we create it again
sudo mkdir /System/Library/Caches/com.apple.kext.caches/
Update the timestamps so that new driver caches - without AMD drivers - will be rebuilt
sudo touch /System/Library/Extensions/
Unmount a partition to guarantee that your changes are flushed to it. Use /sbin/umount if you get umount command not found. It might say resource busy, ignore that and proceed to next step)
sudo umount /
Reboot
sudo reboot
Before enabling SIP again, try the normal boot without pressing any key. The Mac OS will rebuild the kernel cache and restart. See if the system starts normally. If it does, still keep going through the remaining steps.
You might encounter that you are still using discrete GPU but computer works (if you are using gfx it might say can't change to discrete while external display is connected), keep going until last step and this will be resolved
Enable SIP again by restarting the system and entering Recovery Mode (text mode)
if you are on high sierra 10.13.6+ you might need to use
Command + r
instead
Command + r + s
Enable SIP
csrutil enable
Restart the system
reboot
Open Terminal (Finder -> Applications -> Utilities -> Terminal (copy and paste):
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Restart the system
sudo shutdown -r now
You might need to do this again after macOS system updates Brightness keys might not work use app like brightness-slider to handle that
Hello. I performed a different “fix” where you move all amd kexts to a “backup” folder and make a few changes in single user mode. I can definitely tell that it worked, because the machine no longer crashes. Unfortunately, on both my 10.8 and 10.13 partitions (I did those separately) on certain apps the graphics are basically unusable with upward scrolling horizontal lines.
This is the procedure I did:
http://www.angelofarina.it/DisableDiscrete.htm
Anyway, I wanted to go back to how it was and search for another fix (like the one on this page!) but for some reason it still seems to not be using graphics acceleration even though I moved the kexts back to the extensions folder and reset smc and PRAM.
Any help would be greatly appreciated!!