Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

JoeyMBP

macrumors newbie
Sep 16, 2017
1
0
Hi guys,

I hope so that anyone out there is able to help me. I followed all steps and the fix worked with an old El Capitan OS X.

Today I upgraded my OS X to Sierra to backup my old data from an external drive. Since I upgraded to Sierra the fix isn't working anymore. So I did the fix again and it worked very well. My Mac reboots until the login screen. After entering my password OS X is loading and loading and after a while it restarts again. Sierra isn't starting anymore. I did the fix again several time but in the end it's always the same result: loading after entering the password and after around 10 seconds my Mac restarts. Any ideas to fix this problem?

Thanks in advance for your help!
 

asmodeusmitinger

macrumors newbie
Sep 16, 2017
1
0
Hi all. Same symptoms/problems as anyone else. Had my logic board replaced, then repaired, it's displaying the same crap again. I'm running OS X El Capitan 10.11.5. This video -
- seems to do a pretty concise job of going through the remedy. The video covers if you have Yosemite, and then he was also gracious enough to provide instructions if you're running Sierra. What I'm wondering is, do I need Arch Linux if I'm running El Capitan or do I follow the instructions that are closer to Sierra? I want to do this, I just don't want to screw it up. Anyone have any suggestions? Please let me know! Thanks!
 

DominicMac

macrumors newbie
Sep 17, 2017
1
0
UK
If you don't have time to read my story (which also describes some interesting technical approaches) just scroll down this thread until a "100% WORKING SOLUTION" text

Discrete AMD GPU of my 2011 MacBook Pro 8,2 has finally failed because of the reasons mentioned here ( http://logicboardmac.blogspot.ru/ ) and there ( https://www.macrumors.com/2015/02/19/2011-macbook-pro-repair-program-apple/ ) . It has been working perfectly for 6 years under quite a high load, even tried SETI@HOME mining at background! So I was confident that my MBP is not affected by bad solder / bad soldering quality and didn't want to bring it to Apple for a free repair program - partially because couldn't find the time to pause my important software projects, partially because I was afraid that Apple might give me a less reliable logic board or refuse a free repair because of the several unrelated repairs that I did manually by myself earlier to save money: changed thermal paste a few times, replaced the internal battery 2 times, replaced a keyboard with broken buttons, etc. But it finally broke down last week: laptop's screen image became distorted, it refused to boot OS X (always freezing half-way), and - Apple free repair program has already ended! I know there are affordable solutions like $50 BGA resoldering at unofficial local repair shop and that its possible to get a new replacement HD 6750M chip from AliExpress for $35 or cheaper ( http://www.aliexpress.com/item/DC-2...0028-216-0810028-BGA-Chipset/32764872143.html or https://www.aliexpress.com/item/DC-2015-New-216-0810001-216-0810001-Graphic-Chipset/32718112928.html , because don't know if this is true - https://www.rossmanngroup.com/board...0604-replace-216-0810005-gpu-with-216-0810028 ) to guarantee a successful repair, so the total price of repair would be either $50 or $50+$35=$85 - less than $100 in any case. But I don't like investing money to the old computers, so I have thought - what if there is some hack to force MBP to use integrated graphics ALL THE TIME, even while booting ? And then started to explore the possible solutions...

===

First of all, it is possible to successfully boot a MBP to OS X while still using the failed GPU, after you remove the AMD drivers by booting in command line mode (CMD+S) and entering these commands:
1) fsck -fy (to check a disk)
2) mount -uw / (mount a root filesystem with read/write permissions)
3) sudo mkdir /AMD_Kexts/ (make a directory to store the AMD drivers in case you'll need them in future)
4) sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/ (move the AMD drivers)
5) sudo rm -rf /System/Library/Caches/com.apple.kext.caches/ (remove the AMD drivers cache)
6) sudo mkdir /System/Library/Caches/com.apple.kext.caches/ (just in case OS X will be dumb and will not recreate this directory, I am creating it for OS X)
7) sudo touch /System/Library/Extensions/ (to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt)
8) sudo umount / (umount a partition to guarantee that your changes are flushed to it)
9) sudo reboot

The degree of your inconvenience while doing these steps - strongly depends on how heavily a screen's image is distorted in your case. In my case it was even more difficult because the OS X partition became a "read-only" partition (because of too many emergency shutdowns I did while desperately trying to boot OS X with a failed GPU) so I had to remove a hard drive from MacBook Pro and (using a USB to SATA 2.5" adapter taken from my portable HDD) attached it to a computer with Linux, then followed these instructions:

https://superuser.com/questions/961401/mounting-hfs-partition-on-arch-linux (1st answer) - carefully executed a number of commands, calculated a sizelimit for my parition layout, and finally ran sudo mount -t hfsplus -o force,rw,sizelimit=YOURNUMBER /dev/sdb2 /mnt to mount this HFS+ partition to /mnt directory in read-write mode. Then I performed these "1)-7)" steps you see above, and also repaired a filesystem by running sudo fsck.hfsplus -f /dev/sdb2 before unmounting a partition with sudo umount /mnt and putting a hard drive back to MBP...

