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.

therif

macrumors newbie
Aug 24, 2006
20
2
So I've tried everything possible and got it WORKING!!

but now I've got another problem. I've looked on Google, but only find fixes for Hackintosh computers while I'm on a Macbook Pro.

So if I start the mac in Safe Mode (shift), it works, but extremely slow and I can't use a usb thumb drive.
I wanted to check why it was so slow and saw filevault was decrypting...
Let the computer on for a 4 days until decrypting was over and restarted the computer in single user mode to do the disk check. it appears to be ok, but when booting normally, it stays stuck on

IOConsoleUsers: time(0) 0->0, lin0, llk 1,
IOConsoleUsers: gIOScreenLockstate 3, hs0, bs 0, now 0, sm 0x0

It stays on it for like 1 minute and then reboots with chime.

Did I do something wrong?
 

Swapnilsagarwal

macrumors newbie
Jul 13, 2010
11
2
I just want to report back on my High Sierra experience.. So for regular Sierra this grub menu entry worked great.. booted fine AMD card didnt show up, sleep, display dimming worked as expected and fans/temp seemed normal. After upgrading to High Sierra this still kind of works, the AMD card doesn't show up but sleep and display dimming no longer work.. I've tried everything I could think of including:
  • Converted drive back to HPFS+ and reinstalled high sierra without converting to APFS
  • Cleared SMC and PRAM and retried all steps
But no matter what I do in High Sierra Sleep and Display dimming do not work.. I'm wondering if anyone else has tried or experienced this.. any solutions out there? Worst case I'll just stay on Sierra with the grub boot loader.. for me that has been the best overall experience but it would be great to be on High Sierra.


Yes I can confirm Grub Method causes Sleep kernel panic under high sierra. Kext removal method works like a charm though
[doublepost=1511222733][/doublepost]Hey I have found a service which seems to be able to reliably change the Graphics Chip.

Anyone has had any success buying these chips from China via aliexpress or any other site?

There seems to be 2 versions on the main post 216-0810028 and 216-0810005, which one is correct? and how do we know this is the one I need.

