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.

SirMeowington5

macrumors member
May 21, 2017
95
6
I've currently loaded a Time Machine backup (not a fresh install anymore) which I restored using Recovery Mode.

Before using the recovery tool I formatted the partition and restoring a Time Machine backup also erases the drive a second time.

The second hdd which shows up in the boot manager does not boot into Sierra.

Some forums that I've read suggest that the EFI is glitched and still remembers the old partition for some reason.


If I do cd /Volumes followed by ls it only lists my current partition called HD. In boot manager there is one called HD (current install) and one called macOS (which is what I called my previous install).
[doublepost=1499507706][/doublepost]
During the clean install, did you erase your Sierra partition (hard disk) with diskutil before installing again?

I think you can have two Sierra installed in the same partition.

That would explain you having two Sierra in the bootmanager.
 

greasemonk

macrumors newbie
Jul 8, 2017
1
0
If you have a MBP 2011, and have a GPU issue. The problem is that the heatsink is not firmly attached to the GPU on those machines that affects this problem (or the springs that hold it wears out eventually which is why it doesnt affect everyone at the same time). I've succeeded in disabling the GPU and it kind of rendered my macbook so sluggish and ugly in use that i've decided to take things to a physical level and re-enable the videocard again because i knew it is a heat problem.

I've bought it as a 2nd hand not knowing about these issues but I didn't give up that easy.

Requirements:
Thin washers
Proper screwdrivers (I bought a set of 3 specifically for this MBP)

Warning:
I've not tested this solution on longer term. Do this at your OWN RISK, or if your MBP 2011 is in a useless state anyway.

The difficulty of the disassembly and assembly is moderate.
I recommend watching a disassembly video for this version, because I won't explain the steps in this post.
If you guys really need a video, i'll upload with complete instruction! - If this post gets really popular and works for people :) .

Here is the end result how you should re-mount the heatsink to the motherboard.
Good luck on your journey, and try to be careful. I hope this helped for you.
 

Attachments

  • 20170708_161956.jpg
    20170708_161956.jpg
    4.2 MB · Views: 385

G.Piscatelli

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

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

===

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

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

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

===

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

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


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

===

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

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

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

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

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

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

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

===

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

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


1) Create the Arch Linux LiveCD/LiveUSB :

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

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

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

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

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

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

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

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

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

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

*) cd /

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

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

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

*) reboot

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

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


I spent two working days to discover this solution, and really hope that it will work flawlessly for every MBP owner with a broken discrete GPU. Good luck!
[doublepost=1499528812][/doublepost]HELP! I have followed this line for line and word for word but I cannot get it to work. I removed all AMD and ATI Kexts then botted to Arch Linux, deleted the gpu-power-prefs and recreated it just as the guide said and when I reboot it still is using the AMD 6750. What am I doing wrong?
 

rlebleu

macrumors member
Jul 1, 2017
52
5
[doublepost=1499528812][/doublepost]HELP! I have followed this line for line and word for word but I cannot get it to work. I removed all AMD and ATI Kexts then botted to Arch Linux, deleted the gpu-power-prefs and recreated it just as the guide said and when I reboot it still is using the AMD 6750. What am I doing wrong?

There is an alternate way of instantly forcing your MBP to use the iGPU.

nsgr put a lot of time helping us out here, and I invite you to turn to page 10 of this thread, message 231, and follow the instructions.
 
Last edited:

SirMeowington5

macrumors member
May 21, 2017
95
6
Go do the other steps?

He explains in his OP that only removing the kexts will give you the result of poor graphics performance. Why you would then only do half of the steps and complain about what he already told you would happen if you only did half of the steps is baffling.


Hi, it works! THANKS A LOT, BUT i have now problem, that AMD GFX without drivers is SO slow. Do you have any suggestion, how to speed it up? Or how to switch to other GFX permanently ?
Is there any solution how to switch to integrated GFX or how to avoid lagging GFX behaviour ?
Will integrated GFX work withou Lagging ?