===

This gave me a MBP which could boot to OS X although STILL using a broken AMD GPU: so it screen's image is very distorted (could browse the Internet but quite inconvenient to read a text), Launchpad is super laggy, and you can't switch to Integrated GPU using gfxCardStatus because: without AMD drivers (which we had to remove to successfully boot to OS X) Macbook Pro thinks its' internal screen is External Display and gfxCardStatus tells it is impossible to switch because External Display is using AMD GPU. Somewhere I found a suggestion that it is possible to rebuild a gfxCardStatus from the source code - https://github.com/codykrieger/gfxCardStatus - with removed or commented out 156-166 lines in the ./gfxCardStatus/Classes/GSProcess.m to make it to ignore the external display:

// find out if an external monitor is forcing the discrete gpu on
CGDirectDisplayID displays[8];
CGDisplayCount displayCount = 0;
if (CGGetOnlineDisplayList(8, displays, &displayCount) == noErr) {
for (int i = 0; i < displayCount; i++) {
if ( ! CGDisplayIsBuiltin(displays))
[list addObject:[NSDictionary dictionaryWithObjectsAndKeys:
Str(@"External Display"), kTaskItemName,
@"", kTaskItemPID, nil]];
}
}


So I rebuilt a gfxCardStatus using the instructions from the last reply of this issue -
https://github.com/codykrieger/gfxCardStatus/issues/229
(also had to download a MacOSX10.11.sdk from here - https://github.com/phracker/MacOSX-SDKs/releases - unpack and copy it to XCode's /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk - because of the Apple's stupidity the latest XCode for El Capitan does not include SDK for El Capitan!) However, it still didn't work - gfxCardStatus only pretended that it has switched to Integrated GPU, while in reality OS X did not let it switch! Even after I edited ./gfxCardStatus/Classes/GSGPU.m file to enable the mysterious "Nuke it from orbit switching" option, it still couldn't switch...

===

Then I discovered this interesting repository - https://github.com/0xbb/gpu-switch - which is partially similar by its' source code to gfxCardStatus but also has the "Login Hooks" (install_hooks.sh) to "automate the switching process for login/logout". Sadly it didn't work for me... However, there is a very interesting gpu-switch text file right at the root of this repository, which describes the EFI variables!

https://github.com/0xbb/gpu-switch/blob/master/gpu-switch

After studying it and also reading this issue's comments - https://github.com/0xbb/gpu-switch/issues/11 - I became confident to try this solution, but found out that my MacBook Pro 2011 8,2 with OS X El Capitan 10.11.6 is in a VERY problematic situation:

1) rEFInd is not installed, and to install it - must disable SIP protection. But I cannot boot to Recovery mode (Command+Option+R) or to OS X Installation DVD/USB (hold Option), (to disable SIP), because they freeze while booting! - although I removed AMD kexts from my system, of course these recovery tools are using AMD kexts integrated to their design. Also cannot use Rootfool hack ( https://github.com/gdbinit/rootfool ) to disable SIP during runtime, because it works only at OS X version older than 10.11.4

2) Tried overheating my Macbook Pro on purpose (forcing CPU usage to 100% and putting it to a tightly closed bag) to force it to shutdown from overheating and then quickly reboot so that Integrated graphics will be enabled during the boot time - making it possible to boot to Recovery. But because of the wonderful high end thermal paste I have applied not so long ago - cannot overheat it even after waiting for a long time! At this point I thought that could either: a) remove AMD kexts from Installation media, or b) to connect MBP's hard drive to a Linux machine again and run a bunch of chmods to remove the SIP flags from the directories mentioned here ( http://apple.stackexchange.com/questions/193368/what-is-the-rootless-feature-in-el-capitan-really ) which could potentially make a system unbootable, or c) to try installing rEFInd to HFS+ partition directly from a Linux machine with root rights because it will bypass SIP --- but have not explored these options, although some of them might have worked...