(I have Macbook Pro 15" Early 2011 version with a AMD Radeon HD 6750M 1Gb)
 

piscesmuse

macrumors newbie
Nov 22, 2017
3
0
okay so I have the MacBook Pro 2011 OS X Yosemite 15"

I made a lot of things and i send it to repair but it ****ed again. I needed to take one file out so I tried remove the AMD drivers and i got my file but it's all glitchy and I can't use my programs.

So I use heavy programs for music production but I'm trying to save my computer by the instructions of @AppleMacFinder ,, the problem here is that the CD drive doesn't work and I'm trying to make a USB drive to force the MBP to ALWAYS use Intel integrated GPU but I can't either.

Can someone help me?
 

xanderx007

macrumors 6502
Nov 7, 2017
262
140
okay so I have the MacBook Pro 2011 OS X Yosemite 15"

I made a lot of things and i send it to repair but it ****ed again. I needed to take one file out so I tried remove the AMD drivers and i got my file but it's all glitchy and I can't use my programs.

So I use heavy programs for music production but I'm trying to save my computer by the instructions of @AppleMacFinder ,, the problem here is that the CD drive doesn't work and I'm trying to make a USB drive to force the MBP to ALWAYS use Intel integrated GPU but I can't either.

Can someone help me?

I have tried the EFI fix, and it has worked for me a few times, albeit unstable. You might want to try the GRUB fix this time.
 
  • Like
Reactions: AppleMacFinder

nsgr

macrumors 6502
May 22, 2017
317
117
So I've tried everything possible and got it WORKING!!

but now I've got another problem. I've looked on Google, but only find fixes for Hackintosh computers while I'm on a Macbook Pro.

So if I start the mac in Safe Mode (shift), it works, but extremely slow and I can't use a usb thumb drive.
I wanted to check why it was so slow and saw filevault was decrypting...
Let the computer on for a 4 days until decrypting was over and restarted the computer in single user mode to do the disk check. it appears to be ok, but when booting normally, it stays stuck on

IOConsoleUsers: time(0) 0->0, lin0, llk 1,
IOConsoleUsers: gIOScreenLockstate 3, hs0, bs 0, now 0, sm 0x0

It stays on it for like 1 minute and then reboots with chime.

Did I do something wrong?

This problem is caused by AMDRadeonX3000.kext.

You have to move this kext out of the /System/Library/Extensions directory and then load it manually.

MikeyN
#875


Or try the GRUB solution:

brainshutdown
https://forums.macrumors.com/thread...-on-a-2011-macbook-pro-grub-solution.2087527/
 

kohsamui100

macrumors member
Dec 21, 2016
81
1
I have a MBP running 3 different OS's (Lion, Mavericks, Sierra). I need to upgrade to High Sierra, but I recall someone saying these workaround do not work in High Sierra... Any idea if it will work in High Sierra ?

I am using the two following guides, which have worked for me without a single issue so far, in all 3 systems:

Complete Guide to Permanently Disable AMD 6XXXm series dGPU and Prevent Thermal Throttling

Acknowledgements: This guide is entirely based on nsgr's work.

1. This is an optional step. If you have previously attempted to remove AMD kexts, revert your system to the original state by installing the latest Mac OS combo update. At the time of writing of this guide, the latest combo update can be found here. Installing the update will update your kext files to the latest version. After the update is finished, your macbook will restart and freeze as soon as the dGPU is activated. Shutdown or force a restart.

2. Clear the NVRAM by holding Option + Command + P + R on startup until the macbook reboots.

3. Boot into the single user mode by pressing Command + S on startup. Execute the following commands to enable the iGPU during the boot phase:
Quote
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Quote
reboot
4. Disable System Integrity Protection to allow editing system files. Boot into the verbose recovery mode by pressing Command + R + S on startup. Execute
Quote
csrutil disable
Quote
reboot
5. Go again into the the single user mode by pressing Command + S on startup. Mount root with write permissions via
Quote
/sbin/mount -uw /
(Note the space in front of the last forward slash). Next, create a backup folder by executing
Quote
mkdir backup
Move the AMDRadeonX3000.kext file to the backup folder you created by executing
Quote
mv System/Library/Extensions/AMDRadeonX3000.kext backup/
Moving this kext file is sufficient to prevent graphics switching.
Quote
reboot
6. Re-enable System Integrity Protection inside the verbose recovery mode (Command + R + S) by executing
Quote
csrutil enable
Quote
reboot
7. Boot into Mac OS normally and start the Terminal. Navigate to your backup folder using
Quote
cd /backup
Load the former kext file manually by executing
Quote
sudo kextload AMDRadeonX3000.kext
to prevent the dGPU from idling at maximum TDP. This will not re-enable graphics switching. A restart is not required.

Closing remarks: Step 7 will have to be executed after every system restart to prevent overheating. Steps 4, 5 and 6 will have to be executed after each major system update that breaks graphics switching. Step 3 has to be repeated after a NVRAM reset.

--

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.
 

nsgr

macrumors 6502
May 22, 2017
317
117
I have a MBP running 3 different OS's (Lion, Mavericks, Sierra). I need to upgrade to High Sierra, but I recall someone saying these workaround do not work in High Sierra... Any idea if it will work in High Sierra ?

I am using the two following guides, which have worked for me without a single issue so far, in all 3 systems:

Complete Guide to Permanently Disable AMD 6XXXm series dGPU and Prevent Thermal Throttling

Acknowledgements: This guide is entirely based on nsgr's work.

1. This is an optional step. If you have previously attempted to remove AMD kexts, revert your system to the original state by installing the latest Mac OS combo update. At the time of writing of this guide, the latest combo update can be found here. Installing the update will update your kext files to the latest version. After the update is finished, your macbook will restart and freeze as soon as the dGPU is activated. Shutdown or force a restart.

2. Clear the NVRAM by holding Option + Command + P + R on startup until the macbook reboots.

3. Boot into the single user mode by pressing Command + S on startup. Execute the following commands to enable the iGPU during the boot phase:
Quote
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Quote
reboot
4. Disable System Integrity Protection to allow editing system files. Boot into the verbose recovery mode by pressing Command + R + S on startup. Execute
Quote
csrutil disable
Quote
reboot
5. Go again into the the single user mode by pressing Command + S on startup. Mount root with write permissions via
Quote
/sbin/mount -uw /
(Note the space in front of the last forward slash). Next, create a backup folder by executing
Quote
mkdir backup
Move the AMDRadeonX3000.kext file to the backup folder you created by executing
Quote
mv System/Library/Extensions/AMDRadeonX3000.kext backup/
Moving this kext file is sufficient to prevent graphics switching.
Quote
reboot
6. Re-enable System Integrity Protection inside the verbose recovery mode (Command + R + S) by executing
Quote
csrutil enable
Quote
reboot
7. Boot into Mac OS normally and start the Terminal. Navigate to your backup folder using
Quote
cd /backup
Load the former kext file manually by executing
Quote
sudo kextload AMDRadeonX3000.kext
to prevent the dGPU from idling at maximum TDP. This will not re-enable graphics switching. A restart is not required.

Closing remarks: Step 7 will have to be executed after every system restart to prevent overheating. Steps 4, 5 and 6 will have to be executed after each major system update that breaks graphics switching. Step 3 has to be repeated after a NVRAM reset.

--

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.

I use HighSierra 10.13.1 (Clean Install / Fresh Install) and it works normally. I installed HighSierra on launch day by Apple and use it until today.

I started with HighSierra 10.13 and then I made the updates (10.13.1). If the update has AMDRadeonX3000.kext, then after the update, you have to manually move it out of /System/Library/Extensions. Otherwise you will get screen freeze during boot.

Both methods work with Macbook Pro Early 2011 (my tests):

1 - Boot normal with AMDRadeonX3000.kext moved out /System/Library/Extensions and load manually after login.

Example:
sudo kextload /DisableExtensions/AMDRadeonX3000.kext

2 - GRUB method.

Remember that when you upgrade to HighSierra or a Clean Install, then the installer program will put the problematic kext AMDRadeonX3000.kext back to /System/Library/Extensions and you will have a screen freeze when restarting Macbook after installation.

Let the Macbook freeze, shut down the MacBook by the Power button, restart the Macbook in Recovery Mode or Single User, and move the AMDRadeonX3000.kext to another directory outside the /System/Library/Extensions.

Move AMDRadeonX3000.kext:

Recovery Mode method: do not need disable SIP

Single User method: need disable SIP


Remember that the nvram below is always necessary (if you reset NVRAM/PRAM):

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


Update:

In the GRUB method, Brightness does not work in HighSierra 10.13.1 yet.

Resolved Disable a failed AMD GPU on a 2011 MacBook Pro [GRUB solution]
#98
 
Last edited:

Sas Sam

macrumors newbie
Nov 25, 2017
3
0
4) sudo mv /System/Library/Extensions/AMD*.* /AMD_Kexts/ (move the AMD drivers)