I did only step from 1) to 9) ...

Thanks for any reply and THANKS for solution !


[QUOTE="

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
 

LuCaS_CZE

macrumors newbie
Jul 11, 2017
2
0
What to do when AMD Graphics card in Macbook Pro 2011 is broken ? How to fix broken GFX in Macbook Pro?

How to use Macbook pro without re-balling ( re-ball is wrong therm but well known of “GFX fix” ) ?

This is 100% WORKING SOLUTION. You can disable AMD drivers and use MacBook pro with lagging GFX card or you can do both parts here to use your MacBook Pro 2011 only with onboard Intel GFX card.

First of all, i want you to know, that it is possible to successfully boot a MBP to OS X while still using the failed GPU, after you remove the AMD drivers.

Follow these steps :

Part 1 =============== DISABLING AMD DRIVERS ====================

If your macbook is not able to boot to recovery mode or you can not see Terminal :

Take HDD from broken macbook and put it to another working macbook, then :

1.) Boot CMD+R to Recovery mode, run Terminal from top menu, in command line enter :

csrutil disable; reboot

( That will disable System Integrity Protection and will reboot the system )

2.) Hold CMD+S and boot to Single mode ( command line )

in command line write : csrutil status
It shows file protection status and it must be disabled ( System Integrity Protection status: disabled )

Enter into command line :

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 to different folder )

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

DONE , Now you can boot to OSX without AMD drivers, GFX will be laggy !
If you want to force switch to onboard Intel GFX follow next steps >

==============================================================


Part 2 ======= FORCE SWITCH TO ONBOARD INTEL GFX CARD ============
Now you have to return HDD back to broken Macbook if you remove it before.

b] Download Arch Linux https://www.archlinux.org/download/ and make Bootable USB by RUFUS https://rufus.akeo.ie ( use DD )

c] Boot holding Option, then pressed "e" key, then added nomodeset to end of line on Arch Linux archiso … and press Enter

d] In cmd line write : cd /sys/firmware/efi/efivars

e] List files in this directory by ls command and look for file gpu-active-xxxxxx

f] In cmd line write printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-XXXXXXXXXXXXXXX

(where XXX represents YOURS values from gpu-active-xxxxxx that you listed in point e] of this list)

Enter into command line :

g] chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-XXXXXXXXXXXXXXX
(where XXX represents YOURS values from gpu-active-xxxxxx that you listed in point e] of this list), It will lock the file )

h
] cd /
i
] umount /sys/firmware/efi/efivars/
j
] reboot

Give back your HDD to your broken Macbook ( If you put it to another before )

DONE , Now you can boot to OSX normally, using only onboard Intel GFX

==============================================================
 
Last edited:

Tresgzz

macrumors newbie
Jul 11, 2017
1
1
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]
Thanks for your efforts we really appreciate it.

I did manage success on first reboot but after the next reboot it went back to the AMD dGPU, gray screen, did the procedure again, checking with "lsattr" to confirm "gpu-power-prefs-..." has the +i attribute whichi ti did , rebooted again and OSX loaded fine, boot after reboot the gray screen returned.

Any ideas on how to make it a more permanent solution?
 
Last edited:
  • Like
Reactions: LuCaS_CZE

rlebleu

macrumors member
Jul 1, 2017
52
5
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!
Thanks for your efforts we really appreciate it.

I did manage success on first reboot but after the next reboot it went back to the AMD dGPU, gray screen, did the procedure again, checking with "lsattr" to confirm "gpu-power-prefs-..." has the +i attribute whichi ti did , rebooted again and OSX loaded fine, boot after reboot the gray screen returned.

Any ideas on how to make it a more permanent solution?[/QUOTE]

Don't shutdown, use safe sleep mode. (Saves memory contents to HD, then goes to sleep to reduce battery draw. I just close the lid on my MBP to put it to sleep. Open the lid, and just carry on from where you were. Costs you a little battery power to keep RAM powered up, but not too serious on my 8gb system. about 5% for 8 hours sleeping.

