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.

ruben78236

macrumors newbie
Jan 31, 2018
1
1
Fix for 17 inch dGPU switch issue

(Tested successfully in both “early” and “late” 2011 17 inch MacBook Pro)



This guide is based on the experience of many users (including me) while trying to fix the very well known issue with AMD dGPU on 17’’ MacBook Pro from 2011 (both early and late):



Step 0) As a starting point I made a clean installation of Sierra (Version 10.12.4) — This is just a step for establishing a common middle ground and is not really needed….

0.1) To do this just download the installer from the App Store and then use “DiskMaker X” to create a bootable installation.

0.2) After the bootable image is created, proceed to turn off your computer and hold the “Alt” or “Options” Key. Select the Sierra installer and proceed with the installation (I format the HDD partition to make a clean install on it)



Note: You might need to do this on another computer. Just buy one of those cheap usb to sata connectors and use it to connect it to another Mac so you don’t risk having your installation failed because of your machine.



Step 1) Prepare a Bootable USB pendrive with a non GUI Linux (Credits to AppleMacFinder)



1.1) Download ArchLinux ISO

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



1.2) Creating the bootable USB with the .iso:

In macOS

First, you need to identify the USB device. Open /Applications/Utilities/Terminal and list all storage devices with the command:

*) diskutil list


Your USB device will appear as something like /dev/disk2 (external, physical). Verify that this is the device you want to erase by checking its name and size and then use its identifier for the commands below instead of /dev/diskX.

A USB device is normally auto-mounted in macOS, and you have to unmount (not eject) it before block-writing to it with dd. In Terminal, do:

*) diskutil unmountDisk /dev/diskX


Now copy the ISO image file to the device. The dd command is similar to its Linux counterpart, but notice the 'r' before 'disk' for raw mode which makes the transfer much faster:

*) sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m

After completion, macOS may complain that "The disk you inserted was not readable by this computer". Select 'Ignore'. The USB device will be bootable.


Step 2) Boot to Linux (Credits to AppleMacFinder):

2.1) 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! (It takes some time so be patient and wait for the prompt)


2.2) 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).


2.2-Case 1:

If there is such a variable, its better to remove it with rm.

*) rm gpu-power-prefs-…


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) (Try this and then try to remove it):

*) cd /

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

*) mount -t efivarfs rw /sys/firmware/efi/efivars/

*) cd /sys/firmware/efi/efivars/

*) rm gpu-power-prefs-…


If this also fails (If you still can’t erase the file) use chattr command to disable file immutability and then erase the file:

*) chattr -i "/sys/firmware/efi/efivars/gpu-power-prefs-…”

*) cd /sys/firmware/efi/efivars/

*) rm gpu-power-prefs-…


2.2-Case 2:

The file gpu-power-prefs-… doesn’t exist well then you don’t have to delete it hahaha. (I repaired 2 17 inch models and 1 didn’t have it, so it’s fine)


2.3) Create a new gpu-power-prefs-… file (Original credit mentioned above, https://github.com/0xbb/gpu-switch/blob/master/gpu-switch, Credits to AppleMacFinder):

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


2.4) Add immutability to the gpu-power-prefs-… file (Credits to AppleMacFinder):

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


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


2.5) Unmount efivars and reboot (Credits to AppleMacFinder):

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

*) cd /

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

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

*) reboot


3) Eliminate AMD Kexts (Credits to newfield),
Note: You might need to do this every time you do an OS updates, since each update normally writes the AMD Kexts again.


(His words and this also happened to me!: After disabling the dGPU using Arch, normal boot would hang halfway. Although safe boot would work. I wound up having to remove all the AMD kext files in the Terminal in Recovery Console)


Trying to remove them in Single User just gave me sandbox errors. (Summary -> Don’t do it in Single User Mode the one that you boot with Cmd + S)


3.1) So what you have to do is:

If you have FileVault Unlock it first:

Unlock first.

Then Boot into Recovery (“cmd + r”, it will boot without failing, if it fails then repeat step 2 and then after that boot directly into recovery with command + R, I had to do this once because the dGPU got active again after booting into the os with AMD kexts)

*) Boot into recovery mode (Command + r)

*) Start Terminal

*) diskutil cs list (find UUID for drive)

*) diskutil coreStorage unlockVolume UUID

*) cd /Volumes/Macintosh\ HD

*) mkdir AMD_Kexts

*) mv System/Library/Extensions/AMD*.* AMD_Kexts/

*) reboot



(If you only have one storage with 1 partition just use "cd /Volumes/Macintosh\ HD" and the remaining commands after starting the terminal)


Extra STEP), if your PC is now working! Download “steveschow” branch of gfxCardStatus (gfxCardStatus v2.4.3i) or just download the app directly from:

URLS:

https://github.com/steveschow/gfxCardStatus/releases

https://github.com/steveschow/gfxCardStatus

With this application you can even prove that the dedicated GPU can't get activated. Even if you try to change the selected GPU to the dedicated one, it just won't change.


—————

The End!

AND VOILA!!! You have a working 17 inch MacBook Pro. As I said I tested this with an early 2011 and late 2011 17 inch MacBook Pro’s and both are now running (Before they were both dead)


Big thanks to AppleMacFinder, to the makers and contributors of this thread, to gfxCardStatus maker and forkers :D (steveschow) and to switch-gpu makers I can’t thank you guys enough as I am so happy to bring both of this incredible machines back to life. With this post I am not trying to take any credit, but as I had 2 machines I run into different issues with both, which could be helpful to others, thats why I was inclined to make “my own” guide and share it with you.


I just created an account here to share this, Hope it helps more people!
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!


First of all, thanks for this solution. I'm new to this forum, also not really a tech-guy, so excuse me if I'm asking a stupid question. I just walked through this explanation and it worked, my macbook is booting again. There are some things not working properly now, I can't adjust brightness, can't use external monitor. Besides that, when my screen turns black (sleep mode or whatever) I can't seem to get it out, and need to force-shutdown and reboot.


Is there something I probably did wrong?

Thanks for helping me out!

-Ruben

did this solution on a MacBook Pro 15 inch early 2011 (AMD radeon hd 6750M)

also, this following part of the solution didn't go as described, diskutil cs list didn't show my SSD, I got It through the physical diskutility and went to info.

diskutil coreStorage unlockVolume UUID (with the proper UUID), then I got a message that it was not a coreStorage. maybe that is the reason and the commands for and kexts didn't work

after that I use the command cd /Volumes/SSD (SSD is the name, not Macintosh HD). and did the 3 commands after. or is this what was meant by : (If you only have one storage with 1 partition just use "cd /Volumes/Macintosh\ HD" and the remaining commands after starting the terminal). ????


Then Boot into Recovery (“cmd + r”, it will boot without failing, if it fails then repeat step 2 and then after that boot directly into recovery with command + R, I had to do this once because the dGPU got active again after booting into the os with AMD kexts)
*) Boot into recovery mode (Command + r)
*) Start Terminal
*) diskutil cs list (find UUID for drive)
*) diskutil coreStorage unlockVolume UUID
*) cd /Volumes/Macintosh\ HD
*) mkdir AMD_Kexts
*) mv System/Library/Extensions/AMD*.* AMD_Kexts/
*) reboot
(If you only have one storage with 1 partition just use "cd /Volumes/Macintosh\ HD" and the remaining commands after starting the terminal)
 
Last edited:
  • Like
Reactions: AppleMacFinder

TheQL

macrumors newbie
Jun 16, 2009
5
2
Germany
Hi! First of all thanks for your answer!

To be clear I'll wrap this up once more!

These procedures are mandatory:
First Stage:

1 - New AMDRadeonX3000.kext put back in /System/Library/Extensions .

2 - Macbook Pro reboot, rebuild kext cache, then freeze with new AMDRadeonX3000.kext .