3) Wanted to boot a Linux LiveCD to edit the EFI variables from there, but no matter what I did: tried booting straight without GRUB option modifications, tried editing GRUB boot options (with "e" key) to add nomodeset / remove quiet splash / or both in every combination , or like suggested in this article ( https://wiki.archlinux.org/index.php/MacBookPro8,1/8,2/8,3_(2011) ) also add i915.modeset=0 radeon.modeset=0 or radeon.modeset=0 i915.modeset=1 i915.lvds_channel_mode=2 ; and then pressed Fn+F10 or Shift+Ctrl+Fn+F10 to boot with these options: but the Linux boot process always failed at different boot stages, no matter what popular user-friendly Linux distribution or what version of it I am trying: tried many releases of Ubuntu / Lubuntu / Fedora , even the old "AMD64 Mac" and "Alternate AMD64 Mac" images, but they always failed - either at the very beginning of boot process (black screen, or a black screen with a blinking or stuck _ character at the left upper corner) or failed at the very end of it - right before it is supposed to show a graphical desktop environment...

Later, totoe_84 wrote that he was able to boot Ubuntu in graphical mode using the following setup for GRUB:
  • To disable the AMD graphics card I added the following lines after set gfxpayload=keep
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
  • Next I added the following after quiet splash
    i915.lvds_channel_mode=2 i915.modeset=1 i915.lvds_use_ssc=0
(based on https://ubuntuforums.org/showthread.php?t=2157775 )

===

Then I remembered that there are not-mainstream Linux distributions for advanced users, which have a LiveCD without any graphical interface: you are dropped to a pure console and you are supposed to install the system along with only those graphical interfaces and software packages / groups of packages which you explicitly select. For example: Arch Linux (https://www.archlinux.org/) and Gentoo Linux (https://gentoo.org/) . Because their LiveCD does not have a graphical interface, they could be booted without a problem to a pure Linux console and there you could edit the EFI variables ! So here is a...

===
=== 100% WORKING SOLUTION
===
=== Force your MBP to ALWAYS use Intel integrated GPU (EFI variable fix)
===
=== to make it great again ! ;)
===


1) Create the Arch Linux LiveCD/LiveUSB :

You need a working computer for that and a spare CD/DVD/USB drive. Download the latest Arch Linux ISO image from this page - https://www.archlinux.org/download/ , at the time of writing it is archlinux-2017.03.01-dual.iso . Then you could either simply burn this ISO to CD/DVD (which later could be either inserted to MBP's SuperDrive or External DVD Drive connected to MBP by two USB cables) or create a bootable USB: use the great detailed instructions from this page, https://wiki.archlinux.org/index.php/USB_flash_installation_media

2) Boot to it: insert this CD/DVD/USB to Macbook Pro, hold Option key while booting, choose "EFI boot" (that is your bootable installation media), press "e" key to edit the GRUB options of the Arch Linux archiso x86_64 UEFI CD menu entry while it is selected at the main screen, add nomodeset to the end of this line and press Enter. If everything is done correctly, you will find yourself at the Linux console!

3) Edit EFI vars: looks like efivarfs filesystem is mounted by default! So you can already cd /sys/firmware/efi/efivars and ls to explore this directory and see if there is a "gpu-power-prefs-..." variable (where ... is UUID of this variable). If there is such a variable, its better to remove it with rm. In my case the efivarfs has been mounted by default with read/write permissions, but if you are getting the "operation not permitted" message while attempting to rm, it means that in your case efivarfs has been mounted as read-only and you need to remount it with read-write permissions and try again (credits to totoe_84 for this valuable addition) :
*) cd /
*) umount /sys/firmware/efi/efivars/
*) mount -t efivarfs rw /sys/firmware/efi/efivars/
*) cd /sys/firmware/efi/efivars/

If your screen is so distorted that it is difficult to see the letters, just start typing the rm gpu-power-pre and then press TAB key for autocompletion. In my case there were not such a EFI variable, only "gpu-active-..." and maybe somehow related "gfx-saved-config-restore-status-..." . Then I looked again at that gpu-switch text file (mentioned above, https://github.com/0xbb/gpu-switch/blob/master/gpu-switch),
and entered THESE COMMANDS:

*) chattr -i "/sys/firmware/efi/efivars/" <----- skip this command

Actually a gpu-switch script had "${sysfs_efi_vars}/${efi_gpu}" but I didnt have a "gpu-power-prefs-..." variable - so, partially by mistake, I didn't add that efi_gpu suffix and entered this incomplete path accidentally

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

Did not have a EFI "gpu-power-prefs-" variable so I thought that it will be OK to create a new one with a random UUID - in this case, taken directly from a gpu-switch script

*) chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9"

http://www.tecmint.com/chattr-command-examples/ - chattr (Change Attribute) is a command line Linux utility that is used to set/unset certain attributes to a file in Linux system to secure accidental deletion or modification of important files and folders, even though you are logged in as a root user.
...
Syntax of chattr ---> chattr [operator] [flags] [filename]
...
A file is set with ‘i‘ attribute (+i as you see in this command) ---> cannot be modified (immutable). Means no renaming, no symbolic link creation, no execution, no writable, only superuser can unset the attribute.
...
Operator
  1. + : Adds the attribute to the existing attribute of the files.
  2. : Removes the attribute to the existing attribute of the files.
  3. = : Keep the existing attributes that the files have.
This chattr command is supposed to lock a file to make it accessible only by "superuser" - and so that, while booting, your EFI will have no chance to screw up your gpu-power-prefs-... variable under any circumstances

*) cd /

Could not unmount efivars if you are inside this directory, so change to the root directory

*) umount /sys/firmware/efi/efivars/

Guarantees that your EFI variables are flushed to efivarfs filesystem, please unmount it safely before rebooting)

*) reboot

===> IF YOU DID EVERYTHING CORRECTLY, MOST LIKELY THAT YOUR MACBOOK PRO IS NOW USING INTEGRATED GRAPHICS WHILE BOOTING, AFTER BOOTING, AND IS WORKING GREAT AGAIN ! ;)

In the future maybe you could need to re-apply this solution if you would have to reset your PRAM / NVRAM / SMC because of some other problems, so remember this solution somewhere... Funny thing: now you can't switch to Discrete GPU even using gfxCardStatus, it is forever stuck at Integrated