Credit csgr: Quick way to reboot if you have to...

Reboot into Single-User mode (Command + S) with red background screen and white stripes.


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

reboot

Only lasts until the next reboot... But like I said, use sleep mode...
 

nsgr

macrumors 6502
May 22, 2017
317
117
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!
Thanks for your efforts we really appreciate it.

I did manage success on first reboot but after the next reboot it went back to the AMD dGPU, gray screen, did the procedure again, checking with "lsattr" to confirm "gpu-power-prefs-..." has the +i attribute whichi ti did , rebooted again and OSX loaded fine, boot after reboot the gray screen returned.

Any ideas on how to make it a more permanent solution?

I did several tests with both Arch Linux and sudo nvram GUID:variable=value.

Both methods place gpu-power-prefs in /sys/firmware/efi/efivars with the immutability attribute.

At first I thought that the sudo nvram GUID:variable=value only lasted until the next reboot but the user Shug Ninx confirmed that it would continue even after the next reboot or shutdown.

I was learning how sudo nvram GUID=variable:value works and did not want to give a definitive confirmation.

https://forums.macrumors.com/thread...efi-variable-fix.2037591/page-8#post-24618082

When I do the tests, I put a result that works on my Macbook Pro. I had problems with temperature warming and people with the same model of Macbook Pro did not.

If you do the NVRAM / PRAM reset (Command + Option + P + R), then the gpu-power-prefs file will be deleted from /sys/firmware/efi/efivars. In the next step, when doing the sudo nvram GUID:variable=value, then the gpu-power-prefs file is placed in /sys/firmware/efi/efivars with the immutability attribute (chattr + i).

This method has proven effective for people who have the problem Permission Not Permitted in Arch Linux.

GUID:variable=value

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

G.Piscatelli

macrumors newbie
Jul 8, 2017
2
0
There is an alternate way of instantly forcing your MBP to use the iGPU.

nsgr put a lot of time helping us out here, and I invite you to turn to page 10 of this thread, message 231, and follow the instructions.
Did what was posted on page 10 message 231 and it worked. Thanks
 

nsgr

macrumors 6502
May 22, 2017
317
117
I did a new test with all the AMD kexts in version 1.5.1 (mac OS combo Update 10.12.5).

I was able to decrease by 2 degrees Celsius. Now the Sierra 10.12.5 stands at 34 degrees Celsius in idle (only open Terminal, Active Monitor, Istat Menu and gfxcardstatus).

The kexts 1.5.1 installed on the hard disk require more dependency (AMDLegacyFramebuffer.kext, AMDLegacySupport.kext) than the kexts of the pendrive installer. This difference is relative to the construction of kext.

I tried manually loading the kets of AMDLegacySupport.kext and AMDLegacyFramebuffer.kext to satisfy the dependency of the AMD6000Controller.kext, but it did not reduce the temperature so much.

So I put these kexts for automatic loading and lowered the temperature to 34 degrees Celsius.
Remembering that the AMDRadeonX3000.kext is the crucial kext to drastically lower the temperature.

I use FGuarani's method to move the kexts.

You have to watch the Active Monitor tab Energy, the Spotlight is consuming resources and increasing the temperature.

On my first boot after moving the kexts and loads them, I waited 10 minutes until the Spotlight reduce energy consumption.
The temperature in idle was 38 degrees Celsius after finishing high consumption of Spotlight (30%).

Now comes the interesting, on the second day, and in the second boot, the temperature has dropped even more. I also noticed that in the Istat Menu GPU Die Analog, the temperature dropped rapidly after loading the AMDRadeonX3000.kext.



My Spotlight is with all the options unchecked.

System Preferences -> Spotlight -> Search Results


AMDRadeonX3000.kext is manually loaded to prevent screen freeze during boot (IOConsoleUsers IOScreenLockState).


load automatic - kexts 1.5.1 - /System/Library/Extensions

AMD6000Controller.kext

AMDFramebuffer.kext

AMDLegacyFramebuffer.kext

