There are multiple paths you could take. Here is my collection or work-arounds. These will disable Discrete graphics, and in many cases mean you can no longer use an external display AND can NOT allow your MacBook Pro to sleep -- or it will crash on wake.
Read everything before you do anything.
Install gfxCardStatus (https://gfx.io) and set it to "i" (integrated graphics only). It will allow your MBP to run on integrated graphics only, bypassing the discrete GPU which has the issues. This may allow your MBP to run normally, although it will have reduced graphics performance when permforming demanding graphics tasks. The alternative is replacing the logic board, which is not cost effective on a machine that old, unless gfx does not resolve the issue and you really want to keep this MBP.
There is an acknowledged bug in the current version of Cody Kreiger's Open-Source gfxcardstatus, and the developer has confessed he does not have time to fix it right now.
There is a fork off the main build by steveschow available that seems to fix that problem for current versions of MacOS such as ElCapitan and Sierra. He provides a finished .app for direct download -- you do not have to compile anything.
https://github.com/steveschow/gfxCardStatus/releases
Also note that if your Mac does not run long enough to allow gfxcardstatus to be added, this is not really practical.
In addition, Steve Schow writes that he has abandoned further development -- because there are better solutions available [for both the 2010 model and 2011 models].
2010 model:
I have discontinued use of gfxCardStatus to solve the MBP kernel panic problem as the issue is better solved on 2010 models with the nVidia GPU by the following hack:
https://github.com/julian-poidevin/MBPMid2010_GPUFix.
2011 model:
the use of ArchLinux bootable CD to gain access to and re-write the EFI on the drive, and permanently disable the discrete graphics chip. This page and scroll down past the list to the blog:
http://github.com/steveschow/gfxCardStatus
There are two similar procedure listed. I used the second from MacRumors as it seemed easier. I have made the Arch Linux bootable CD on another Mac, and tried this approach. I now have a perfectly-functioning MacBook Pro late 2011 15-in model with Discrete Graphics disabled. Runs just fine. But NO external display support any more.
--------
There is a completely different hack developed more recently. It requires only single-User mode to get started, then type a complicated string into NVRAM, then disable System Integrity Protection and run an additional little program (direct-download link provided there) to make the change semi-permanent.
http://dosdude1.com/gpudisable/
.or a similar procedure with a bit more manual work:
Power up and boot into Single User Recovery by holding
if you are on high sierra 10.13.6+ you might need to use Command + r instead
Command + r + s
Disable SIP (This takes a bit to complete so wait for it)
csrutil disable
Disable Discrete GPU on boot by running
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Enable verbose boot mode (This will show text everytime you boot up, shutdown or restart your mac)
nvram boot-args="-v"
Reboot
reboot
Boot into Single User-mode by holding
Command + s + r
It might look as if it hanged, but press enter and you should see the shell (root#)
Mount root partition writeable
/sbin/mount -uw /
Make a kext-backup directory
mkdir -p /System/Library/Extensions-off
Move ONLY ONE offending kext out of the way
mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
Inform the system to update its kextcache:
touch /System/Library/Extensions/
Reboot
reboot
It will show a bunch of text in the screen (don't be alarmed, let it finish) and then it will restart again In second restart it will show text in the screen again and then it will show normal login screen Your computer now should work properly (dGPU off and iGPU on.