First of all, thank you for your post and help! It helped me to bring back my MBP to alive. However I ran into an issue with your step 4 with moving kext from Extension directory into an other one.

I have OS X Sierra and at this step I've got "Operation not permitted" error message because of the SIP (System Integrity Protection). It's enabled by default and the tricky part is that you can disable it in the Recovery Mode (Command+R) but it doesn't work because of this AMD issue.

So I spend a half day to figure out how can I disable it somehow and finally I found the solution.

You need to boot the MBP with "Single User Recovery Mode" which is not really a known mode... You can go into it with Command+R+S and there we can disable the SIP with csrutil disable command. Then reboot and go back to Single User mode with Command+S to do the step 4 (mv command).

At the end of the whole hack process we should enable the SIP again with
csrutil enable command.

Hope it helps someone else too!
[doublepost=1511691439][/doublepost]Since my MBP is working again I have a new issues....

I cannot log into the iMessage as well as FaceTime with my Apple ID ... it worked before this hack, but now it doesn't allow me to log in.

Also my bluetooth mouse doesn't connect automatically after reboot and login. I need to open the Preferences and pair it manually.

I've found this Apple support page which mentions at the last point to delete the NVRAM... but if I do that, it brings back this AMD issue (as well as doesn't solve the issue, I tried).

