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
The OP's way is by removing all AMD drivers so that the hardware is no longer operating. The dosdude's way is to have a script running at boot up of the system which disables GPU power option. They are all based on one thing, that is to make the GPU not running, so can't really say which is better, or if it is upgrade. but yes, you can used dosdude1's method. or even better, you can write your own, just use automater
to generate a app with script
then change mac os library and make this script to run at boot up. this is pretty much the same thing as what dusdude's way is.