AMDLegacySupport.kext

AMDSupport.kext


load manual - kext 1.5.1 - /kexts-1.5.1-combo-update

cd /kexts-1.5.1-combo-update

sudo kextload AMDRadeonX3000.kext


kextstat | grep AMD

com.apple.kext.AMDLegacySupport (1.5.1)

com.apple.kext.AMD6000Controller (1.5.1)

com.apple.kext.AMDLegacyFramebuffer (1.5.1)

com.apple.AMDRadeonX3000 (1.5.1)


Download macOS Sierra 10.12.5 Combo Update
https://support.apple.com/kb/DL1918?locale=en_US


Update:

The AMDRadeonX3000.kext that is manually loaded is outside the user directory ( /Users ).

Use the TAB key to autocomplete the names of partitions and files.


1 - mac OS Sierra -> Applications -> Utilities -> Terminal

cd /

sudo mkdir kexts-1.5.1-combo-update


2 - Install mac OS Sierra 10.12.5 combo update


3 - After reboot, the system rebuild cache,

Probably the system will hang on IOSetLockState IOConsoleUsers.

I had done the Safe Mode procedure (press Shift at boot), but I noticed that after rebuild caching, it doubled the memory consumption. As I had described in an earlier post.

So, boot normal (without any key press at boot).
So I let the screen freeze on IOConsoleUsers IOScreenLockState (system hangs because AMDRadeonX3000.kext is in /System/Library/Extensions after install mac os sierra 10.12.5 combo update).

Press the Power button to turn off and exit the frozen screen.

Press the Power button again to turn on the Macbook Pro and now enter the Recovery Mode (Command + R) and move the kexts. Method of FGuarani.


4 - Recovery Mode (Command + R) - Utilities -> Terminal -> Move all AMD and ATI kexts to /kexts-1.5.1-combo-update .

My Sierra 10.12.5 installed hard disk on partition name MacSierra

mv -v /Volumes/MacSierra/System/Library/Extensions/AMD*.* /Volumes/MacSierra/kexts-1.5.1-combo-update

mv -v /Volumes/MacSierra/System/Library/Extensions/ATI*.* /Volumes/MacSierra/kexts-1.5.1-combo-update



5 - Move these kexts back to the /System/Library/Extensions (Sierra installed on hard disk)

AMD6000Controller.kext
AMDFramebuffer.kext
AMDLegacyFramebuffer.kext
AMDLegacySupport.kext
AMDSupport.kext


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMD6000Controller.kext /Volumes/MacSierra/System/Library/Extensions/

mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDFramebuffer.kext /Volumes/MacSierra/System/Library/Extensions/



mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDLegacyFramebuffer.kext /Volumes/MacSierra/System/Library/Extensions/


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDLegacySupport.kext /Volumes/MacSierra/System/Library/Extensions/


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDSupport.kext /Volumes/MacSierra/System/Library/Extensions/



6 - Go back to the /

cd /


7 - Restart the system. Leave Recovery Mode -> enter normal boot

reboot


8 - After login -> manual load AMDRadeonX3000.kext

cd /kexts-1.5.1-combo-update

sudo kextload AMDRadeonX3000.kext
 
Last edited:
  • Like
Reactions: SirMeowington5

tommyball

macrumors newbie
Jul 6, 2017
6
0
Austin, TX
Just wanted to post a sincere thank you to everyone here who posted fixes for this issue.

My MacBook Pro was only booting all the way on after numerous forced shutdowns and restarts. I went through the efivars and kext procedures and it is now working fine. I can no longer do Photoshop work on it, but it's great to have it as a basic laptop for casual use.

Thank you!!!
 

rlebleu

macrumors member
Jul 1, 2017
52
5
Just wanted to post a sincere thank you to everyone here who posted fixes for this issue.

My MacBook Pro was only booting all the way on after numerous forced shutdowns and restarts. I went through the efivars and kext procedures and it is now working fine. I can no longer do Photoshop work on it, but it's great to have it as a basic laptop for casual use.