Did anybody else has the same issue?! :(

Any ideas?

Thanks!
 

xanderx007

macrumors 6502
Nov 7, 2017
262
140
So I spend a half day to figure out how can I disable it somehow and finally I found the solution.

You need to boot the MBP with "Single User Recovery Mode" which is not really a known mode... You can go into it with Command+R+S and there we can disable the SIP with csrutil disable command. Then reboot and go back to Single User mode with Command+S to do the step 4 (mv command).

At the end of the whole hack process we should enable the SIP again with
csrutil enable command.

Hope it helps someone else too!

This solution (EFI fix) have been working with me, but, it's unstable and not without issues. @brainshutdown pointed out a more stable Grub Solution which is also on this thread as well (Page 42, comment 1103).

However, when I was trying it out, I had difficulties trying to disable the SIP and changing (not resetting it as they are different steps) the NVRAM variable because each step involved having to boot into Recovery and Single User mode respectively, so I figured, why not reboot into Single User Recovery Mode to do both?


Since my MBP is working again I have a new issues....

I cannot log into the iMessage as well as FaceTime with my Apple ID ... it worked before this hack, but now it doesn't allow me to log in.

Also my bluetooth mouse doesn't connect automatically after reboot and login. I need to open the Preferences and pair it manually.

I've found this Apple support page which mentions at the last point to delete the NVRAM... but if I do that, it brings back this AMD issue (as well as doesn't solve the issue, I tried).

