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
if you are on high sierra 10.13.6+ you might need to use
Command + r
instead
Boot up holding down Command + r + s
SIP locks System folder so cannot move kexts to another folder. SIP (csrutil) only enabled or disabled on Recovery Mode.
csrutil disable
reboot
boot up holding down the CMD and S keys
use /sbin/fsck if you get fsck command not found
fsck -fy
use /sbin/mount if you get mount command not found
mount -uw /
sudo mkdir /AMD_Kexts/
sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/
sudo rm -rf /System/Library/Caches/com.apple.kext.caches/
sudo mkdir /System/Library/Caches/com.apple.kext.caches/
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 /
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
if you are on high sierra 10.13.6+ you might need to use
Command + r
instead
Command + r + s
csrutil enable
reboot
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
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