Currently the Mac is running after the 10.13.2 supplementary update with AMDRadeonX3000.kext in place! So I don't have to put it back. And this is why I am unsure how to proceed or at which point to enter your guide, because I don't see when the actual update is started, which would be 10.13.3 right now.

I have prepared a script in / to run and I ran it just now:
Code:
# cat force-iGPU-boot.sh
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0

I would assume I just launch the update and then the Mac will reboot and freeze, leaving me at step 3.

3 - Power off MacBook Pro -> press power button.

4 - Enter Recovery Mode Graphical (Command + R) -> Disk Utility -> mount MacOS partition -> /Volumes/MacOS -> Open Terminal in Utilities menu.

Step 4 is tricky. I usually couldn't enter any graphical modes. So I am left with "command + r + s" to perform any changes at all. But current status is already

Code:
# csrutil status
System Integrity Protection status: disabled.

so I could probably skip that. Nevertheless I then booted into single user mode, but somehow my FS wasn't available, I was stuck with some image that was mounted. So I could not move any .kext around. I was just lucky the Mac then booted with the driver in place.

5 - My example -> partition MacOS system label is MacOS -> old AMDRadeonX3000.kext in
/System/Library/Extensions-off/ .

6 - Rename old AMDRadeonX3000.kext to AMDRadeonX3000.kext.old-1 (There can not be two directories with the same name inside folder /Extensions-off. The AMDRadeonX3000.kext is a directory.

You will have these kexts names within the /Extensions-off directory at every repeat of this procedure with new updates.

AMDRadeonX3000.kext.old-1
AMDRadeonX3000.kext.old-2
AMDRadeonX3000.kext.old-3
AMDRadeonX3000.kext

AMDRadeonX3000.kext is the latest kext made by the latest update.

Code:
mv -v /Volume/MacOS/System/Library/Extensions-off/AMDRadeonX3000.kext /Volume/MacOS/System/Library/Extensions-off/AMDRadeonX3000.kext.old-1
7 - Move the new AMDRadeonX3000.kext to /Extesions-off/ .
Code:
mv -v /Volume/MacOS/System/Library/Extensions/AMDRadeonX3000.kext /Volume/MacOS/System/Library/Extensions-off/AMDRadeonX3000.kext

8 - Exit Terminal in Recovery Mode Graphical.

Assuming I make it to here alive, I don't have to re-run the nvram param before shutting down and rebooting?

9 - Open Disk Utility in Recovery Mode Graphical -> unmount MacOS system partition -> close Disk Utility.

10 - Reboot the system.

Second Stage:

1 - After reboot -> second stage of the update will be executed.

2 - Login screen -> enter user password -> open Terminal and load the new AMDRadeonX3000.kext -> decrease system temperature.
Code:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

If I'm here I am fine. I know how to get around with loading the kext after boot is complete, I have a hook prepared for that. Only really worried about not being able to move the kext away because I can't access the FS in single mode and graphical recovery doesn't open.
 
  • Like
Reactions: AppleMacFinder

JMVB

macrumors regular
May 16, 2016
186
51
After spend about 1 hour, I figure out the procedure, I have a success!!

Thank you!!




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



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



===
=== 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!
 
  • Like
Reactions: AppleMacFinder

nsgr

macrumors 6502
May 22, 2017
317
117
anyone disabled nvidia geforce gt330m in macbook pro 15 mid 2010? if yes please give me instruction, thanks

mayankk2308 (GitHub) made a script to move the Nvidia kexts.

https://github.com/mayankk2308/purge-nvda

https://github.com/mayankk2308/purge-nvda/blob/master/purge-nvda.sh
[doublepost=1517426914][/doublepost]
Hi! First of all thanks for your answer!

To be clear I'll wrap this up once more!



Currently the Mac is running after the 10.13.2 supplementary update with AMDRadeonX3000.kext in place! So I don't have to put it back. And this is why I am unsure how to proceed or at which point to enter your guide, because I don't see when the actual update is started, which would be 10.13.3 right now.

I have prepared a script in / to run and I ran it just now:
Code:
# cat force-iGPU-boot.sh
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0

I would assume I just launch the update and then the Mac will reboot and freeze, leaving me at step 3.



Step 4 is tricky. I usually couldn't enter any graphical modes. So I am left with "command + r + s" to perform any changes at all. But current status is already

Code:
# csrutil status
System Integrity Protection status: disabled.

so I could probably skip that. Nevertheless I then booted into single user mode, but somehow my FS wasn't available, I was stuck with some image that was mounted. So I could not move any .kext around. I was just lucky the Mac then booted with the driver in place.



Assuming I make it to here alive, I don't have to re-run the nvram param before shutting down and rebooting?



If I'm here I am fine. I know how to get around with loading the kext after boot is complete, I have a hook prepared for that. Only really worried about not being able to move the kext away because I can't access the FS in single mode and graphical recovery doesn't open.

Recovery Mode Graphical has to load normally after you run nvram fa4c3...30f9:gpu-power-prefs=%01%00%00%00 -> reboot -> Command + R.

AMD6000Controller.kext has no problem with nvram fa4c3...30f9:gpu-power-prefs=%01%00%00%00 .

In Recovery Mode Graphical there is no AMDRadeonX3000.kext (BaseSystem.dmg). Mac OS prohibits you load the AMDRadeonX3000.kext in Recovery Mode Graphical mode by kextload command.
Example: Try load manually AMDRadeonX3000.kext from other partition with boot Recovery Mode Graphical.

If everything occurs normally, this variable NVRAM will be stored and will be maintained after reboot and shutdown.

If you can not enter Recovery Mode Graphical try this:

Boot Single User Mode or Single User Recovery Mode - set gpu-power-prefs and gpu-active to Intel GPU:
Code:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-active=%01%00%00%00
reboot

If you are using the new APFS file system, then I recommend you move AMDRadeonX3000.kext through Recovery Mode Graphical. It loads the APFS drivers automatically.
The MacOS system partition with APFS is inside a container.

Recovery Mode Graphical -> Disk Utility -> mount MacOS partition with APFS -> close Disk Utility -> menu Utilities -> Terminal -> move AMDRadeonX3000.kext
 
Last edited:

nsgr

macrumors 6502
May 22, 2017
317
117
Tested: Macbook Pro 2011 - MacBookPro 8,2 - High Sierra 10.13.3

These codes Intel, AMD, Nvidia, etc., are only added in High Sierra (10.13) - IOFramebuffer.cpp.

The agc=9 option within the NVRAM variable boot-args decreases the GPU temperature (Istat Menu - gpu die analog - 5 Celsius or zero) after loading the AMDRadeonX3000.kext manually.

I have tested other values for agc but the temperature of the GPU does not decrease enough (Istat Menu - gpu die analog - 50 Celsius / 40 Celsius).

agc=0
also decreases the temperature but agc=9 decreases more.

I decided to test the AGC on a hunch seeing IOFramebuffer.cpp file (High Sierra 10.13.3).

Remembering this is a guess.

The agc option can only be added in Recovery Mode Graphical (Command + R) or Single User Recovery Mode(Command + R + S).
Code:
nvram boot-args="-v agc=9"


Code:
enum {
   kIOFBNotifyGroupIndex_Legacy                        = 0,
   kIOFBNotifyGroupIndex_IODisplay                     = 1,
   kIOFBNotifyGroupIndex_AppleGraphicsControl          = 2,
   kIOFBNotifyGroupIndex_AppleGraphicsPowerManagement  = 3,
   kIOFBNotifyGroupIndex_AppleHDAController            = 4,
   kIOFBNotifyGroupIndex_AppleIOAccelDisplayPipe       = 5,
   kIOFBNotifyGroupIndex_AppleMCCSControl              = 6,
   kIOFBNotifyGroupIndex_VendorIntel                   = 7,
   kIOFBNotifyGroupIndex_VendorNVIDIA                  = 8,
   kIOFBNotifyGroupIndex_VendorAMD                     = 9,
   kIOFBNotifyGroupIndex_ThirdParty                    = 10,
   // Must be last
    kIOFBNotifyGroupIndex_LastIndex                     = kIOFBNotifyGroupIndex_ThirdParty,
   kIOFBNotifyGroupIndex_NumberOfGroups                = (kIOFBNotifyGroupIndex_LastIndex + 1)
};

https://opensource.apple.com/source.../IOGraphicsFamily/IOFramebuffer.cpp.auto.html
 
Last edited:
  • Like
Reactions: AppleMacFinder

ChrisKins

macrumors newbie
Jan 26, 2018
18
10
Did anyone install the latest version of macOS High Sierra 10.13.3 and get locked out again? UGH!!! Do I have to repeat this process all over again?
 
  • Like
Reactions: AppleMacFinder

Bill Saviers

macrumors newbie
Jan 26, 2018
2
1
Mikey N:
I make it down to /sbin/mount -uw /. Then I get the message: disk2s1: devise is write locked. And then: disk2s1: IO failed, error = 13.
I’m puzzled what to do next. I did try the Arch Linux attempt and it booted up good one time and then when a security upgrade downloaded and rebooted I was back to the white screen. So I tried your method, but didn’t make it through the whole routine.

Sorry to bother you, but I’m not a programmer but understand enough to screw up stuff....smile.

Thanks.
 
  • Like
Reactions: AppleMacFinder

norge5

macrumors newbie
Feb 1, 2018
1
1
Alternative 2:

- Boot at Single User Mode (Command + S) and:
Code:
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
nvram boot-args="-v"

Follow The Guide MikeN - #875

This method works like a charm on Macbook Retina 2013 wirh NVIDIA Card with macOS 10.12 installed
Even more, my nvram prefs were ruined by Photo application (nvidia kexts were in their original places at that time), but occasionally Screen sharing was turned on, so I managed to type
Code:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
from remote computer directly in terminal, and macbook was alive on the next startup.
I wonder if (and how) can I put this string (sudo nvram.. ) into a LaunchDaemon folder on every startup, just in case of future system updates?
 
Last edited:
  • Like
Reactions: AppleMacFinder

bestshotUK

macrumors newbie
Feb 1, 2018
1
1
So i have tried this and after a little bit of sorting i got this to work.
I rebooted and tested my Mac 8,2 using programs that i knew would try and switch to the discreet gpu and what do you know it did not switch, well chuffed, but hold on!
I ran 2 programs later for ***** and giggles and what do you know its back to switching again, so i shut down and went back to see if my power prefs had changed and they had not, everything was as i had left it but now when i boot the gpus switch, what is going on here.
The 2 programs i used were gfxcardstatus and Photoshop.
Does the gfx-saved-config-restore-status need sorting?
Help
 
  • Like
Reactions: AppleMacFinder

ChrisKins

macrumors newbie
Jan 26, 2018
18
10
@AppleMacFinder so it looks like my 2011 MacBook Pro is locked up again. After foolishly installing the 10.13.3 combo update yesterday, my computer is back to freezing me out when I boot normally. It works ok in Safe Mode and Recovery Mode.

So, I went back and disabled SIP, tried removing the AMD drivers and caches but it said my drive was read-only. I went ahead and booted in ArchLinux and after 30 seconds it said my device did not show up. When I boot into safe mode the AMD_Kexts folder with all the drivers are still there and checking the gpu-power-prefs file in ArchLinux shows that the file I created is still there as well.

So, now I'm stuck and have no idea what to do. Any ideas?
 
  • Like
Reactions: AppleMacFinder

Swapnilsagarwal

macrumors newbie
Jul 13, 2010
11
2
Hi,
My Macbook Pro 2011 was on 10.13 in September when it died on me (just 3 days after I went High Sierra). However since then I have been using the Page 35 Post 875 Mikey N's Guide to successfully work. I install all updates and after each major one rerun the process again and it has been working without fail.

Everything works - Sleep, Hibernate, Brightness, Keyboard Backlight Etc etc.

Now I updated to 13.3.3 on 25th Jan and again everything was working fine, I have rebooted coupla times since then and it was all perfect. (Obviously had to do NVRAM and Moving Kext Process again.)

However now yesterday on rebooting I got some kind of a Kernel Panic and Grey Screen on booting which says "Your Computer restarted because of a problem press any key to continue starting up". Any now I am stuck here. It continues to give me this message no matter what I do.

Safe Mode works just fine. I have been able to download the kernel Panic and its pasted below, I dont understand it much, it seems to be something to do with GPU itself.

Any help is much appreciated

Code:
Anonymous UUID:       2C3DD95E-1719-C79D-F449-1AE72C0A88B1

Fri Feb  2 08:49:41 2018

*** Panic Report ***
panic(cpu 6 caller 0xffffff7f8a6099e9): "GPU Panic: mux-regs 2 0 1 0 0 0 severity 3 WS-ready 0 switch-state 0 IG FBs 1 EG FBs 0:0 power-state 0 3D idle HDA idle : UH    eHlPH
E0L    H(L    @ H    HH
u: GPU is not found. PCI config access fails!!!
\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.16.21/src/AppleMuxControl/kext/GPUPanic.cpp:162
Backtrace (CPU 6), Frame : Return Address
0xffffff9118603720 : 0xffffff800824f606
0xffffff9118603770 : 0xffffff800837c654
0xffffff91186037b0 : 0xffffff800836e149
0xffffff9118603830 : 0xffffff8008201120
0xffffff9118603850 : 0xffffff800824f03c
0xffffff9118603980 : 0xffffff800824edbc
0xffffff91186039e0 : 0xffffff7f8a6099e9
0xffffff9118603a40 : 0xffffff7f8a618d53
0xffffff9118603a70 : 0xffffff7f8aeb9eb9
0xffffff9118603aa0 : 0xffffff7f8aeba05d
0xffffff9118603ad0 : 0xffffff7f8b677f99
0xffffff9118603b40 : 0xffffff7f8b66ce79
0xffffff9118603bb0 : 0xffffff7f8a573940
0xffffff9118603c30 : 0xffffff7f8b66c4c8
0xffffff9118603c70 : 0xffffff7f8a56b158
0xffffff9118603cc0 : 0xffffff800886428f
0xffffff9118603d10 : 0xffffff80088c0463
0xffffff9118603d70 : 0xffffff8008328342
0xffffff9118603dc0 : 0xffffff8008254c40
0xffffff9118603e10 : 0xffffff8008231cbd
0xffffff9118603e60 : 0xffffff8008244b7b
0xffffff9118603ef0 : 0xffffff800835857d
0xffffff9118603fa0 : 0xffffff8008201926
      Kernel Extensions in backtrace:
         com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000->0xffffff7f8a5a2fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
         com.apple.driver.AppleMuxControl(3.16.21)[B4DB1D7A-D4DE-3965-94DC-05CE8B9F2802]@0xffffff7f8a5fb000->0xffffff7f8a60dfff
            dependency: com.apple.driver.AppleGraphicsControl(3.16.21)[2EB9A384-439B-3BDC-927C-34E390CB0E59]@0xffffff7f8a5ee000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.AppleGraphicsDeviceControl(3.16.21)[F8503E88-24EF-3DBA-A4D6-FA1CE4C47427]@0xffffff7f8a5f1000
         com.apple.kext.AMDLegacySupport(1.6)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000->0xffffff7f8a735fff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
         com.apple.kext.AMD6000Controller(1.6)[20C07AFC-249A-387D-9F54-CECD9B14B762]@0xffffff7f8ae9c000->0xffffff7f8afc9fff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.kext.AMDLegacySupport(1.6.0)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000
         com.apple.kext.AMDLegacyFramebuffer(1.6)[153C1052-E16D-3E8B-9747-E394CF3DF0C3]@0xffffff7f8b66b000->0xffffff7f8b68cfff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.kext.AMDLegacySupport(1.6.0)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000

BSD process name corresponding to current thread: WindowServer

Mac OS version:
17D47

Kernel version:
Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64
Kernel UUID: 18D901F1-4A03-3FF1-AE34-C26B2732F13C
Kernel slide:     0x0000000007e00000
Kernel text base: 0xffffff8008000000
__HIB  text base: 0xffffff8007f00000
System model name: MacBookPro8,2 (Mac-94245A3940C91C80)

System uptime in nanoseconds: 91068510828
last loaded kext at 87392142368: com.apple.filesystems.autofs    3.0 (addr 0xffffff7f8b75b000, size 45056)
last unloaded kext at 45410355170: com.apple.driver.AppleIRController    352 (addr 0xffffff7f8a4bf000, size 28672)
loaded kexts:
com.avatron.AVExFramebuffer    1.7
com.globaldelight.driver.Boom2Device    1.1
com.kairos.driver.DuetDisplay    2
com.iospirit.driver.rbiokithelper    1.32
io.github.blackgate.AMDGPUWakeHandler    1
com.logmein.driver.LogMeInSoundDriver    4.1.67f95
com.Cycling74.driver.Soundflower    1.6.7
com.globaldelight.driver.BoomDevice    1.1
com.cleverandson.driver.XAerial    1.0.0
com.avatron.AVExVideo    1.7
com.intel.driver.EnergyDriver    2.0
com.paragon-software.filesystems.ntfs    70.1.15
expressvpn.tun    1.0
jp.plentycom.driver.SteerMouse    4.1.3
com.iospirit.CandelairIRBaseDriver    1
at.obdev.nke.LittleSnitch    5094
com.seagate.driver.PowSecDriverCore    5.1.1
com.apple.filesystems.autofs    3.0
com.apple.driver.AppleGraphicsDevicePolicy    3.16.21
com.apple.AGDCPluginDisplayMetrics    3.16.2
com.apple.driver.AppleHV    1
com.apple.driver.AudioAUUC    1.70
com.apple.iokit.IOUserEthernet    1.0.1
com.apple.iokit.IOBluetoothSerialManager    6.0.2f2
com.apple.driver.pmtelemetry    1
com.apple.Dont_Steal_Mac_OS_X    7.0.0
com.apple.kext.AMDLegacyFramebuffer    1.6.0
com.apple.driver.AppleMikeyHIDDriver    131
com.apple.driver.AppleUpstreamUserClient    3.6.4
com.apple.driver.ApplePolicyControl    3.16.21
com.apple.driver.AppleHDAHardwareConfigDriver    280.12
com.apple.driver.AGDCBacklightControl    3.16.2
com.apple.driver.AppleMikeyDriver    280.12
com.apple.driver.AppleIntelHD3000Graphics    10.0.4
com.apple.driver.AppleTyMCEDriver    1.0.3d2
com.apple.driver.AGPM    110.23.30
com.apple.driver.AppleHDA    280.12
com.apple.driver.AirPort.Brcm4331    800.21.30
com.apple.driver.AppleBacklight    170.10.2
com.apple.driver.eficheck    1
com.apple.kext.AMD6000Controller    1.6.0
com.apple.driver.AppleThunderboltIP    3.1.1
com.apple.iokit.AppleBCM5701Ethernet    10.3.1
com.apple.driver.AirPort.Brcm4360    1220.18.1a2
com.apple.driver.AppleMCCSControl    1.5.3
com.apple.iokit.IOBluetoothUSBDFU    6.0.2f2
com.apple.driver.AppleLPC    3.1
com.apple.driver.AppleSMCPDRC    1.0.0
com.apple.driver.AppleMuxControl    3.16.21
com.apple.driver.SMCMotionSensor    3.0.4d1
com.apple.driver.AppleOSXWatchdog    1
com.apple.driver.AppleIntelSNBGraphicsFB    10.0.4
com.apple.driver.AppleSMCLMU    211
com.apple.driver.ACPI_SMC_PlatformPlugin    1.0.0
com.apple.driver.AppleIntelSlowAdaptiveClocking    4.0.0
com.apple.driver.AppleFIVRDriver    4.1.0
com.apple.driver.AppleUSBTCKeyEventDriver    254
com.apple.driver.AppleUSBTCKeyboard    254
com.apple.filesystems.apfs    748.41.3
com.apple.driver.AppleFileSystemDriver    3.0.1
com.apple.filesystems.hfs.kext    407.30.1
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless    1.0.0d1
com.apple.BootCache    40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib    1.0.0
com.apple.driver.AppleSDXC    1.7.6
com.apple.driver.AppleFWOHCI    5.5.8
com.apple.driver.AppleAHCIPort    329
com.apple.driver.AppleSmartBatteryManager    161.0.0
com.apple.driver.AppleRTC    2.0
com.apple.driver.AppleACPIButtons    6.1
com.apple.driver.AppleHPET    1.8
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleACPIEC    6.1
com.apple.driver.AppleAPIC    1.7
com.apple.driver.AppleIntelCPUPowerManagementClient    220.0.0
com.apple.nke.applicationfirewall    183
com.apple.security.TMSafetyNet    8
com.apple.security.quarantine    3
com.apple.IOBufferCopyEngineTest    1
com.apple.driver.AppleIntelCPUPowerManagement    220.0.0
com.apple.kext.triggers    1.0
com.apple.driver.AppleSSE    1.0
com.apple.iokit.IOSurface    209.2.2
com.apple.iokit.IOSerialFamily    11
com.apple.kext.AMDSupport    1.6.0
com.apple.AppleGPUWrangler    3.16.2
com.apple.driver.DspFuncLib    280.12
com.apple.kext.OSvKernDSPLib    526
com.apple.driver.AppleBacklightExpert    1.1.0
com.apple.iokit.IONDRVSupport    517.22
com.apple.driver.AppleHDAController    280.12
com.apple.iokit.IOHDAFamily    280.12
com.apple.iokit.IOAudioFamily    206.5
com.apple.vecLib.kext    1.2.0
com.apple.iokit.IOEthernetAVBController    1.1.0
com.apple.iokit.IO80211Family    1200.12.2
com.apple.driver.mDNSOffloadUserClient    1.0.1b8
com.apple.driver.corecapture    1.0.4
com.apple.driver.AppleSMBusController    1.0.18d1
com.apple.kext.AMDLegacySupport    1.6.0
com.apple.driver.AppleSMBusPCI    1.0.14d1
com.apple.AppleGraphicsDeviceControl    3.16.21
com.apple.driver.AppleGraphicsControl    3.16.21
com.apple.iokit.IOFireWireIP    2.2.8
com.apple.iokit.IOGraphicsFamily    517.22
com.apple.driver.IOPlatformPluginLegacy    1.0.0
com.apple.driver.IOPlatformPluginFamily    6.0.0d8
com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0
com.apple.driver.AppleThunderboltEDMSink    4.1.2
com.apple.driver.AppleThunderboltDPOutAdapter    5.0.2
com.apple.driver.usb.cdc.ecm    5.0.0
com.apple.driver.usb.cdc.ncm    5.0.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport    6.0.2f2
com.apple.iokit.IOBluetoothHostControllerUSBTransport    6.0.2f2
com.apple.iokit.IOBluetoothHostControllerTransport    6.0.2f2
com.apple.driver.IOBluetoothHIDDriver    6.0.2f2
com.apple.iokit.IOBluetoothFamily    6.0.2f2
com.apple.driver.AppleUSBMultitouch    261
com.apple.iokit.IOUSBHIDDriver    900.4.1
com.apple.driver.usb.IOUSBHostHIDDevice    1.2
com.apple.driver.usb.cdc    5.0.0
com.apple.driver.usb.networking    5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2
com.apple.filesystems.hfs.encodings.kext    1
com.apple.driver.usb.AppleUSBHub    1.2
com.apple.driver.AppleThunderboltDPInAdapter    5.0.2
com.apple.driver.AppleThunderboltDPAdapterFamily    5.0.2
com.apple.driver.AppleThunderboltPCIDownAdapter    2.1.3
com.apple.driver.AppleXsanScheme    3
com.apple.iokit.IOAHCIBlockStorage    301.40.2
com.apple.iokit.IOFireWireSBP2    4.2.7
com.apple.driver.AppleThunderboltNHI    4.5.6
com.apple.iokit.IOThunderboltFamily    6.6.3
com.apple.driver.AppleUSBMergeNub    900.4.1
com.apple.driver.usb.AppleUSBHostPacketFilter    1.0
com.apple.iokit.IOUSBFamily    900.4.1
com.apple.iokit.IOFireWireFamily    4.6.8
com.apple.driver.AppleUSBHostMergeProperties    1.2
com.apple.iokit.IOAHCIFamily    288
com.apple.driver.usb.AppleUSBEHCIPCI    1.2
com.apple.driver.usb.AppleUSBUHCIPCI    1.2
com.apple.driver.usb.AppleUSBUHCI    1.2
com.apple.driver.usb.AppleUSBEHCI    1.2
com.apple.driver.AppleEFINVRAM    2.1
com.apple.driver.AppleEFIRuntime    2.1
com.apple.iokit.IOHIDFamily    2.0.0
com.apple.iokit.IOSMBusFamily    1.1
com.apple.security.sandbox    300.0
com.apple.kext.AppleMatch    1.0.0d1
com.apple.iokit.IOBufferCopyEngineFamily    1
com.apple.driver.DiskImages    480.30.2
com.apple.driver.AppleFDEKeyStore    28.30
com.apple.driver.AppleEffaceableStorage    1.0
com.apple.driver.AppleKeyStore    2
com.apple.driver.AppleUSBTDM    439.30.4
com.apple.driver.AppleMobileFileIntegrity    1.0.5
com.apple.iokit.IOUSBMassStorageDriver    140.30.1
com.apple.iokit.IOSCSIBlockCommandsDevice    404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily    404.30.2
com.apple.iokit.IOStorageFamily    2.1
com.apple.driver.AppleCredentialManager    1.0
com.apple.driver.KernelRelayHost    1
com.apple.iokit.IOUSBHostFamily    1.2
com.apple.driver.usb.AppleUSBCommon    1.0
com.apple.driver.AppleBusPowerController    1.0
com.apple.driver.AppleSEPManager    1.0.1
com.apple.driver.IOSlaveProcessor    1
com.apple.iokit.IOTimeSyncFamily    650.5
com.apple.iokit.IONetworkingFamily    3.4
com.apple.iokit.IOReportFamily    31
com.apple.driver.AppleAC



EOF
 
  • Like
Reactions: AppleMacFinder

nsgr

macrumors 6502
May 22, 2017
317
117
This method works like a charm on Macbook Retina 2013 wirh NVIDIA Card with macOS 10.12 installed
Even more, my nvram prefs were ruined by Photo application (nvidia kexts were in their original places at that time), but occasionally Screen sharing was turned on, so I managed to type
Code:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
from remote computer directly in terminal, and macbook was alive on the next startup.
I wonder if (and how) can I put this string (sudo nvram.. ) into a LaunchDaemon folder on every startup, just in case of future system updates?

You can modify The Guide MikeN's #875 LoginHook to run the command nvram fa4ce...30f9:gpu-power-prefs=%01%00%00%00

LoginHook runs as the root user (system administrator). You do not need the sudo command.
Code:
#!/bin/bash
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
exit 0
[doublepost=1517546503][/doublepost]
Hi,
My Macbook Pro 2011 was on 10.13 in September when it died on me (just 3 days after I went High Sierra). However since then I have been using the Page 35 Post 875 Mikey N's Guide to successfully work. I install all updates and after each major one rerun the process again and it has been working without fail.

Everything works - Sleep, Hibernate, Brightness, Keyboard Backlight Etc etc.

Now I updated to 13.3.3 on 25th Jan and again everything was working fine, I have rebooted coupla times since then and it was all perfect. (Obviously had to do NVRAM and Moving Kext Process again.)

However now yesterday on rebooting I got some kind of a Kernel Panic and Grey Screen on booting which says "Your Computer restarted because of a problem press any key to continue starting up". Any now I am stuck here. It continues to give me this message no matter what I do.

Safe Mode works just fine. I have been able to download the kernel Panic and its pasted below, I dont understand it much, it seems to be something to do with GPU itself.

Any help is much appreciated

Code:
Anonymous UUID:       2C3DD95E-1719-C79D-F449-1AE72C0A88B1

Fri Feb  2 08:49:41 2018

*** Panic Report ***
panic(cpu 6 caller 0xffffff7f8a6099e9): "GPU Panic: mux-regs 2 0 1 0 0 0 severity 3 WS-ready 0 switch-state 0 IG FBs 1 EG FBs 0:0 power-state 0 3D idle HDA idle : UH    eHlPH
E0L    H(L    @ H    HH
u: GPU is not found. PCI config access fails!!!
\n"@/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.16.21/src/AppleMuxControl/kext/GPUPanic.cpp:162
Backtrace (CPU 6), Frame : Return Address
0xffffff9118603720 : 0xffffff800824f606
0xffffff9118603770 : 0xffffff800837c654
0xffffff91186037b0 : 0xffffff800836e149
0xffffff9118603830 : 0xffffff8008201120
0xffffff9118603850 : 0xffffff800824f03c
0xffffff9118603980 : 0xffffff800824edbc
0xffffff91186039e0 : 0xffffff7f8a6099e9
0xffffff9118603a40 : 0xffffff7f8a618d53
0xffffff9118603a70 : 0xffffff7f8aeb9eb9
0xffffff9118603aa0 : 0xffffff7f8aeba05d
0xffffff9118603ad0 : 0xffffff7f8b677f99
0xffffff9118603b40 : 0xffffff7f8b66ce79
0xffffff9118603bb0 : 0xffffff7f8a573940
0xffffff9118603c30 : 0xffffff7f8b66c4c8
0xffffff9118603c70 : 0xffffff7f8a56b158
0xffffff9118603cc0 : 0xffffff800886428f
0xffffff9118603d10 : 0xffffff80088c0463
0xffffff9118603d70 : 0xffffff8008328342
0xffffff9118603dc0 : 0xffffff8008254c40
0xffffff9118603e10 : 0xffffff8008231cbd
0xffffff9118603e60 : 0xffffff8008244b7b
0xffffff9118603ef0 : 0xffffff800835857d
0xffffff9118603fa0 : 0xffffff8008201926
      Kernel Extensions in backtrace:
         com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000->0xffffff7f8a5a2fff
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
         com.apple.driver.AppleMuxControl(3.16.21)[B4DB1D7A-D4DE-3965-94DC-05CE8B9F2802]@0xffffff7f8a5fb000->0xffffff7f8a60dfff
            dependency: com.apple.driver.AppleGraphicsControl(3.16.21)[2EB9A384-439B-3BDC-927C-34E390CB0E59]@0xffffff7f8a5ee000
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.AppleGraphicsDeviceControl(3.16.21)[F8503E88-24EF-3DBA-A4D6-FA1CE4C47427]@0xffffff7f8a5f1000
         com.apple.kext.AMDLegacySupport(1.6)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000->0xffffff7f8a735fff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
         com.apple.kext.AMD6000Controller(1.6)[20C07AFC-249A-387D-9F54-CECD9B14B762]@0xffffff7f8ae9c000->0xffffff7f8afc9fff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.kext.AMDLegacySupport(1.6.0)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000
         com.apple.kext.AMDLegacyFramebuffer(1.6)[153C1052-E16D-3E8B-9747-E394CF3DF0C3]@0xffffff7f8b66b000->0xffffff7f8b68cfff
            dependency: com.apple.iokit.IOACPIFamily(1.4)[8794C760-FDD9-3664-ADED-4A9BBEC6E517]@0xffffff7f88f3f000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[8E6C654E-4A8F-3C6B-BBFE-BA8A68C9C146]@0xffffff7f88a94000
            dependency: com.apple.iokit.IOGraphicsFamily(517.22)[2AEA02BF-2A38-3674-A187-E5F610FD65B7]@0xffffff7f8a55c000
            dependency: com.apple.kext.AMDLegacySupport(1.6.0)[595D9BF9-EC9E-3441-A191-3446E3CF78AA]@0xffffff7f8a614000

BSD process name corresponding to current thread: WindowServer

Mac OS version:
17D47

Kernel version:
Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64
Kernel UUID: 18D901F1-4A03-3FF1-AE34-C26B2732F13C
Kernel slide:     0x0000000007e00000
Kernel text base: 0xffffff8008000000
__HIB  text base: 0xffffff8007f00000
System model name: MacBookPro8,2 (Mac-94245A3940C91C80)

System uptime in nanoseconds: 91068510828
last loaded kext at 87392142368: com.apple.filesystems.autofs    3.0 (addr 0xffffff7f8b75b000, size 45056)
last unloaded kext at 45410355170: com.apple.driver.AppleIRController    352 (addr 0xffffff7f8a4bf000, size 28672)
loaded kexts:
com.avatron.AVExFramebuffer    1.7
com.globaldelight.driver.Boom2Device    1.1
com.kairos.driver.DuetDisplay    2
com.iospirit.driver.rbiokithelper    1.32
io.github.blackgate.AMDGPUWakeHandler    1
com.logmein.driver.LogMeInSoundDriver    4.1.67f95
com.Cycling74.driver.Soundflower    1.6.7
com.globaldelight.driver.BoomDevice    1.1
com.cleverandson.driver.XAerial    1.0.0
com.avatron.AVExVideo    1.7
com.intel.driver.EnergyDriver    2.0
com.paragon-software.filesystems.ntfs    70.1.15
expressvpn.tun    1.0
jp.plentycom.driver.SteerMouse    4.1.3
com.iospirit.CandelairIRBaseDriver    1
at.obdev.nke.LittleSnitch    5094
com.seagate.driver.PowSecDriverCore    5.1.1
com.apple.filesystems.autofs    3.0
com.apple.driver.AppleGraphicsDevicePolicy    3.16.21
com.apple.AGDCPluginDisplayMetrics    3.16.2
com.apple.driver.AppleHV    1
com.apple.driver.AudioAUUC    1.70
com.apple.iokit.IOUserEthernet    1.0.1
com.apple.iokit.IOBluetoothSerialManager    6.0.2f2
com.apple.driver.pmtelemetry    1
com.apple.Dont_Steal_Mac_OS_X    7.0.0
com.apple.kext.AMDLegacyFramebuffer    1.6.0
com.apple.driver.AppleMikeyHIDDriver    131
com.apple.driver.AppleUpstreamUserClient    3.6.4
com.apple.driver.ApplePolicyControl    3.16.21
com.apple.driver.AppleHDAHardwareConfigDriver    280.12
com.apple.driver.AGDCBacklightControl    3.16.2
com.apple.driver.AppleMikeyDriver    280.12
com.apple.driver.AppleIntelHD3000Graphics    10.0.4
com.apple.driver.AppleTyMCEDriver    1.0.3d2
com.apple.driver.AGPM    110.23.30
com.apple.driver.AppleHDA    280.12
com.apple.driver.AirPort.Brcm4331    800.21.30
com.apple.driver.AppleBacklight    170.10.2
com.apple.driver.eficheck    1
com.apple.kext.AMD6000Controller    1.6.0
com.apple.driver.AppleThunderboltIP    3.1.1
com.apple.iokit.AppleBCM5701Ethernet    10.3.1
com.apple.driver.AirPort.Brcm4360    1220.18.1a2
com.apple.driver.AppleMCCSControl    1.5.3
com.apple.iokit.IOBluetoothUSBDFU    6.0.2f2
com.apple.driver.AppleLPC    3.1
com.apple.driver.AppleSMCPDRC    1.0.0
com.apple.driver.AppleMuxControl    3.16.21
com.apple.driver.SMCMotionSensor    3.0.4d1
com.apple.driver.AppleOSXWatchdog    1
com.apple.driver.AppleIntelSNBGraphicsFB    10.0.4
com.apple.driver.AppleSMCLMU    211
com.apple.driver.ACPI_SMC_PlatformPlugin    1.0.0
com.apple.driver.AppleIntelSlowAdaptiveClocking    4.0.0
com.apple.driver.AppleFIVRDriver    4.1.0
com.apple.driver.AppleUSBTCKeyEventDriver    254
com.apple.driver.AppleUSBTCKeyboard    254
com.apple.filesystems.apfs    748.41.3
com.apple.driver.AppleFileSystemDriver    3.0.1
com.apple.filesystems.hfs.kext    407.30.1
com.apple.AppleFSCompression.AppleFSCompressionTypeDataless    1.0.0d1
com.apple.BootCache    40
com.apple.AppleFSCompression.AppleFSCompressionTypeZlib    1.0.0
com.apple.driver.AppleSDXC    1.7.6
com.apple.driver.AppleFWOHCI    5.5.8
com.apple.driver.AppleAHCIPort    329
com.apple.driver.AppleSmartBatteryManager    161.0.0
com.apple.driver.AppleRTC    2.0
com.apple.driver.AppleACPIButtons    6.1
com.apple.driver.AppleHPET    1.8
com.apple.driver.AppleSMBIOS    2.1
com.apple.driver.AppleACPIEC    6.1
com.apple.driver.AppleAPIC    1.7
com.apple.driver.AppleIntelCPUPowerManagementClient    220.0.0
com.apple.nke.applicationfirewall    183
com.apple.security.TMSafetyNet    8
com.apple.security.quarantine    3
com.apple.IOBufferCopyEngineTest    1
com.apple.driver.AppleIntelCPUPowerManagement    220.0.0
com.apple.kext.triggers    1.0
com.apple.driver.AppleSSE    1.0
com.apple.iokit.IOSurface    209.2.2
com.apple.iokit.IOSerialFamily    11
com.apple.kext.AMDSupport    1.6.0
com.apple.AppleGPUWrangler    3.16.2
com.apple.driver.DspFuncLib    280.12
com.apple.kext.OSvKernDSPLib    526
com.apple.driver.AppleBacklightExpert    1.1.0
com.apple.iokit.IONDRVSupport    517.22
com.apple.driver.AppleHDAController    280.12
com.apple.iokit.IOHDAFamily    280.12
com.apple.iokit.IOAudioFamily    206.5
com.apple.vecLib.kext    1.2.0
com.apple.iokit.IOEthernetAVBController    1.1.0
com.apple.iokit.IO80211Family    1200.12.2
com.apple.driver.mDNSOffloadUserClient    1.0.1b8
com.apple.driver.corecapture    1.0.4
com.apple.driver.AppleSMBusController    1.0.18d1
com.apple.kext.AMDLegacySupport    1.6.0
com.apple.driver.AppleSMBusPCI    1.0.14d1
com.apple.AppleGraphicsDeviceControl    3.16.21
com.apple.driver.AppleGraphicsControl    3.16.21
com.apple.iokit.IOFireWireIP    2.2.8
com.apple.iokit.IOGraphicsFamily    517.22
com.apple.driver.IOPlatformPluginLegacy    1.0.0
com.apple.driver.IOPlatformPluginFamily    6.0.0d8
com.apple.iokit.IOSlowAdaptiveClockingFamily    1.0.0
com.apple.driver.AppleThunderboltEDMSink    4.1.2
com.apple.driver.AppleThunderboltDPOutAdapter    5.0.2
com.apple.driver.usb.cdc.ecm    5.0.0
com.apple.driver.usb.cdc.ncm    5.0.0
com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport    6.0.2f2
com.apple.iokit.IOBluetoothHostControllerUSBTransport    6.0.2f2
com.apple.iokit.IOBluetoothHostControllerTransport    6.0.2f2
com.apple.driver.IOBluetoothHIDDriver    6.0.2f2
com.apple.iokit.IOBluetoothFamily    6.0.2f2
com.apple.driver.AppleUSBMultitouch    261
com.apple.iokit.IOUSBHIDDriver    900.4.1
com.apple.driver.usb.IOUSBHostHIDDevice    1.2
com.apple.driver.usb.cdc    5.0.0
com.apple.driver.usb.networking    5.0.0
com.apple.driver.usb.AppleUSBHostCompositeDevice    1.2
com.apple.filesystems.hfs.encodings.kext    1
com.apple.driver.usb.AppleUSBHub    1.2
com.apple.driver.AppleThunderboltDPInAdapter    5.0.2
com.apple.driver.AppleThunderboltDPAdapterFamily    5.0.2
com.apple.driver.AppleThunderboltPCIDownAdapter    2.1.3
com.apple.driver.AppleXsanScheme    3
com.apple.iokit.IOAHCIBlockStorage    301.40.2
com.apple.iokit.IOFireWireSBP2    4.2.7
com.apple.driver.AppleThunderboltNHI    4.5.6
com.apple.iokit.IOThunderboltFamily    6.6.3
com.apple.driver.AppleUSBMergeNub    900.4.1
com.apple.driver.usb.AppleUSBHostPacketFilter    1.0
com.apple.iokit.IOUSBFamily    900.4.1
com.apple.iokit.IOFireWireFamily    4.6.8
com.apple.driver.AppleUSBHostMergeProperties    1.2
com.apple.iokit.IOAHCIFamily    288
com.apple.driver.usb.AppleUSBEHCIPCI    1.2
com.apple.driver.usb.AppleUSBUHCIPCI    1.2
com.apple.driver.usb.AppleUSBUHCI    1.2
com.apple.driver.usb.AppleUSBEHCI    1.2
com.apple.driver.AppleEFINVRAM    2.1
com.apple.driver.AppleEFIRuntime    2.1
com.apple.iokit.IOHIDFamily    2.0.0
com.apple.iokit.IOSMBusFamily    1.1
com.apple.security.sandbox    300.0
com.apple.kext.AppleMatch    1.0.0d1
com.apple.iokit.IOBufferCopyEngineFamily    1
com.apple.driver.DiskImages    480.30.2
com.apple.driver.AppleFDEKeyStore    28.30
com.apple.driver.AppleEffaceableStorage    1.0
com.apple.driver.AppleKeyStore    2
com.apple.driver.AppleUSBTDM    439.30.4
com.apple.driver.AppleMobileFileIntegrity    1.0.5
com.apple.iokit.IOUSBMassStorageDriver    140.30.1
com.apple.iokit.IOSCSIBlockCommandsDevice    404.30.2
com.apple.iokit.IOSCSIArchitectureModelFamily    404.30.2
com.apple.iokit.IOStorageFamily    2.1
com.apple.driver.AppleCredentialManager    1.0
com.apple.driver.KernelRelayHost    1
com.apple.iokit.IOUSBHostFamily    1.2
com.apple.driver.usb.AppleUSBCommon    1.0
com.apple.driver.AppleBusPowerController    1.0
com.apple.driver.AppleSEPManager    1.0.1
com.apple.driver.IOSlaveProcessor    1
com.apple.iokit.IOTimeSyncFamily    650.5
com.apple.iokit.IONetworkingFamily    3.4
com.apple.iokit.IOReportFamily    31
com.apple.driver.AppleAC

OF

You are using kext io.github.blackgate.AMDGPUWakeHandler.

Code:
loaded kexts:
io.github.blackgate.AMDGPUWakeHandler    1

You would have to ask the developer of this kext to see if there is a solution.

If you have forgotten this AMDGPUWakeHandler.kext, then you should move it. This kext has to be used only with GRUB Solution.

WARNING: This kext should only be used with the GRUB solution in place, otherwise it will kernel panic.
https://forums.macrumors.com/thread...-on-a-2011-macbook-pro-grub-solution.2087527/
 
Last edited:
  • Like
Reactions: AppleMacFinder

Swapnilsagarwal

macrumors newbie
Jul 13, 2010
11
2
Awesome Thanks a lot @nsgr
Got it to boot normally.

Funny thing is I have had that Kext in place since november when I played with Grub Method,
It seemed more elegant, but gave up after all tries failed to make sleep work.

Wondering what made it act up now after 2 months and numerous restarts.
 
  • Like
Reactions: AppleMacFinder

nsgr

macrumors 6502
May 22, 2017
317
117
Awesome Thanks a lot @nsgr
Got it to boot normally.

Funny thing is I have had that Kext in place since november when I played with Grub Method,
It seemed more elegant, but gave up after all tries failed to make sleep work.

Wondering what made it act up now after 2 months and numerous restarts.

"Wondering what made it act up now after 2 months and numerous restarts."

Maybe you were able to start normally because of the SIP Enable (with AMDGPUWakeHandler.kext inside /System/Library/Extensions). With SIP enable, only the signed kexts are loaded.

AMDGPUWakeHandler is unsigned kext.

In these latest boots with HighSierra you should have disabled the SIP to move the AMDRadeonX3000.kext and with that enabled the loading of the unsigned kext AMDGPUWakeHandler.kext.

Theoretically you would not need to remove the AMDGPUWakeHandler.kext from /System/Library/Extensions. All you have to do is to use the SIP Enable to not load this AMDGPUWakeHandler.kext during boot.
 
Last edited:
  • Like
Reactions: AppleMacFinder

thetman

macrumors member
Dec 30, 2003
45
2
Thanks to everyone who has been working on this. I managed to resurrect a MacBook early 2011 using the instructions posted. Because I was working with a clean hard drive and no other Mac, I had to take an alternate route to getting 10.12 Sierra installed and I believe some of my issues are a result of using this method but I don't have a solution yet.

My steps:
Downloaded a VMware image of OS X 10.13, then ran it in a Windows host with VMWare Workstation 14. Once I had that up and running, I created a second VM and attached the virtual hard drive and used Clonezilla to clone that to an image. After transferring that image to a usb drive, I booted clonezilla on the Macbook and cloned the image to the MacBook HD. After using the instructions to disable SIP and removing the AMD kexts, I had the MacBook booting into HS. More reading lead my to understand that I would have problems with HS so I downloaded VMWare Fusion and created a 10.12 bootable image and repeated the clonezilla process with 10.12. So I am back to a running MacBook but now I have new issues. The machine will not go to sleep and has graphical issues with applications such a Chrome.
 
  • Like
Reactions: AppleMacFinder

stuckinnhk

macrumors newbie
Feb 3, 2018
1
0
Thank you so much for the instructions on this page: https://forums.macrumors.com/thread...efi-variable-fix.2037591/page-5#post-24511780

They worked for me and restored screen brightness, keyboard brightness, sleep, flu.x, everything that I can see so far. Again thanks, you completely fixed my 2011 MacBookPro8,2 which had fried its gfx cards (and the apple store guys just deleted the AMD kexts, leaving me with a crippled machine that thought it was always plugged into an external display).
 

cotph1

macrumors newbie
Feb 3, 2018
1
1
Use Archlinux last version
Printf line OK
Problem with the line chattr: "chattr: not found"
I cant change the attribute.

It work for a time, then the problem came back...

Need help... please

Philippe
 
  • Like
Reactions: AppleMacFinder

RudeJude

macrumors newbie
Jun 25, 2017
2
2
Hi!
Thank you for this, I used it a couple month ago and it saved my life! Since then I had a couple more issue and I deceided to change the logic board on my mac. Now I need to "reverse" what I did in order for it to use the AMD Chip again. Could you please tell me what to do in order to restore the original gpu prefs?

Thanks a lot!
 
  • Like
Reactions: AppleMacFinder

AppleMacFinder

macrumors 6502a
Original poster
Dec 7, 2009
796
152
I've been using this fix and the only downside i'm having is that I can't use an external monitor anymore
can't use external monitor
You could try using something like USB to HDMI adapter, see the last two pages for their reviews
I cant change the attribute
Reset PRAM/NVRAM and try again, hope it would work - if doesn't , try some alternative solutions mentioned at the last 2-3 pages
Could you please tell me what to do in order to restore the original gpu prefs?
gpu prefs are stored at logic board's NVRAM - so if you are changing the logic board you don't have to do anything to restore the gpu prefs (because your new logic board's NVRAM contains would be different) , but maybe you will have to restore AMD drivers to their original place if you've moved them from it
[doublepost=1517759516][/doublepost]
Did anyone install the latest version of macOS High Sierra 10.13.3 and get locked out again? UGH!!! Do I have to repeat this process all over again?
Blame Apple, their recent OS X versions are beta quality and shouldn't have been released

ried removing the AMD drivers and caches but it said my drive was read-only. I went ahead and booted in ArchLinux and after 30 seconds it said my device did not show up. When I boot into safe mode the AMD_Kexts folder with all the drivers are still there and checking the gpu-power-prefs file in ArchLinux shows that the file I created is still there as well.
If you are having a problem with a "read-only" filesystem at your drive, it could mean that your filesystem got a bit damaged because of all these emergency reboots etc. Usually you can fix it by running some commands at command line OS X mode (google "repair hfs+") or from Linux after mounting your hfs+ filesystem there, but in some cases its so broken that even the reinstall could be required

The 2 programs i used were gfxcardstatus and Photoshop
If you're having problems with some software, such as Adobe products, it could be that - during the installation, they have detected your discrete GPU and wrote in configs to use it, and even now those configs haven't changed and of course its still trying to use. Could you do a clean install of Photoshop, with removing all the configs as well (maybe search for the hidden configs using a software like CleanMyMac)
[doublepost=1517760274][/doublepost]
@AppleMacFinder well... no luck so far with the USB 2.0 to HDMI adapter from j5create.... Now, my external display seems to work ok but there is definitely some lag and artifacts as you move windows around
I don't know, maybe you could reduce the lags by slightly lowering the resolution of picture? Also, is there such a thing as USB 3.0 to HDMI adapter? I know that MBP 2011 has USB 2.0 ports, but maybe if some adapter is rated USB 3.0 it could transmit the higher bandwidth by using the full capacity of USB 2.0 channel. Also, maybe some software speedups are possible, like raising the priority (renice value) of OS X processes related to that image transmission
Great news !!! ... The Mac OS installer (USB Stick/Pendrive) also boots into Single User Mode. Tested with Sierra and High Sierra installers... Instructions above.
nsgr, thank you very much for these brilliant instructions, hope they work for older OS X versions as well
anyone disabled nvidia geforce gt330m in macbook pro 15 mid 2010? if yes please give me instruction, thanks
The same instructions should work for any MBP/Mac with discrete GPU, good luck
I haven't, but maybe updating macOS to the latest version will upgrade your EFI and then the method is compatible.
last EFI update for 2010/2011 macs was really long ago, like in 2013 year. and even if you don't have the latest EFI version, upgrading OS X would not upgrade it - these upgrades are separate. If you don't see any EFI upgrade at the software update, means there aren't any
[doublepost=1517760833][/doublepost]
And I have no sound!! :( The triangle appears also in a High Definition Audio device. So I guess that discrete graphics are disabled, and the sound is integrated in the ATI GPU.
Nope, the sound is not integrated to the AMD GPU. Maybe thats a driver issue or windows-specific issue at this partially failed hardware, because I guess for everyone else at this thread the sound is working perfectly. If you just need a quick workaround without messing with drivers - there are pure USB speakers available for like $5. Sound should not depend on whether your AMD gpu is enabled or disabled, thats some weird software errors

1. Why if I enable discrete GPU, in Windows still appears with a triangle?
2. Why everytime I clear SMC + NVRAM + PRAM and I disable discrete/(maybe)enable GPU in Archlinux, I can't install Windows 8.1 because a fail of making the installation bootable?
3. How is that finally I got the discrete GPU disabled?
4. Would be possible to avoid crashes if I re-enable discrete GPU, re-install Windows, install BootCamp, I find a way to see the desktop with ATI & Intel working (is that possible?), I disable ATI from Device Manager, to have sound?
5. Do you recommend to re-enable ATI GPU, which is broken but sometimes works, to have sound and make something to make Windows to use Intel's one? Or it's better to leave the things as I have now, and give thanks to God because finally I'm going to avoid crashes? Hehe =)

If you need Windows but are not sure how to fix these problems, you can install OS X or Linux and then use Windows 7 inside the virtual machine. Compared to host performance, your virtual machine performance would be about 2% slower for CPU but about 30% slower for GPU (measured it a few years ago, maybe now its even less slowdown). The biggest issue in that case would be the significantly increased RAM usage, so at least 8GB of RAM would be required for any serious work
 
Last edited:

ChrisKins

macrumors newbie
Jan 26, 2018
18
10
@AppleMacFinder so it looks like my 2011 MacBook Pro is locked up again. After foolishly installing the 10.13.3 combo update yesterday, my computer is back to freezing me out when I boot normally. It works ok in Safe Mode and Recovery Mode.

So, I went back and disabled SIP, tried removing the AMD drivers and caches but it said my drive was read-only. I went ahead and booted in ArchLinux and after 30 seconds it said my device did not show up. When I boot into safe mode the AMD_Kexts folder with all the drivers are still there and checking the gpu-power-prefs file in ArchLinux shows that the file I created is still there as well.

So, now I'm stuck and have no idea what to do. Any ideas?
I got it back up and working again. I forgot that I had a Time Machine backup before I upgraded to 10.13.3 and voila! My 2011 MacBook Pro is back up and working again.

After all of this, and not being able to use an external monitor without a lot of lag, I decided to buy a refurbished 2017 MacBook Pro from the Apple Store online and am really loving it. The dongles not so much though. At least I have a functioning 2011 MacBook Pro as a backup.
 
  • Like
Reactions: AppleMacFinder

Gampopa

macrumors newbie
Feb 4, 2018
1
0
Is there a solution for the nonprogrammer who's early 2011 MBP failed d/t faulty GPU? Could anyone recommend a repair shop that can reprogram to disable the failed GPU?
 

onosideboard

macrumors newbie
Feb 4, 2018
7
7
Everytime I type in "nomodeset" in the grub after pressing "e" when I boot into arch linux on USB, I get a black screen. Every time. It says there permanently too until I shut it off (I waited over 40 minutes hoping that the linux console would pop up, but it didn't). I typed in all of the other commands too like radeon.modeset=0 and things like that, but still the black screen. I even typed in gibberish! I put in things like "fjdskljfdslkfjdsl" and it still took me to the black screen. I'm confused why it won't load because this is a non Graphics using OS, so why isn't it working?

EDIT: I also used the linux USB on my other mac and it booted to the console just fine, so I know for a fact that the computer is at fault only.
 
  • Like
Reactions: AppleMacFinder

Bravo3013

macrumors member
Sep 1, 2016
67
34
Norway
Hello. I have installed the fix and everything works perfectly on El Capitan 10.11.6. I haven't had a single issue since installing the fix! I am now tempted to buy an eGPU to get better graphics, but I need to update to macOS Sierra to use nVidia Pascal cards.

I have also noticed others complain about issues like heat and sleep/wake not functioning properly in Sierra with this fix.

Can I update OS to Sierra safely, or would this potentially make my mac a brick during the install process?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.