Recent Changes - Search:

Homekoti

Tuomas Rosberg

pmwiki.org

edit SideBar

Mac /

EFIHack

MacBook Pro (Early 2011) discrete graphics failure and a firmware fix

Some MacBook Pro models had a discrete graphics chip which was prone to failure. Apple had a hardware repair program which ended in 2016.

In my case MacBook Pro 15" (Early 2011) developed the garbled picture problem in 2017.

I found this firmware fix in 2017 and used it with macOS 10.11. After that MacBook Pro used only Intel graphics in the processor chip. I thank the inventor, MacRumors forum member AppleMacFinder for the tutorial.

2018 I wanted to upgrade macOS to version 10.13 High Sierra. Apple software installer turned the faulty AMD graphics chip back on. The garbled picture problem came back and installation failed. The following procedure wipes entire contents of the hard drive. Best to have a backup of important files.

EFI firmware fix with a) a working Mac (in my case with macOS 10.12 Sierra), b) macOS 13.3 High Sierra installer downloaded onto it, c) SATA-USB-adapter, d) Archlinux installer CD.

  • Remove hard drive from faulty MacBook Pro
  • with SATA-USB-adapter, connect it to a working Mac (Starting MacBook Pro in Target Disk Mode and connecting to a working Mac should work as well.)
  • with Disk Utility, initialize it as "HFS+ Journaled"
  • Install 10.13 High Sierra on it. Apply available operating system updates.

Now AMD drivers (.kext) must be removed from macOS 10.13. Apple made it difficult or impossible to do this from macOS Single User Mode. In macOS 10.11 it was possible.

  • I connected the hard drive to my working macOS 10.12 machine. Selecting the hard drive, with Finder "Show information", I checked that the owner settings on the drive are ignored. On the 10.13 drive I created new folder /MovedFiles/. Then moved all files starting with AMD from /System/Library/Extensions/ to /MovedFiles/. Yes, with Finder, providing administrator password when needed. Then moved all .gz files from /System/Library/Caches/com.apple.kext.caches/ to /MovedFiles as well. (Not to Trash. You cannot empty Trash with system files in it.)
  • from Terminal, to update timestamps so that macOS definitely will rebuild driver caches, I applied command sudo touch /Volumes/(name of the MacBook Pro hard drive)/System/Library/Extensions/. (This should not be obligatory, but I followed the tutorial.)
  • Install the hard drive back to the MacBook Pro.

A macOS 10.13 installation without AMD graphic drivers is now ready. Next the MacBook Pro must be started with Archlinux 2017 installer CD (or USB).

  • inserting ArchLinux installer CD into optical drive, start MacBook Pro with Option down.
  • Select "EFI Boot disk".
  • With e down, enter. MacBook Pro starts with Grub bootloader. The first item in menu is Archlinux.
  • Grub shows a line with Archlinux boot options. To the end of the line, add nomodeset and enter. MacBook Pro starts with Archlinux, to Linux command line.
  • I used the following commands:
    • cd /
    • umount /sys/firmware/efi/efivars/
    • mount -t efivarfs rw /sys/firmware/efi/efivars/
    • cd /sys/firmware/efi/efivars/
    • ls
      • If there is a file starting with "gpu-power-prefs-", it must be removed with rm gpu-power-prefs- (tab to autocomplete).

Now you must create a graphics power preference to force any operating system to use only Intel graphics on this machine.

  • printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9

And make the file immutable.

  • chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"
  • cd /
  • umount /sys/firmware/efi/efivars/
  • reboot (To start with macOS 10.13)

In macOS System Preferences, open Energy Saver and deselect "Automatic graphics switching". (I don't know if this is obligatory.)

In my case, this worked. A faulty machine can be used again (another display not possible). Apple has made it more difficult to remove system files after MacOS X 10.11. It needed some experimenting, and the procedure took time worth a working day. Any Apple operating system update can ruin the fix, but it can be repeated.

A picture of my garbled screen

Edit - History - Print - Recent Changes - Search
Page last modified on 18.03.2018, 01:14