My Macbook isn’t fixed yet, but I did make some headway on the 2011 MBP that Greg sent home with me. After fooling around with it a bit (at first it seemed to not do it when it was plugged in, then it seemed like resetting the NVRAM helped, and after a while nothing did), I found a YouTube video describing that it sounds like the GPU was had it. There’s a handful of videos that suggest reballing or reflowing the GPU, but in my experience that almost never results in a long-term fix, so I went looking for something better.
I found some instructions on deactivating the discrete GPU, leaving the Mac to fall back to the integrated GPU on the CPU. I’ll mirror them here for posterity:
- Restart in single-user mode by powering it off, then powering on and holding command-S.
At the single-user prompt, carefully type:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-active=%00%00%00%00 reboot
(I’m not actually sure if the
sudo is required, but I included it anyway)
- This should allow the machine to boot, but things will get funny if you start anything that uses GPU acceleration, so removing the driver apparently helps. So reboot in recovery mode by holding command+R, then run
csrutil disable, then
- Now you can restart in single-user mode again, and mount the root partition read-write:
mount -uw /.
- Create a directory anywhere, I made mine
- Move the directory containing the driver:
mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-disabled.
- Reboot again, and it’ll want to rebuild the caches and probably reboot on it’s own.
At this point it works (albeit without GPU acceleration, so that rules out hacking Catalina on to it as it’d be utterly unusable), but the middle top of the machine still gets incredibly hot. I wasn’t sure if it was just the 2nd-gen i7 running hot, but I figured that there’s probably a way to cut the power to it, right?
It turns out someone’s already done the hard work of figuring it out. I’ve saved the schematic, and a photo of this mac’s board in case that site ever goes down, but for now I’ll just link to it. It’s dead simple: desolder a tiny resistor off the board, and no more GPU! There are a few minor issues with it - since High Sierra for instance, if the screen goes to sleep it won’t ever come back on… you have to power the machine off and back on. The mod to fix this looks slightly more difficult, and I’m not sure my hands are good enough any more, so for now I’m putting up with it.
If something happens and the NVRAM needs resetting, it’ll get overridden, and apparently it’ll try boot with the main GPU so I might have issues being able to enter the commands to fix it. Apparently this is doable by modifying the SPI flash with a flash reader, which sounds to me like an excuse to buy a new toy so I can for sure live with that!
Unfortunately because it’s so old, it’s not usable for work stuff due to lack of security updates. :(