Thank you!!!

Interesting. I only have Photoshop Elements 12 and it works fine. Perhaps you have to disable GPU in the Preferences or something??? In fact, all my programs work fine - perhaps some a little slower without the dGPU.... The only apparent loss is connecting to an external monitor - (The Thunderbolt port is connected directly to the dGPU. But I have an Apple TV, so I can use Airplay if I want to share my screen on the TV...
 

nsgr

macrumors 6502
May 22, 2017
317
117
Interesting. I only have Photoshop Elements 12 and it works fine. Perhaps you have to disable GPU in the Preferences or something??? In fact, all my programs work fine - perhaps some a little slower without the dGPU.... The only apparent loss is connecting to an external monitor - (The Thunderbolt port is connected directly to the dGPU. But I have an Apple TV, so I can use Airplay if I want to share my screen on the TV...

Glad you tried Photoshop. I want to use After Effects and Photoshop as well. Basic mode, nothing too elaborate.

The last time I tried After Effects was before having the problem with the AMD video card.

I had bought a used Macbook. When I saw the whole screen red and white stripes, I thought the Macbook had turned paperweight.

To make matters worse, Apple's recall had expired. But now with the Macbook Pro reborn from the ashes, this After Effects will have to work.
 

rlebleu

macrumors member
Jul 1, 2017
52
5
I did a new test with all the AMD kexts in version 1.5.1 (mac OS combo Update 10.12.5).

I was able to decrease by 2 degrees Celsius. Now the Sierra 10.12.5 stands at 34 degrees Celsius in idle (only open Terminal, Active Monitor, Istat Menu and gfxcardstatus).

The kexts 1.5.1 installed on the hard disk require more dependency (AMDLegacyFramebuffer.kext, AMDLegacySupport.kext) than the kexts of the pendrive installer. This difference is relative to the construction of kext.

I tried manually loading the kets of AMDLegacySupport.kext and AMDLegacyFramebuffer.kext to satisfy the dependency of the AMD6000Controller.kext, but it did not reduce the temperature so much.

So I put these kexts for automatic loading and lowered the temperature to 34 degrees Celsius.
Remembering that the AMDRadeonX3000.kext is the crucial kext to drastically lower the temperature.

I use FGuarani's method to move the kexts.

You have to watch the Active Monitor tab Energy, the Spotlight is consuming resources and increasing the temperature.

On my first boot after moving the kexts and loads them, I waited 10 minutes until the Spotlight reduce energy consumption.
The temperature in idle was 38 degrees Celsius after finishing high consumption of Spotlight (30%).

Now comes the interesting, on the second day, and in the second boot, the temperature has dropped even more. I also noticed that in the Istat Menu GPU Die Analog, the temperature dropped rapidly after loading the AMDRadeonX3000.kext.



My Spotlight is with all the options unchecked.

System Preferences -> Spotlight -> Search Results


AMDRadeonX3000.kext is manually loaded to prevent screen freeze during boot (IOConsoleUsers IOScreenLockState).


load automatic - kexts 1.5.1 - /System/Library/Extensions

AMD6000Controller.kext

AMDFramebuffer.kext

AMDLegacyFramebuffer.kext

AMDLegacySupport.kext

AMDSupport.kext


load manual - kext 1.5.1 - /kexts-1.5.1-combo-update

cd /kexts-1.5.1-combo-update

sudo kextload AMDRadeonX3000.kext


kextstat | grep AMD

com.apple.kext.AMDLegacySupport (1.5.1)

com.apple.kext.AMD6000Controller (1.5.1)

com.apple.kext.AMDLegacyFramebuffer (1.5.1)

com.apple.AMDRadeonX3000 (1.5.1)


Download macOS Sierra 10.12.5 Combo Update
https://support.apple.com/kb/DL1918?locale=en_US


Update:

The AMDRadeonX3000.kext that is manually loaded is outside the user directory ( /Users ).

Use the TAB key to autocomplete the names of partitions and files.


1 - mac OS Sierra -> Applications -> Utilities -> Terminal

cd /

sudo mkdir kexts-1.5.1-combo-update


2 - Install mac OS Sierra 10.12.5 combo update


3 - After reboot, the system rebuild cache,

Probably the system will hang on IOSetLockState IOConsoleUsers.

I had done the Safe Mode procedure (press Shift at boot), but I noticed that after rebuild caching, it doubled the memory consumption. As I had described in an earlier post.

So, boot normal (without any key press at boot).
So I let the screen freeze on IOConsoleUsers IOScreenLockState (system hangs because AMDRadeonX3000.kext is in /System/Library/Extensions after install mac os sierra 10.12.5 combo update).

Press the Power button to turn off and exit the frozen screen.

Press the Power button again to turn on the Macbook Pro and now enter the Recovery Mode (Command + R) and move the kexts. Method of FGuarani.


4 - Recovery Mode (Command + R) - Utilities -> Terminal -> Move all AMD and ATI kexts to /kexts-1.5.1-combo-update .

My Sierra 10.12.5 installed hard disk on partition name MacSierra

mv -v /Volumes/MacSierra/System/Library/Extensions/AMD*.* /Volumes/MacSierra/kexts-1.5.1-combo-update

mv -v /Volumes/MacSierra/System/Library/Extensions/ATI*.* /Volumes/MacSierra/kexts-1.5.1-combo-update



5 - Move these kexts back to the /System/Library/Extensions (Sierra installed on hard disk)

AMD6000Controller.kext
AMDFramebuffer.kext
AMDLegacyFramebuffer.kext
AMDLegacySupport.kext
AMDSupport.kext


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMD6000Controller.kext /Volumes/MacSierra/System/Library/Extensions/

mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDFramebuffer.kext /Volumes/MacSierra/System/Library/Extensions/



mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDLegacyFramebuffer.kext /Volumes/MacSierra/System/Library/Extensions/


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDLegacySupport.kext /Volumes/MacSierra/System/Library/Extensions/


mv -v /Volumes/MacSierra/kexts-1.5.1-combo-update/AMDSupport.kext /Volumes/MacSierra/System/Library/Extensions/



6 - Go back to the /

cd /


7 - Restart the system. Leave Recovery Mode -> enter normal boot

reboot


8 - After login -> manual load AMDRadeonX3000.kext

cd /kexts-1.5.1-combo-update

sudo kextload AMDRadeonX3000.kext

I tried your latest method. But it did not work for me. I moved my 1.44 AMD Kexts out of /System/Library/Extensions and replaced them with the original 1.51 versions from /AMD_Kexts where I had moved them. They seemed to load ok according to to System/Report/Extensions with the exception of AMDSupport.kext... The other four kexts loaded fine. But when I tried to kextload the AMDRadeonX3000 after booting, temps did not go down like they did with the 1.44 versions. All of a sudden, by gpu was pushing 53c! After restoring the 1.44 kexts, gpu temp fell to 32c idle, and System Info shows it is only drawing 880ma from the battery.

I think I will leave it alone before I break something... ha ha :)
 

nsgr

macrumors 6502
May 22, 2017
317
117
I tried your latest method. But it did not work for me. I moved my 1.44 AMD Kexts out of /System/Library/Extensions and replaced them with the original 1.51 versions from /AMD_Kexts where I had moved them. They seemed to load ok according to to System/Report/Extensions with the exception of AMDSupport.kext... The other four kexts loaded fine. But when I tried to kextload the AMDRadeonX3000 after booting, temps did not go down like they did with the 1.44 versions. All of a sudden, by gpu was pushing 53c! After restoring the 1.44 kexts, gpu temp fell to 32c idle, and System Info shows it is only drawing 880ma from the battery.

I think I will leave it alone before I break something... ha ha :)