I spent two working days to discover this solution, and really hope that it will work flawlessly for every MBP owner with a broken discrete GPU. Good luck!
[doublepost=1505671234][/doublepost]Hello
Thank you for giving me hope. The file 'archlinux-2017.09.01-x86_64.iso' I downloaded was an 'Archieve' file, do I just burn this as is? (I'm not used to .iso's being archived, or do I need do something to it first? Many thanks
 

Mac2011trouble

macrumors newbie
Sep 17, 2017
14
1
Hello AppleMacFinder
Mine is Mac Book Pro Late 2011 Maveric OS.
Would you mind giving your opinion on my case. I have the following questions & I would be very much obliged if you could offer your valuable time to answer:

First of all, it is possible to successfully boot a MBP to OS X while still using the failed GPU, after you remove the AMD drivers by booting in command line mode (CMD+S) and entering these commands:
1) fsck -fy (to check a disk)
2) mount -uw / (mount a root filesystem with read/write permissions)
3) sudo mkdir /AMD_Kexts/ (make a directory to store the AMD drivers in case you'll need them in future)
4) sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/ (move the AMD drivers)
5) sudo rm -rf /System/Library/Caches/com.apple.kext.caches/ (remove the AMD drivers cache)
6) sudo mkdir /System/Library/Caches/com.apple.kext.caches/ (just in case OS X will be dumb and will not recreate this directory, I am creating it for OS X)
7) sudo touch /System/Library/Extensions/ (to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt)
8) sudo umount / (umount a partition to guarantee that your changes are flushed to it)
9) sudo reboot
!
  • My Late 2011 Mac Book Pro recently started to give problem and I suspect it is the AMD Graphic card.​
  • I am able to get to the command line (CMD+S)​
  • After the following step (8)​
  • 8) sudo umount / (umount a partition to guarantee that your changes are flushed to it)
  • I get the following:
  • umount(/): Resource busy -- try 'diskutil unmount'
  • I then typed that command diskutil unmont as suggested followed by
  • the last command (9) sudo reboot.
My computer has rebooted and working I think normally.

1.Can I look anywhere on my computer to see if the AMD Graphic card is inactivated?

2.Or Do I still have to follow through with EFI way-> Using archlinux to kill off the discrete GPU?

3.Could I try to do a clean reinstall of my existing OS which is Maveric? or if I try to reinstall my OS the above work around get nullified and I may not get a bootable computer.


What do you feel?

I thank you from bottom of my heart.
 
Last edited:

iRoo944

macrumors newbie
Sep 18, 2017
2
3
Hello everyone.
Today i have received my MBP early 2011 from Apple Service with fixed GPU. And it worst me 50$ only.
Here is how it did work for me:
1st I needed is to identify which gpu chip was installed on my Mac.
See attached photo 1 which helped. On my case it was 216 0809000 model chip.
So i went to Aliexpress and purchased a brand new, 2017, gpu chip for only 13.40$.
Link: http://s.aliexpress.com/N3AVVn2A
See attached photo 2 of the item received.

Next i paid 36$ for apple service to change my gpu - without guarantee/warranty off course.

But It did worse every penny :)

Hope I could help someone to make their decisions on this matter and you will feel same joy that i do now.

Good Luck
 

Attachments

  • IMG_2208.JPG
    IMG_2208.JPG
    1 MB · Views: 746
  • IMG_1900.PNG
    IMG_1900.PNG
    151.1 KB · Views: 554

xpisme

macrumors newbie
Sep 18, 2017
2
0
In local apple official retail:
almastore.az
Lucky for you. We got no such affordable services here in the US. Official Apple Stores just flat out refuse to do anything except replacing the entire logic board for $500+. I don't know of any places that would replace/solar a new GPU onto an existing logic board for sub $100.
 

spidertnt

macrumors member
Aug 11, 2014
53
34
I’m happy to say that my MacBook Pro is back up and running thanks to this thread! I used most of the steps in MikeyN’s guide, along with some steps from another guide found on asyncro.com. It took a few tries, but after adjusting a few things for my set up (MBP 15” Early 2011 running Yosemite), everything is working perfectly and I have a fully functioning MacBook Pro (aside, of course, from video out to an external monitor).



Below are the steps I took for Early 2011 15” MacBook Pro running Yosemite 10.10.5:



1. To start from a clean slate: reset SMC and PRAM/NVRAM:


Shutdown, unplug everything except power, now hold:


<leftShift>+<Ctrl>+<Opt>+<Power>


Release at the same time.


2. Now power on again and hold


<Cmd>+<Opt>+<p>+<r>


at the same time until you hear the startup chime two times, then immediately press and hold:


<Cmd>+<r>+<s>


to boot into Recovery Mode. If done correctly, you will boot to a command line (DOS-like) interface.


3. Disable dGPU on boot