Did anybody else has the same issue?! :(

Any ideas?

Thanks!

This is where the Grub Solution works better, I suppose, since you only need to rest the SMC and the NVRAM once (and respectively change the NVRAM setting). I have a Bluetooth wireless keyboard and it pairs normally automatically. Currently, I haven't done anything that would enable the SIP, and I've just tested both Facetime and Messages and they both work. I haven't really been using them even before the I implemented both fixes, so, I'm not sure if it has anything to do with the SIP being disabled, and your issue might be an isolated case.

Try the Grub solution first.
 
Last edited:
  • Like
Reactions: AppleMacFinder

jonesinecuador

macrumors newbie
Nov 26, 2017
1
0
Vilcabamba, Ecuador
Hi, I hope you can help... I may just be dense... but I am not sure exactly what I am supposed to do from this point on? do I see the file and change something in it? Thank you for understanding.



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!
[/QUOTE]
 

Sas Sam

macrumors newbie
Nov 25, 2017
3
0
This is where the Grub Solution works better, I suppose, since you only need to rest the SMC and the NVRAM once (and respectively change the NVRAM setting). I have a Bluetooth wireless keyboard and it pairs normally automatically. Currently, I haven't done anything that would enable the SIP, and I've just tested both Facetime and Messages and they both work. I haven't really been using them even before the I implemented both fixes, so, I'm not sure if it has anything to do with the SIP being disabled, and your issue might be an isolated case.

Try the Grub solution first.

I've just tried the Grub one... it works as well, however it has 2 issues for me.
  1. the AMD kext at the end caused kernel panic at boot, so I had to remove it.
  2. the boot works only with the pen drive. Without it, the system just keep rebooting.
Also the iMessage and FaceTime still don't work. I cannot login. And the BT mouse pairing doesn't work either.

:(

I'll never buy Mac again...
 

xanderx007

macrumors 6502
Nov 7, 2017
262
140
I've just tried the Grub one... it works as well, however it has 2 issues for me.
  1. the AMD kext at the end caused kernel panic at boot, so I had to remove it.
  2. the boot works only with the pen drive. Without it, the system just keep rebooting.
Also the iMessage and FaceTime still don't work. I cannot login. And the BT mouse pairing doesn't work either.

:(

I'll never buy Mac again...

What MBP model and the OS version do you have? I have no issues whatsoever, so it might be those two factors.

Also, screwing up something in the steps can cause issues.
 

therif

macrumors newbie
Aug 24, 2006
20
2
This problem is caused by AMDRadeonX3000.kext.

You have to move this kext out of the /System/Library/Extensions directory and then load it manually.

MikeyN
#875


Or try the GRUB solution:

brainshutdown
https://forums.macrumors.com/thread...-on-a-2011-macbook-pro-grub-solution.2087527/

I’ve done the GRUB solution and got it working fine.
Thanks for all your efforts guys: threadstarter! MickeyN! And brainshutdown!!!

Computer is somewhat slower, but working.

Thanks again!!!
 
  • Like
Reactions: AppleMacFinder

brainshutdown

macrumors regular
Jul 16, 2012
124
110
I've just tried the Grub one... it works as well, however it has 2 issues for me.
  1. the AMD kext at the end caused kernel panic at boot, so I had to remove it.
  2. the boot works only with the pen drive. Without it, the system just keep rebooting.
Also the iMessage and FaceTime still don't work. I cannot login. And the BT mouse pairing doesn't work either.

:(

I'll never buy Mac again...
1. The kext should only be used with GRUB installed, otherwise it will kernel panic.
2. Did step 4 work without any error?

If you have any doubts feel free to ask in the GRUB thread.
 
Last edited:

myfrankops

macrumors newbie
Nov 28, 2017
2
2
I have a MBP running 3 different OS's (Lion, Mavericks, Sierra). I need to upgrade to High Sierra, but I recall someone saying these workaround do not work in High Sierra... Any idea if it will work in High Sierra ?

I am using the two following guides, which have worked for me without a single issue so far, in all 3 systems:

Complete Guide to Permanently Disable AMD 6XXXm series dGPU and Prevent Thermal Throttling

Acknowledgements: This guide is entirely based on nsgr's work.

1. This is an optional step. If you have previously attempted to remove AMD kexts, revert your system to the original state by installing the latest Mac OS combo update. At the time of writing of this guide, the latest combo update can be found here. Installing the update will update your kext files to the latest version. After the update is finished, your macbook will restart and freeze as soon as the dGPU is activated. Shutdown or force a restart.

2. Clear the NVRAM by holding Option + Command + P + R on startup until the macbook reboots.

3. Boot into the single user mode by pressing Command + S on startup. Execute the following commands to enable the iGPU during the boot phase:
Quote
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Quote
reboot
4. Disable System Integrity Protection to allow editing system files. Boot into the verbose recovery mode by pressing Command + R + S on startup. Execute
Quote
csrutil disable
Quote
reboot
5. Go again into the the single user mode by pressing Command + S on startup. Mount root with write permissions via
Quote
/sbin/mount -uw /
(Note the space in front of the last forward slash). Next, create a backup folder by executing
Quote
mkdir backup
Move the AMDRadeonX3000.kext file to the backup folder you created by executing
Quote
mv System/Library/Extensions/AMDRadeonX3000.kext backup/
Moving this kext file is sufficient to prevent graphics switching.
Quote
reboot
6. Re-enable System Integrity Protection inside the verbose recovery mode (Command + R + S) by executing
Quote
csrutil enable
Quote
reboot
7. Boot into Mac OS normally and start the Terminal. Navigate to your backup folder using
Quote
cd /backup
Load the former kext file manually by executing
Quote
sudo kextload AMDRadeonX3000.kext
to prevent the dGPU from idling at maximum TDP. This will not re-enable graphics switching. A restart is not required.

Closing remarks: Step 7 will have to be executed after every system restart to prevent overheating. Steps 4, 5 and 6 will have to be executed after each major system update that breaks graphics switching. Step 3 has to be repeated after a NVRAM reset.

--

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.

Two things:

1. sudo kextload AMDRadeonX3000.kext doesn't work for me. I get the following message:

/backup/AMDRadeonX3000.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).

2. The above post goes from point no. 7 to 11. Am I missing some instructions.

Thanks nsgr, brainshutdown and AppleMacFinder and everyone else who have contributed here to have helped 000s make use of what is otherwise a great machine! Writing this post on one that I have revived using the posts here.

P.S.: Just want to add that this is Early 2011 MacBook Pro 15" running 10.13.1
 
Last edited:

gyrene2083

macrumors newbie
Mar 28, 2017
1
1
@ AppleMacFinder, thank you so much for this write up, and for all those that helped. An outstanding job. I finally got a 2011 (Early) 15' to boot up.

I am curious though, I believe I read on one of the pages here, that because we switched from the AMD or NVidia GPUs to the Intel, that there is less heat being produced, is that true or did I misread that? (All my Macs have SSDs) So if this is true that would be great as the fans on one of my 2011s (17') that uses the Radeon, goes on and off a bit.

So would one be able to use this method on other Macs or this is strictly for the 2011 models.

Again, I appreciate all of your help and hard work..


-Semper Fi
gyrene203
 
  • Like
Reactions: AppleMacFinder

nsgr

macrumors 6502
May 22, 2017
317
117
Two things:

1. sudo kextload AMDRadeonX3000.kext doesn't work for me. I get the following message:

/backup/AMDRadeonX3000.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).

2. The above post goes from point no. 7 to 11. Am I missing some instructions.

Thanks nsgr, brainshutdown and AppleMacFinder and everyone else who have contributed here to have helped 000s make use of what is otherwise a great machine! Writing this post on one that I have revived using the posts here.

P.S.: Just want to add that this is Early 2011 MacBook Pro 15" running 10.13.1

Code:
sudo chmod -R 755 /backup/AMDRadeonX3000.kext
sudo chown -R root:wheel /backup/AMDRadeonX3000.kext

List recursive. Only AMDRadeonX3000.kext inside /backup .
Code:
ls -laR /backup/

total 0
drwxr-xr-x   3 root  wheel   102 Nov 27 18:27 .
drwxr-xr-x  29 root  wheel  1054 Nov 27 19:30 ..
drwxr-xr-x@  3 root  wheel   102 Jun 15 22:52 AMDRadeonX3000.kext

/backup//AMDRadeonX3000.kext:
total 0

drwxr-xr-x@ 3 root  wheel  102 Jun 15 22:52 .
drwxr-xr-x  3 root  wheel  102 Nov 27 18:27 ..
drwxr-xr-x  7 root  wheel  238 Jun 15 22:53 Contents

/backup//AMDRadeonX3000.kext/Contents:
total 40

drwxr-xr-x  7 root  wheel   238 Jun 15 22:53 .
drwxr-xr-x@ 3 root  wheel   102 Jun 15 22:52 ..
-rw-r--r--  1 root  wheel  8604 Jun 15 22:52 Info.plist
drwxr-xr-x  3 root  wheel   102 Jul 15 02:01 MacOS
-rwxr-xr-x  1 root  wheel     9 Jun 15 22:52 PkgInfo
drwxr-xr-x  3 root  wheel   102 Jun 15 22:53 _CodeSignature
-rw-r--r--  1 root  wheel   464 Jun 15 22:53 version.plist

/backup//AMDRadeonX3000.kext/Contents/MacOS:
total 13200

drwxr-xr-x  3 root  wheel      102 Jul 15 02:01 .
drwxr-xr-x  7 root  wheel      238 Jun 15 22:53 ..
-rwxr-xr-x  1 root  wheel  6754704 Jul 15 02:01 AMDRadeonX3000

/backup//AMDRadeonX3000.kext/Contents/_CodeSignature:
total 8

drwxr-xr-x  3 root  wheel   102 Jun 15 22:53 .
drwxr-xr-x  7 root  wheel   238 Jun 15 22:53 ..
-rw-r--r--  1 root  wheel  2206 Jul 15 02:01 CodeResources

https://www.poftut.com/chmod-755-700/

Owner: root
Group: wheel

755 can be separated as:

7 user can read, write, execute
5 group can read and execute
5 others can read and execute

rwxr-xr-x
 
Last edited:

myfrankops

macrumors newbie
Nov 28, 2017
2
2
Code:
sudo chmod -R 755 /backup/AMDRadeonX3000.kext
sudo chown -R root:wheel /backup/AMDRadeonX3000.kext

List recursive. Only AMDRadeonX3000.kext inside /backup .
Code:
ls -laR /backup/

total 0
drwxr-xr-x   3 root  wheel   102 Nov 27 18:27 .
drwxr-xr-x  29 root  wheel  1054 Nov 27 19:30 ..
drwxr-xr-x@  3 root  wheel   102 Jun 15 22:52 AMDRadeonX3000.kext

/backup//AMDRadeonX3000.kext:
total 0

drwxr-xr-x@ 3 root  wheel  102 Jun 15 22:52 .
drwxr-xr-x  3 root  wheel  102 Nov 27 18:27 ..
drwxr-xr-x  7 root  wheel  238 Jun 15 22:53 Contents

/backup//AMDRadeonX3000.kext/Contents:
total 40

drwxr-xr-x  7 root  wheel   238 Jun 15 22:53 .
drwxr-xr-x@ 3 root  wheel   102 Jun 15 22:52 ..
-rw-r--r--  1 root  wheel  8604 Jun 15 22:52 Info.plist
drwxr-xr-x  3 root  wheel   102 Jul 15 02:01 MacOS
-rwxr-xr-x  1 root  wheel     9 Jun 15 22:52 PkgInfo
drwxr-xr-x  3 root  wheel   102 Jun 15 22:53 _CodeSignature
-rw-r--r--  1 root  wheel   464 Jun 15 22:53 version.plist

/backup//AMDRadeonX3000.kext/Contents/MacOS:
total 13200

drwxr-xr-x  3 root  wheel      102 Jul 15 02:01 .
drwxr-xr-x  7 root  wheel      238 Jun 15 22:53 ..
-rwxr-xr-x  1 root  wheel  6754704 Jul 15 02:01 AMDRadeonX3000

/backup//AMDRadeonX3000.kext/Contents/_CodeSignature:
total 8

drwxr-xr-x  3 root  wheel   102 Jun 15 22:53 .
drwxr-xr-x  7 root  wheel   238 Jun 15 22:53 ..
-rw-r--r--  1 root  wheel  2206 Jul 15 02:01 CodeResources

https://www.poftut.com/chmod-755-700/

Owner: root
Group: wheel

755 can be separated as:

7 user can read, write, execute
5 group can read and execute
5 others can read and execute

rwxr-xr-x

Thank you nsgr. I executed the commands you specified

Sharing with you what my system shows

total 16
drwxr-xr-x 4 root wheel 128 28 Nov 22:42 .
drwxr-xr-x 35 root wheel 1120 27 Nov 17:27 ..
-rw-r--r--@ 1 root wheel 6148 28 Nov 22:16 .DS_Store
drwxr-xr-x@ 3 root wheel 96 30 Sep 07:44 AMDRadeonX3000.kext

/backup//AMDRadeonX3000.kext:
total 0
drwxr-xr-x@ 3 root wheel 96 30 Sep 07:44 .
drwxr-xr-x 4 root wheel 128 28 Nov 22:42 ..
drwxr-xr-x 7 root wheel 224 30 Sep 07:45 Contents

/backup//AMDRadeonX3000.kext/Contents:
total 40
drwxr-xr-x 7 root wheel 224 30 Sep 07:45 .
drwxr-xr-x@ 3 root wheel 96 30 Sep 07:44 ..
-rwxr-xr-x@ 1 root wheel 8697 30 Sep 07:44 Info.plist
drwxr-xr-x 3 root wheel 96 25 Oct 22:11 MacOS
-rwxr-xr-x 1 root wheel 9 30 Sep 07:44 PkgInfo
drwxr-xr-x 3 root wheel 96 30 Sep 07:45 _CodeSignature
-rwxr-xr-x 1 root wheel 522 30 Sep 07:45 version.plist

/backup//AMDRadeonX3000.kext/Contents/MacOS:
total 13136
drwxr-xr-x 3 root wheel 96 25 Oct 22:11 .
drwxr-xr-x 7 root wheel 224 30 Sep 07:45 ..
-rwxr-xr-x 1 root wheel 6725088 25 Oct 22:11 AMDRadeonX3000

/backup//AMDRadeonX3000.kext/Contents/_CodeSignature:
total 8
drwxr-xr-x 3 root wheel 96 30 Sep 07:45 .
drwxr-xr-x 7 root wheel 224 30 Sep 07:45 ..
-rwxr-xr-x 1 root wheel 2428 25 Oct 22:11 CodeResources

backup hs$ kextload /backup/AMDRadeonX3000.kext
/backup/AMDRadeonX3000.kext failed to load - (libkern/kext) not privileged; check the system/kernel logs for errors or try kextutil(8).

I also ran kextutil and got the following output:

Kext rejected due to improper filesystem permissions: <OSKext 0x7fdcaa64ede0 [0x7fffab9e2570]> { URL = "file:///Library/StagedExtensions/backup/AMDRadeonX3000.kext/", ID = "com.apple.kext.AMDRadeonX3000" }

Kext rejected due to improper filesystem permissions: <OSKext 0x7fdcaa64ede0 [0x7fffab9e2570]> { URL = "file:///Library/StagedExtensions/backup/AMDRadeonX3000.kext/", ID = "com.apple.kext.AMDRadeonX3000" }

Diagnostics for /backup/AMDRadeonX3000.kext:
Authentication Failures:
File owner/permissions are incorrect (must be root:wheel, nonwritable by group/other):
/Library/StagedExtensions/backup/AMDRadeonX3000.kext
Contents
_CodeSignature
CodeResources
MacOS
AMDRadeonX3000
Info.plist
PkgInfo
version.plist
[doublepost=1511979762][/doublepost]Oh I know the mistake I was doing....the command is

sudo kextload /backup/AMDRadeonX3000.kext/

Now its loaded and the GPU Die - Analog temperature has dropped to 19 degrees
 

weswes106

macrumors newbie
Nov 29, 2017
2
1
I had to remove the SSD but I am doing this fix as I write.

I keep a Snow Leopard partition on my SSD. My question is whether this fix will work on SL as well?

Thanks,
 
  • Like
Reactions: AppleMacFinder

Dbarnblatt

macrumors newbie
Nov 30, 2017
3
1
Los Angeles
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


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 :

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!

Problems!

Computer: early 2011 MBP 15" with OS 10.10

I was successful (about 5 times successful!) in executing the Linux Live CD procedure which gave me a fully operating powerbook. But every time I restarted, it froze.

I reset the PRAM and did the pocedure all over again. Then I read you have to disable the AMD Kexts via single user mode... this is where I'm running into a problem.

I'm getting a "permissions denied" "Unable to stat" after entering the command: sudo mkdir /AMD_Kexts/

I then read you have to disable the SIP using terminal via "Command-R" (which I can't get to load because the computer freezes after startup. But I though on OS 10.10 that I would not have to do that. I tried "Command-S-R" and tried "csrutil disable" with it not recognizing the "csrutil" command.

Where do I go from here? I have a working computer, I just can never shut it down or put it to sleep!

Thanks for any help!
 
Last edited:
  • Like
Reactions: AppleMacFinder
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.