My best results were with the pendrive installer Sierra 10.12.3 kexts 1.4.8 and now with kexts 1.5.1.

Tried kexts 1.4.8 - mac os sierra 10.12.2 combo update but not much lowered temperature.

It ends up being a particular method for each in trial and error.
 

zaurak

macrumors newbie
Apr 12, 2010
7
5
Could somebody create a launchdaemon plist to autoload AMDRadeonX30000.kext at user login?
 

jethrotull

macrumors newbie
Sep 22, 2012
2
0
Hello Thank You for any help in advance

Will this work on a MacBook Pro (Retina, 15-inch, Early 2013) with Intel HD Graphics 4000 1536 MB ???

Thank You
 

tommyball

macrumors newbie
Jul 6, 2017
6
0
Austin, TX
Interesting. I only have Photoshop Elements 12 and it works fine. Perhaps you have to disable GPU in the Preferences or something??? In fact, all my programs work fine - perhaps some a little slower without the dGPU.... The only apparent loss is connecting to an external monitor - (The Thunderbolt port is connected directly to the dGPU. But I have an Apple TV, so I can use Airplay if I want to share my screen on the TV...

Thing is, I'm an illustrator and I used the MacBook as my work computer with a 22" Wacom Cintiq drawing monitor/tablet as an external monitor and I regularly created Photoshop files that were around 1GB. I realize that heavy use probably contributed to the dGPU's early demise. I got about 3 years out of the original logic board, then 18 months out of the second one. You can adjust the graphics preferences in Photoshop, so I'm sure it's usable, but without being able to use a Cintiq, it's useless for me.
 

tschuuuls

macrumors newbie
Jul 7, 2017
15
0
Hello Thank You for any help in advance

Will this work on a MacBook Pro (Retina, 15-inch, Early 2013) with Intel HD Graphics 4000 1536 MB ???

Thank You
Probably not.
But those Macbooks use entirely different GPU's. On the 2012 models (probably) at least the Graphics card itself is just fine, just the MUX chip (that switches the video signal from the iGPU/dGPU) is badly soldered and on a non-ideal part of the board, and suspect to flexing. Check louis rossmann on youtube, you'll probably find advice for a fix there.
[doublepost=1499902195][/doublepost]
Thing is, I'm an illustrator and I used the MacBook as my work computer with a 22" Wacom Cintiq drawing monitor/tablet as an external monitor and I regularly created Photoshop files that were around 1GB. I realize that heavy use probably contributed to the dGPU's early demise. I got about 3 years out of the original logic board, then 18 months out of the second one. You can adjust the graphics preferences in Photoshop, so I'm sure it's usable, but without being able to use a Cintiq, it's useless for me.

I had the dGPU disabled for 95% of the time i used my MBP and mine still died in 2016 (was completely fine before), played through some games on bootcamp but probably haven't used the GPU more than 100h's and it still died.
[doublepost=1499902537][/doublepost]
Could somebody create a launchdaemon plist to autoload AMDRadeonX30000.kext at user login?
I'll look into that. Will probably write a script/little program (never really did stuff with XCode/objective C before, more a Java guy) to make the adjustments to nvram and kexts.
I just don't know if apple allows me to run a root command at bootup (Windows doesn't like that at all).

A of users would probably benefit from this fix. Actually loading a script from usb is pretty hard in single user mode though, and Recovery won't boot with the dead gpu, and linux doesn't want to write stuff to HFS+ Journaled, let alone AppleFileSystem.
 

nsgr

macrumors 6502
May 22, 2017
317
117
Hello Thank You for any help in advance

Will this work on a MacBook Pro (Retina, 15-inch, Early 2013) with Intel HD Graphics 4000 1536 MB ???

Thank You

Apple uses a pattern of names for EFI variables.

The user sprin has a Macbook Pro 2014 Nvidia with the same names of variables and values.

MacBook Pro AMD and Nvidia use the same variable names and the same values for these variables.

Example gpu-power-prefs for AMD or Nvidia set to integrated Intel video card

FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs -> 01000000

https://github.com/ah-/gmux-scripts/issues/1#issuecomment-68113930
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.