type: nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 (press ‘Enter')


4. Enable Verbose Boot Mode and Reboot:


type: nvram boot-args="-v" (press ‘Enter')


type: reboot (press ‘Enter’), then hold:


<Cmd>+<s>


to reboot into single user mode.

Again, you will reboot to a command line interface.

5. Make root partition writeable:

type: /sbin/mount -uw / (press ‘Enter')

6. Make a kext-backup directory:

type: mkdir -p /System/Library/Extensions-off (press ‘Enter')

7. Only move ONE offending kext out of the way:

type: sudo mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ (press ‘Enter')

8. Let the system update its kextcache:

type: sudo kextcache -v 1 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions/ (press 'Enter’)

This process may take a few moments to complete. Then:

9. Turn off Verbose Boot Mode and Reboot:

type: nvram boot-args="" (press ‘Enter’)

type: sudo reboot (press ‘Enter’)


You should now be able to boot to the login screen and/or desktop. In my case, I needed to QUICKLY DO THE FOLLOWING STEP to keep my Mac from shutting down:


10. Manually load the dGPU kext (this needs to be done for power management. You are NOT re-enabling the faulty dGPU)

Open the Terminal and type: sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext (press ‘Enter’)


11. Now follow the rest of MikeyN’s guide:


Automate this with the following LoginHook:


sudo mkdir -p /Library/LoginHook

sudo nano /Library/LoginHook/LoadX3000.sh


with the following content:


#!/bin/bash

kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

exit 0


then make it executable and active:


sudo chmod a+x /Library/LoginHook/LoadX3000.sh

sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh


Preventive measures for future use


There are two further caveats to know: This is reversible when the SMC/PRAM/NVRAM is reset. If that happens the GPU-power-pref nvram can/has to be set again to force the use of the iGPU from boot-time.


Since this can happen quite easily (and is often erroneously recommended way too many times than it is actually useful), you should probably prepare for such a scenario and create a simple script to greatly speed up the process and also make entering the necessary variable much less error prone:


sudo nano /force-iGPU-boot.sh


– Enter the following content to this file:


#/bin/sh

sudo nvram boot-args="-v"

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

exit 0


– Now make that executable:


sudo chmod a+x /force-iGPU-boot.sh


In the future, when the SMC/PRAM/NVRAM gets reset to default values it is now possible to boot into SingleUser with:


<Cmd>+<s>


– And after mounting your boot-volume read-write to execute just:


sh /force-iGPU-boot.sh


All this only takes place on the Disk image ...no bios changes at all ?

Can someone do a fresh install do the modifications and make an image...would that image work again on another MacBook with same specs ?
 

bysamo

macrumors newbie
Sep 19, 2017
1
2
Buenos Aires, Argentina
Man, thanks so much for this amazing research that you did. you save me from buy a new mac.. I could fix it (after a lot of different issues). Now I have it working with a OSX Sierra.

Just a few comment that might help others..

The version of archlinux that you are using works fine.. but them on the last releases of arch there is a bug related to the efivars.. so the commands on the solution doesn't work. The latest working version that I could find was "Archlinux 2017.06.01 x86_64" and I downloaded form a torrent.

and then for OSX Sierra in particular.. if don't have the local recovery.. you are not able to disable the PIL (the internet recovery doesn't have the crutils command) and for make Sierra works (in my case).. I had to do the efivars step and also the step of remove the AMD drivers.. if the AMD drivers are not removed the OSX is not booting. It's get freeze while is loading and It's only possible to make it boot on Secure Mode. After to be able to do both steps is works perfectly for me.. I can restart the machine and everything works fine.

I hope that can help someone else
and Thanks again for this amazing job!
 

Idgit

macrumors 6502a
Mar 14, 2004
556
183
Man, thanks so much for this amazing research that you did. you save me from buy a new mac.. I could fix it (after a lot of different issues). Now I have it working with a OSX Sierra.

Just a few comment that might help others..

The version of archlinux that you are using works fine.. but them on the last releases of arch there is a bug related to the efivars.. so the commands on the solution doesn't work. The latest working version that I could find was "Archlinux 2017.06.01 x86_64" and I downloaded form a torrent.

and then for OSX Sierra in particular.. if don't have the local recovery.. you are not able to disable the PIL (the internet recovery doesn't have the crutils command) and for make Sierra works (in my case).. I had to do the efivars step and also the step of remove the AMD drivers.. if the AMD drivers are not removed the OSX is not booting. It's get freeze while is loading and It's only possible to make it boot on Secure Mode. After to be able to do both steps is works perfectly for me.. I can restart the machine and everything works fine.

I hope that can help someone else
and Thanks again for this amazing job!

Skip the instructions on the first page. There is a better and easier solution posted on page 38 of this thread.
 

Mac2011trouble

macrumors newbie
Sep 17, 2017
14
1
Hello Idgit,
Skip the instructions on the first page. There is a better and easier solution posted on page 38 of this thread.

Mine Mac Book Pro Late 2011 run Maveric. This failed last month and was suggested in another forum to come over here.
I could get the computer boot again by the first step mentioned below, but then on booting or open yahoo mail or iPhoto it it freezes.. then could not boot until do the (<cmd + s> again same steps as below,

Steps allow me to get back when I do,
as booting into single user (<cmd +s>) inactivated the AMD drivers.

Then will one have to follow the EFI route to get only the intergrated GPU Intel HD Graphics 3000 to work?

When I boot CD with archlinux -> nomodeset ->
I see GPU-power-prefs...

The commands suggested here are not allowing this to be removed.?

What could I do?


If I have the following on the gfx card status, does that mean my discrete card is no longer active/available

 
Last edited:

josepie

macrumors newbie
Sep 20, 2017
2
0
Hello Idgit,


Mine Mac Book Pro Late 2011 run Maveric. This failed last month and was suggested in another forum to come over here.
I could get the computer boot again by the first step mentioned below, but then on booting or open yahoo mail or iPhoto it it freezes.. then could not boot until do the cmd + s,

On booting into single user (<cmd +s>) in-activated the AMD drivers.

Then will one have to follow the EFI route to get only the intergrated GPU Intel HD Graphics 3000 to work?

When I boot CD with archlinux -> nomodeset ->
I see GPU-power-prefs...

The commands suggested here are not allowing this to be removed.?

What could I do?


If I have the following on the gfx card status, does that mean my discrete card is no longer active/available

[doublepost=1505924059][/doublepost]I've erased my Mac OS. I cannot boot into single user mode (tried many times). I've tried recovery mode, but it works then reboots and i get thew grey screen issue again. Has to be a way around this? Anyone?
 

justing6

macrumors newbie
Sep 20, 2017
2
0
Hello all! I followed the instructions and got my Late 2011 15in MacBook working again. However, my idle temperatures when there is no CPU load are around 70C and the battery life is much lower than before, almost like the dGPU is constantly active (even though MacOS isn't using it and gfxCardStatus shows that it's using the iGPU). Is this just a side effect of disabling it, or is it fixable as well?
 

Brandon316

macrumors newbie
Aug 23, 2017
2
0
Ok so with my Mid 2012 MacBook Pro I successfully completed the following:
1 - Enter Recovery Mode (text mode) Command + R + S

2 - csrutil disable

3 - reboot

4 - Enter Single User mode boot up holding down the CMD and S keys

5 - Check a disk: fsck -fy

6 - mount -uw /

7 - sudo mkdir /GeForce_Kexts/

8 - sudo mv /System/Library/Extensions/GeForce*.* /GeForce_Kexts/

9 - sudo rm -rf /System/Library/Caches/com.apple.kext.caches/

10 - sudo mkdir /System/Library/Caches/com.apple.kext.caches/

11 - to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt sudo touch /System/Library/Extensions/

12 – sudo reboot

13 - 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.

14 - Enter Recovery Mode (text mode) Command + R + S

15 - csrutil enable

16 - reboot

17 - Open Terminal (Finder -> Applications -> Utilities -> Terminal (copy and paste) : sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

19 - Restart the system sudo shutdown -r now



Now however I have gotten a different kernel panic:

*** Panic Report ***
panic(cpu 4 caller 0xffffff7f8e7a080b): "GPU Panic: mux-regs 2 0 a0 d9 9 8 severity 3 switch-state 0 EG power-state 0 3D 0 HDA 0 : \n"@/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.14.47/src/AppleMuxControl/kext/GPUPanic.cpp:143



Is there anything else the I need to do?
 

Mac2011trouble

macrumors newbie
Sep 17, 2017
14
1
I am having the same issue of not being able to modify efivars. I'm doing it from an Archlinux Live USB with SIP disabled. I've tried remounting efivars r/w but I am still getting "operation not permitted."

Has anyone found a solution to this?

I am having the same problem. Tried few times umount and remount with no avail.

Mac Book Pro 15" late 2011 running Maverick.(OS 10.9.5)
Using Archlinux 2017.07.01.

Without Archlinux tried method described #947 in pg 38,
Unable to disable System Integrity Protection
Unable to remove GPU-Power-Prefs
Most of the discussion are centred on OS later than mine.

Do I have to first apply this prior to follow EFI route through Archlinux boot?

First of all, it is possible to successfully boot a MBP to OS X while still using the failed GPU, after you remove the AMD drivers by booting in command line mode (CMD+S) and entering these commands:
1) fsck -fy (to check a disk)
2) mount -uw / (mount a root filesystem with read/write permissions)
3) sudo mkdir /AMD_Kexts/ (make a directory to store the AMD drivers in case you'll need them in future)
4) sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/ (move the AMD drivers)
5) sudo rm -rf /System/Library/Caches/com.apple.kext.caches/ (remove the AMD drivers cache)
6) sudo mkdir /System/Library/Caches/com.apple.kext.caches/ (just in case OS X will be dumb and will not recreate this directory, I am creating it for OS X)
7) sudo touch /System/Library/Extensions/ (to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt)
8) sudo umount / (umount a partition to guarantee that your changes are flushed to it)
9) sudo reboot
 
