I've been a Mac user for years, and I've repaired hundreds of different Macs, from the early II series to the latest 2015 and 2016 model MacBook Pros, iMacs (and other Apple hardware to boot!), and there is almost never a hardware situation where I've thrown in the towel and told someone to ditch their Mac.
The 2011 MacBook Pro has, for almost a decade, been the exception to that rule. There was a major flaw in the AMD Radeon GPUs included with that model year's logic board which seemed to cause GPU failure either due to overheating, internal chip problems, BGA solder joints getting broken, or a combination of the above. The problem was so rampant, Apple was forced to set up a free repair program for affected MacBook Pros—though the 2011 model has since been dropped from that program. I've handled three 2011 MacBook Pros (none of them my own—I had an Air back then), and all three of them were scrapped because of the GPU issue.
My sister just turned over her 2011 15" MacBook Pro, which she said was running slow, and I dug in. First off, it was using a slow 5200 RPM hard disk; after replacing that with a nice, fast SSD, and ensuring she had 8 GB of RAM in the laptop, I was pretty pleased with my work, and was about to shut down the laptop and send it on its way. But then, I noticed the display would 'glitch'. Horizontal banding, some weird color issues... things I had seen before.
Replacing the slow hard drive with an SSD makes this thing feel brand new!
Beginning of the Debugging Journey
Fearing the worst, I rebooted into the Apple Hardware Test mode (right after startup sound, hold 'D' key). I ran the quick test, which found no errors. So I ran the full (super long) test... no errors again. Huh—usually the GPU issue would present itself during the AHT, but not this time.
So I rebooted. Apple logo, then progress bar, then grey screen. Ten minutes later, still a grey screen—and the fans are spinning madly. Not good.
So then I tried:
- Safe mode (hold down Shift from startup sound through to login or desktop)—same thing, stuck on grey screen after Apple logo + progress bar.
- Recovery mode (hold down Command + R from startup sound to Apple logo)—same thing, again.
- Internet Recovery mode (hold down Option + Command + R from startup sound to Apple logo)—same thing, again.
Getting nervous, I then tried single-user mode (hold down Command + S from startup sound until you see
the matrix text going past as the Mac boots into its FreeBSD underpinnings)—and was happy to find at least this worked fine. I did an
fsck -y to check the hard disk. A few records were off, but they were repaired successfully. I didn't see anything obviously wrong, but knowing from past experience that problems usually surface only when the GPU/Radeon .kext files (Kernel Extensions) are loaded... I was assuming the worst.
I was going to pop out the SSD and RAM, and suggest my sister sell the laptop for scrap... but then I thought twice—I would look if there was any possible way to resurrect this thing.
Obviously everything else was working fine—Internet Recovery proved wifi/networking was okay. Single user mode proved disk, RAM, CPU, and even integrated graphics were okay. The only thing that seemed wrong was the Radeon GPU. Surely there's a way to bypass it!
Lucky for me, I found this answer on Stack Exchange: GPU problem - Boot Hangs on Grey Screen.
Attempting to drop the Radeon .kexts
That answer had a fairly comprehensive guide to—using software changes only—disable the Radeon GPU and get the Mac happy again.
After running through the guide twice, I eventually got the Mac to boot... to a grey screen again. But this time it would reboot itself within a minute or so, so that was different! Alas, after hacking around a bit more with System Integrity Protection disabled, the reboot cycle eventually became quite short indeed:
(This got old, fast.)
Hitting dead ends when attempting the software fix, I was about ready to throw in the towel... but then I scrolled further in that Stack Exchange answer, and noticed a link to this interesting article: MacBook 2011 Radeon GPU Disable - Real Radeongate Solution.
Being somewhat handy with a soldering iron (but having never done SMD work—basically, soldering little bits and bobs that are the size of a speck of dust!), I thought I'd give it a go. Better than telling my sister to junk the laptop!
Hardware hack to cut off the GPU entirely
I'm not going to rehash the entire article from RealMacMods (after all, they found the process, and they also offer it as a service for $85 for anyone not willing or able to do it himself!), but I did want to highlight a few parts where I think it's important to further illustrate what needs to happen.
The first part of the process involves prepping the software side of the Mac by doing the following:
- Build a USB boot drive with Arch Linux.
- Boot the MacBook Pro from said USB drive (hold option key at startup to choose it).
- Follow the directions to get in the right Arch Linux boot mode so you get to the console.
- Hack your EFI by adding a file telling your Mac to disable the Radeon GPU.
- Reboot into Safe Boot mode (Shift key all the way through startup).
- Shut down using the Apple Menu > Shut Down option.
Again, see the source article from RealMacMods for the gory details (they even offer a $10 download to package up the fix for you—well worth it if you're not used to a command line!).
Once that's done, it's time to get your hands dirty, by permanently modifying the MacBook Pro's logic board!
First, to prepare the patient for surgery:
- Unplug the Mac, put it on a nice, non-scratching, non-static surface, and flip it over. (I use a cutting mat on my workbench... which is an old desk).
- Unscrew the 10 tiny phillips screws on the bottom.
- Pull off the back cover (should come off quite easily unless it's dented somewhere), and place it aside.
At this point, you're going to want to make sure you have the tools to make this operation not-impossible—you need to desolder / remove a tiny resistor ('R8911') from the logic board, and you need a few tools to do that:
You can use a handheld magnifying glass... but if you're like me, you're going to need both hands to steady the soldering iron when desoldering the tiny, tiny resistor from the logic board. How tiny? Take a look through the magnifying glass:
Still don't see it? Let's zoom and enhance:
And a wider shot, for perspective:
So, with the resistor identified, it's time to turn on the iron (I set mine to 500°F and tinned the tip with a tiny bit of lead-free solder) and get to work! I hold the iron in my left hand, and provide a little resistive force to steady it with my right hand. Touch the tip of the iron to each metal side of the resistor (where the joints are), alternating one side to the other for about 1-2 seconds each, until you notice the resistor starts to become free from the logic board. Once that happens (after about 15 seconds in my case), put the tip against the side of the resistor facing the open space on the logic board, and push, with a very slight upward (away from the logic board) force.
You might need to keep heating the resistor a bit before it pops free. And if you're like me, you might shoot the little resistor a few inches across the logic board! Just be sure to do the following after it comes off:
- Make sure there's not a solder joint between the two pads where the resistor used to be. If there are, heat the pads with the iron tip until you can 'wick away' the solder a little. Just enough to not join the two pads together.
- Set down the iron / put it in it's holder, and get the resistor off the logic board. Hopefully you can just lift the bottom-cover-less laptop, turn it over, and you see a tiny black speck fall to you work surface.
After you get the resistor off. Take a second and marvel at it's minute size. And realize there are thousands of these things soldered to the logic board!
Those are specks of dust in the image—except for the very-slightly-larger black spec next to the standard through-hole resistor. The resistor is small enough I can't pick it up with my fingers—or even a standard needle-nose pliers!
With the resistor gone, one step remains: replace the bottom cover, plug it in, and turn it on!
I did so, and less than 40 seconds later (the SSD makes the boot process fast!), the Mac was as good as it's ever been, sans AMD Radeon GPU:
One last thread that was worth a read-through for more background and debugging information was from the RealMacMods forum, After GPU repair issues (R8911 removal). After removing the resistor, be very careful when upgrading the OS or making other major changes (be sure to keep current backups!). And, as suggested by RMM, try to avoid resetting the NVRAM, just in case that makes things go a bit south.