Last edited:

shotters-nation

macrumors newbie
Oct 5, 2007
24
1
Complete Guide to Permanently Disable AMD 6XXXm series dGPU and Prevent Thermal Throttling

Hi, i just found this thread after my MBP late 2011 started to fail after a logic board replacement 1 year ago, and now the first signs (freeze/complicated rebooting/lines...) start to appear again. I'm currently on 10.9.5 and was wondering if this guide only applies for Sierra? whats the best method if i still can boot into mac os and work a little bit when using gfxcardstatus?

thx in advance (because the thread got now very complicated already because there are so many methods/tricks ?)
 
  • Like
Reactions: Mac2011trouble

shotters-nation

macrumors newbie
Oct 5, 2007
24
1
I’m happy to say that my MacBook Pro is back up and running thanks to this thread! I used most of the steps in MikeyN’s guide, along with some steps from another guide found on asyncro.com. It took a few tries, but after adjusting a few things for my set up (MBP 15” Early 2011 running Yosemite), everything is working perfectly and I have a fully functioning MacBook Pro (aside, of course, from video out to an external monitor).



Below are the steps I took for Early 2011 15” MacBook Pro running Yosemite 10.10.5:



1. To start from a clean slate: reset SMC and PRAM/NVRAM:


Shutdown, unplug everything except power, now hold:


<leftShift>+<Ctrl>+<Opt>+<Power>


Release at the same time.


2. Now power on again and hold


<Cmd>+<Opt>+<p>+<r>


at the same time until you hear the startup chime two times, then immediately press and hold:


<Cmd>+<r>+<s>


to boot into Recovery Mode. If done correctly, you will boot to a command line (DOS-like) interface.


3. Disable dGPU on boot


type: nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 (press ‘Enter')


4. Enable Verbose Boot Mode and Reboot:


type: nvram boot-args="-v" (press ‘Enter')


type: reboot (press ‘Enter’), then hold:


<Cmd>+<s>


to reboot into single user mode.

Again, you will reboot to a command line interface.

5. Make root partition writeable:

type: /sbin/mount -uw / (press ‘Enter')

6. Make a kext-backup directory:

type: mkdir -p /System/Library/Extensions-off (press ‘Enter')

7. Only move ONE offending kext out of the way:

type: sudo mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ (press ‘Enter')

8. Let the system update its kextcache:

type: sudo kextcache -v 1 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions/ (press 'Enter’)

This process may take a few moments to complete. Then:

9. Turn off Verbose Boot Mode and Reboot:

type: nvram boot-args="" (press ‘Enter’)

type: sudo reboot (press ‘Enter’)


You should now be able to boot to the login screen and/or desktop. In my case, I needed to QUICKLY DO THE FOLLOWING STEP to keep my Mac from shutting down:


10. Manually load the dGPU kext (this needs to be done for power management. You are NOT re-enabling the faulty dGPU)

Open the Terminal and type: sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext (press ‘Enter’)

Hi guys,

sry for replying again... I followed the quoted guide and did the "nvram-hack" and also moved the AMDRadeonX3000.kext, after booting manually loaded them. Problem is that it seems to "lock" on the dGPU (according to gfxCardStatus and systeminfo) which gave me artefacts on the screen quite quickly until i had to reboot :( - So i did a NVRAM/PRAM+SMC reset and moved the .kext back to the Extensions folder and after 5 times of rebooting (let it overheat a little bit while stuck on boot screen, maybe some of u know that) i managed to get back into the OS (10.9; MBP late 2011). My question is what went wrong here? At the moment my dGPU is already in a bad shape and will die soon, so i want to avoid that by really locking on the Intel iGPU only.
 

Rob Wood

macrumors newbie
Sep 14, 2017
8
2
Hi guys,

sry for replying again... I followed the quoted guide and did the "nvram-hack" and also moved the AMDRadeonX3000.kext, after booting manually loaded them. Problem is that it seems to "lock" on the dGPU (according to gfxCardStatus and systeminfo) which gave me artefacts on the screen quite quickly until i had to reboot :( - So i did a NVRAM/PRAM+SMC reset and moved the .kext back to the Extensions folder and after 5 times of rebooting (let it overheat a little bit while stuck on boot screen, maybe some of u know that) i managed to get back into the OS (10.9; MBP late 2011). My question is what went wrong here? At the moment my dGPU is already in a bad shape and will die soon, so i want to avoid that by really locking on the Intel iGPU only.

Are you loading the X3000 kext after logging in? It should not live in the Extension folder.

The NVRAM/PRAM/SMC resets will undo the fix. I would suggest going to page 38 post 947 and starting from scratch. If it doesn't work out or you are unsure of how to accomplish any of the steps please post your questions or results.
 
Last edited:
  • Like
Reactions: o_0

shotters-nation

macrumors newbie
Oct 5, 2007
24
1
Are you loading the X3000 kext after logging in? It should not live in the Extension folder.

The NVRAM/PRAM/SMC resets will undo the fix. I would suggest going to page 38 post 947 and starting from scratch. If it doesn't work out or you are unsure of how to accomplish any of the steps please post your questions or results.

Hi, thx for the reply :)

i followed all the steps and got no error messages or anything. So the x3000 is moved to the new created "extensions-off" folder, so that it is not loaded. But after booting and manually loading the kext from the "off" folder it seems that only the dGPU is used and not the iGPU which kills the MBP quite quickly. I did the reset to go back to standard setting. I was just wondering if anyone had the same problem, that the wrong GPU is used only. Could it be that gfxcardstatus messed it up (i have it on auto-start after login, i always try to force the iGPU to protect the dGPU).
 

GMunroe

macrumors member
Mar 24, 2012
50
1
Ok so with my Mid 2012 MacBook Pro I successfully completed the following:
1 - Enter Recovery Mode (text mode) Command + R + S

2 - csrutil disable

3 - reboot

4 - Enter Single User mode boot up holding down the CMD and S keys

5 - Check a disk: fsck -fy

6 - mount -uw /

7 - sudo mkdir /GeForce_Kexts/

8 - sudo mv /System/Library/Extensions/GeForce*.* /GeForce_Kexts/

9 - sudo rm -rf /System/Library/Caches/com.apple.kext.caches/

10 - sudo mkdir /System/Library/Caches/com.apple.kext.caches/

11 - to update the timestamps so that new driver caches - without AMD drivers - will be definitely rebuilt sudo touch /System/Library/Extensions/

12 – sudo reboot

13 - 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.

14 - Enter Recovery Mode (text mode) Command + R + S

15 - csrutil enable

16 - reboot

17 - Open Terminal (Finder -> Applications -> Utilities -> Terminal (copy and paste) : sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

19 - Restart the system sudo shutdown -r now

Just followed these steps on a late 2011 15" MacBook pro running Sierra, and its working great. I didn't scroll down far enough to notice the kernel panics you had, but I went ahead anyway, All went off without a hitch. Had a hangup or two because of FaceTime camera for some reason after disabling SIP (likely unrelated), but eventually rebooted and seems to be working great right now. Thanks.

As I look at my iStat menu, my GPU is gone. But computer is booting and working great.. for now. ha
 
  • Like
Reactions: Brian33

vincentpoppe

macrumors newbie
Aug 20, 2017
2
0
Hello Everybody!

Thank you very much for this really helpful post!
Anyway I still have an issue when rebooting my MacBook Pro 8,2 (15-inch, Early 2011) running on Mac OS Sierra (10.12.6 (16G29)), it's always booting on the failed GPU. So, I have to start again and again with this code :

root@archiso / # cd /
root@archiso / # umount /sys/firmware/efi/efivars/
root@archiso / # mount —t efivarfs rw /sys/firmware/efi/efivars/
root@archiso / # chattr —i /sys/firmware/efi/efivars/gpu—power—prefs—fa4ce28d—b62f—4c99—9cc3—6815686e30f9
root@archiso / # rm /sys/firmware/efi/efivars/gpu—power—prefs—fa4ce28d—b62f—4c99—9cc3—6815686e30f9
root@archiso / # printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu—power—prefs—fa4ce28d—b62f—4c99—9cc3—6815686e30f9
root@archiso / # chattr +i "/sys/firmware/efi/efivars/gpu—power—prefs—fa4ce28d—b62f—4c99—9cc3—6815686e30f9"
root@archiso / # cd /
root@archiso / # umount /sys/firmware/efi/efivars/
root@archiso / # reboot

Failed_GPU_code.jpg


Please could somebody tell me what's wrong?

Plus, I had to uninstall gfxcardstatus because it caused freezing issues using Firefox or Safari (probably about HTML5 code charging). Anybody has this kind of problem with?

Thank you in advance for your help!
Cheers,

Vincent
 
Last edited:

Rob Wood

macrumors newbie
Sep 14, 2017
8
2
Hi, thx for the reply :)

i followed all the steps and got no error messages or anything. So the x3000 is moved to the new created "extensions-off" folder, so that it is not loaded. But after booting and manually loading the kext from the "off" folder it seems that only the dGPU is used and not the iGPU which kills the MBP quite quickly. I did the reset to go back to standard setting. I was just wondering if anyone had the same problem, that the wrong GPU is used only. Could it be that gfxcardstatus messed it up (i have it on auto-start after login, i always try to force the iGPU to protect the dGPU).

Did you repeat this command?
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
 

Schmye Bubbula

macrumors member
Jul 24, 2009
40
1
High Sierra validates Mac firmware weekly, alerts users to possible security issues
<quote>
A new routine in High Sierra runs automatically weekly and checks the firmware of the Mac that is installed on to check for modifications that may jeopardize the security of the machine.... The report sent to Apple excludes data stored in NVRAM. Apple will then look at the transmitted data to evaluate if there has been a malware attack —but what happens after that is not clear.
</quote>
 

shotters-nation

macrumors newbie
Oct 5, 2007
24
1
Did you repeat this command?

Hi thx for reply,
I repeated it now for the 3rd time and it finally worked ;) (I hope my MBP lasts now 1-2 yrs longer until i can replace it). Strange although i triple checked the exact command for typos - I assume it's voodoo. I always thought that there must be some kind of software-mod for not using the dGPU and after years finally AppleMacFinder et al. found a possibility. Kudos! u should make a donation option, so that every relieved MBP owner can donate 1$ :D
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.