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.
Did you boot into Archlinux by pressing the "E" key as soon as the first text appeared?
After that, you need to press spacebar and add "nomodeset" to the command line.

Further, type in the exact underlined sentence directly below when you get to this step:

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



That should do it.

I do all commands they work but I still can't remove gpu
 
  • Like
Reactions: AppleMacFinder
Thanks applemac! anyone have experience with the ubuntu fix?

Seriously if anyone can help me with this, im nearly there ill paypal you $'s :)

So i fresh installed ubuntu without any bootmanager (im think i did this succesfully before)

Using this forum, this https://ubuntuforums.org/showthread.php?t=2157775
and this https://orville.thebennettproject.com/articles/installing-ubuntu-14-04-lts-on-a-2011-macbook-pro/

I get it installed, im sure the codes "outb" and "i915.lvds" work to disable the gpu on boot however for the fix to work grub needs to load on restart after installation. This is not happening here, it just tries to load ubuntu normally and i think its hanging because of the gpu.

I got grub to load by pressing esc on boot, its brings me to page where im supposed to enter "outb" and "i915" again this will allow me to enter ubunto and disable gpu from there.
The grub page that it brings me to is different though and I dont see setgfxpayload=keep, see pics attached

One possible workaround would be to load the live cd again, enter "i915" ect, from there and with terminal and mounting the install i can manually edit the grub.cfg and the 10_linux files found under /ect/default/ folder. easy. But how the hell do i then update the grub from root? It should be located

I did find recovery mode which gave me the option to update grub bootloader but that didnt work, restart, still hangs on load. I also tried fail safe graphics which just brings me to a black screen.

All and any ideas welcome!

Quick summary of question:

How do i get into the same grub file from livecd on regular boot?

Seeing as failsafe graphics mode didnt work, could there be an issue with the install? I used all express settings.

After editing grub.cfg and 10_linux that were mounted in /ect/ on main partition how to i update main grub file?
I find this a bit strange, when i open the largest partition on the drive i go to the boot folder its empty...
[doublepost=1494388984][/doublepost]Oh snap!

I answered my own question, there was two folders for /ect/!

I just modified the 10-Linux and grub.cfg fro the other folder, went back to recovery mode and updated grub boot loader and viola!

Only question remaining is if under ubunto I should run virtual OSX or Windows?

Any ideas which is least likely to mess up and cause problems?
 

Attachments

  • image_6483441 (1).JPG
    image_6483441 (1).JPG
    1.7 MB · Views: 1,402
  • image_6483441.JPG
    image_6483441.JPG
    1.5 MB · Views: 697
  • Like
Reactions: AppleMacFinder
My own Macbook is almost completely ready! :)

If anyone wonders whether parts between the different Unibody models are exchangeable... They are! :)

My own 13 inch is a Franken-Mac, which I've pretty much assembled myself from scavenged parts. The original system was a 2009 with Logic board issues. I could get a 2012 Logic board with a minor defect on the cheap (Keyboard backlight connector is broken off, big deal... Already ordered new ones from Aliexpress and they are due tomorrow. Just have to solder it back on). With the 2012 Logic board comes some new parts which need to be replaced:

2009: Battery, complete body, fan, keyboard, trackpad, superdrive, battery indicator/sleep sensor
2011-2012: complete display lid (for the antenna system and FaceTime cam, LCD itself is the same between all the Unibody models, except for the LVDS cable (it is replaceable for different years in case you are wondering), Airport assembly/housing, subwoofer, right speaker, Superdrive cable (shorter than the older model, but the older one does work), HDD cable (shorter than the older model, but the older one does work). If you are wondering why I bought a complete lid: Easier. The glass panel is glued to the lid, enormous hassle to remove and reassemble, plus a good chance of breaking it.
2012: Logic board, mounting bracket for the Logic board (near the fan), Airport card (for handoff functionality).

Works perfectly reliably and stable up until now! Temps are very good too!

Biggest incompatibilities:

- One mount hole on the Logic Board didn't match up. Now it has one screw less in it. Big deal.
- Bluetooth antenne in the newer models is integrated INTO the dust cover of the Superdrive (the plastic strip inside which covers the Superdrive). You can see a small PCB if you look closely. I couldn't source this anywhere for a 13 inch (did found them for the 15 inch). IF you are able to acquire one, I'm not sure it will fit (it is BENEATH the right speaker). It is glued AND held in place by one screw, which the pre 2010 models miss the hole for. Fixed by buying a small bluetooth antenna with PCB from Aliexpress and taped it into the Wifi antenna assembly in the clutch cover. It is a near perfect fit (didn't have to modify anything for it). It is taped on the other side, which is just plastic and doesn't have any antenna strips. Works fine now (still have an easy 10+ meter (30+ feet) range). :)
 
  • Like
Reactions: AppleMacFinder
it would be amazing is someone could clone a fixed machine running anything, osx, ubuntu or windows and post it somewhere!
These EFI variables are not stored at MBP's hard drive, I believe they are stored at the free memory inside MBP's BIOS/UEFI SPI flash chip, or maybe PRAM. So, even if you remove a hard drive from "fixed MBP" and insert it to "not-fixed-yet MBP", that will not change the things
I do all commands they work but I still can't remove gpu
Maybe you did a mistake at some step. This instruction is lengthy, and
it is too easy to make a small mistake which will result in a fail of fix. Please try again ;)
[doublepost=1494580023][/doublepost]
anyone have experience with the ubuntu fix?
I don't think there should be any significant specifics about Ubuntu. both Arch and Ubuntu are Linux distros, and this EFI fix is universal - means, once you do it successfully, it should be working for any OS

I get it installed, im sure the codes "outb" and "i915.lvds" work to disable the gpu on boot however for the fix to work grub needs to load on restart after installation. This is not happening here, it just tries to load ubuntu normally and i think its hanging because of the gpu

Using a LiveCD you could modify the files at the HD's filesystems, including grub configuration files. Also you could try using some helpful utilities like Boot Repair - https://help.ubuntu.com/community/Boot-Repair (when the manual edits are not needed) and Grub Customizer (perfect for manual edits and changes in boot priorities) - http://ubuntuhandbook.org/index.php/2016/04/install-grub-customizer-ubuntu-16-04-lts/ . These tools will help to simplify the configuration process and make it more user friendly

But how the hell do i then update the grub from root? ... How do i get into the same grub file from livecd on regular boot?

There are some helpful articles about how to update the grub from LiveCD - http://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd <---- you could additionally edit the grub configuration file before running update-grub command, which is supposed to apply the changes you have made

if under ubuntu I should run virtual OSX or Windows? Any ideas which is least likely to mess up and cause problems?

If you need the OS X and Windows software, yes of course you could run the virtual machines, either VMWare (has the better graphics support, e.g. higher DirectX and OpenGL versions) or VirtualBox (more open-source friendly) or even something like QEMU. It is completely fine to run the virtual machines, the only problem you could encounter is a lack of RAM. Since the RAM of your MBP is upgradeable, it is highly recommended to have at least 8 GB RAM - and for professional users 16 GB RAM is must have for the comfortable work and maybe running two virtual machines at the same time

By the way, OS X on Ubuntu is "Hackintosh" - this is not officially supported by Apple and you will have to spend some time to research about how to correctly install OS X into a virtual machine. This is more difficult than just installing OS X on a real Mac hardware. Luckily there are a lot of helpful forums and manuals in the Internet, even some downloads for already-configured OS X virtual machines
 
Last edited:
  • Like
Reactions: blueman2
Hi, thanks for this fix; here's my problem, though.
I applied all the steps and my MBP 2011 managed to reach login screen and boot. Several applications like Safari, Chrome, Office apps, etc run smoothly in iGPU mode (as I can tell from gfxCardStatus); but when an app like VLC attempts to run and play a video, dGPU is invoked... and black screen->reboot. So, iGPU mode is the default Mac boots from, but it is not locked in place.
Also, if I try to lock iGPU mode via gfxCardStatus (due to a known gfxCardStatus bug that requires to select twice the Integrated Only option, as the first time it goes to dGPU mode) it goes to dGPU and it crashes.
I even tried (https://github.com/steveschow/gfxCardStatus), no luck still.

So.. could anyone recommend a way to keep iGPU lock in after I successfully boot and login using AppleMacFinder's solution?
 
  • Like
Reactions: AppleMacFinder
Hi, still no luck with early 2011 MBP i7 - AMD Radeon HD 6750M (non retina) using Yosemite. Up until last boot the dGPU was working and latest attempt now results in good boot with switchGPU in dynamic mode with iGPU active. When I try to change switchGPU to intergrated, MBP freezes. I am confident I have followed the instructions exactly. Where to now? I have attached a screen shot of my last few commands for comments. Image is up until the last command I used which was reboot. Maybe there is something obvious to experienced members. Thanks.

Just wondering, is this model supported with this fix? It would be just my luck that it isn't for some reason.
dGPU now failed again and when boots the lines are back. So the fix still not right.:(:(:(
 

Attachments

  • mac linux.JPG
    mac linux.JPG
    2.1 MB · Views: 800
Last edited:
  • Like
Reactions: AppleMacFinder
Hi, thanks for this fix; here's my problem, though.
I applied all the steps and my MBP 2011 managed to reach login screen and boot. Several applications like Safari, Chrome, Office apps, etc run smoothly in iGPU mode (as I can tell from gfxCardStatus); but when an app like VLC attempts to run and play a video, dGPU is invoked... and black screen->reboot. So, iGPU mode is the default Mac boots from, but it is not locked in place.
Also, if I try to lock iGPU mode via gfxCardStatus (due to a known gfxCardStatus bug that requires to select twice the Integrated Only option, as the first time it goes to dGPU mode) it goes to dGPU and it crashes.
I even tried (https://github.com/steveschow/gfxCardStatus), no luck still.

So.. could anyone recommend a way to keep iGPU lock in after I successfully boot and login using AppleMacFinder's solution?

If the fix is successful, iGPU is always being used and it is impossible to switch to discrete GPU even when you try to do it on purpose with gfxCardStatus. From your message I see that dGPU could be activated -
so this fix hasn't been completely successful for you. Maybe you did a mistake on some step and need to repeat all the steps... Are you sure that you have removed the AMD kexts? If not, please see the first message of this thread to learn how to remove them, and try again. Additionally, you may want to clear your PRAM / NVRAM / SMC before repeating the steps

Hi, still no luck with early 2011 MBP i7 - AMD Radeon HD 6750M (non retina) using Yosemite. Up until last boot the dGPU was working and latest attempt now results in good boot with switchGPU in dynamic mode with iGPU active. When I try to change switchGPU to intergrated, MBP freezes. I am confident I have followed the instructions exactly. Where to now? I have attached a screen shot of my last few commands for comments. Image is up until the last command I used which was reboot. Maybe there is something obvious to experienced members. Thanks.

Just wondering, is this model supported with this fix? It would be just my luck that it isn't for some reason.
dGPU now failed again and when boots the lines are back. So the fix still not right.:(:(:(

Yes, of course this model is supported - actually I have exactly the same model ; this fix is working perfectly for me since the first attempt and I never had to reapply this fix yet... - and that is why my experience with this fix is somewhat limited. Probably this fix could work for any MBP with integrated+discrete GPU combination.

After looking at your screen photo I am sure that you did everything correctly, but there is some another problem that is a reason of failure. Maybe this is a fault of some other EFI variables that are GPU related: gpu-active-... and gpu-policy-... , maybe you need to research about them and for example try to remove them if nothing else helps. Then you could repeat the same advice as given to Dimitris R above:
1) Make sure that the AMD kexts are removed
2) Clear PRAM / NVRAM / SMC - to return them to their default state
3) Try repeating the "fix" instruction from the beginning to end
 
  • Like
Reactions: blueman2
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!



Thank you very much!! Really, you saved my macbook pro early 2011! I had bought it, second hand, few weeks ago. The seller didn't told me for the GPU default. I am new to Mac (always got PC and I am moderatly advance on this platform). I had always dream to possessed a mac, but never had enough money to buy one. So, I had this deal on this mac and I had choose this model for is possibility to be easily upgradable in ram and in drive. My dream became a nightmare. But, I done my homework and found your post!! When you read about how useless is to repair the hardware of those machines, you realise there is no good solution. But YOU have the best solution ever!!!! I was on Mac Sierra 10.12.4 but after some search, I realized it was better to downgrade on Yosemite (found on the net) to avoid the SIP easily (I only need to run Ableton on this machine. Yosemit is sufficient). I had to change the date (set 2015) to be able to install it. After that, I followed your step, clearly explained. And you saved my computer!!! Thank you, thank you!!! (After this adventure, I have lost my thrust for this company. Apple with is planned obsolescence)
(sorry if my english is not good, it isn't my first language)
 
AppleMacFinder said in response to Stuffa...

Yes, of course this model is supported - actually I have exactly the same model ; this fix is working perfectly for me since the first attempt and I never had to reapply this fix yet... - and that is why my experience with this fix is somewhat limited. Probably this fix could work for any MBP with integrated+discrete GPU combination.

After looking at your screen photo I am sure that you did everything correctly, but there is some another problem that is a reason of failure. Maybe this is a fault of some other EFI variables that are GPU related: gpu-active-... and gpu-policy-... , maybe you need to research about them and for example try to remove them if nothing else helps. Then you could repeat the same advice as given to Dimitris R above:
1) Make sure that the AMD kexts are removed
2) Clear PRAM / NVRAM / SMC - to return them to their default state
3) Try repeating the "fix" instruction from the beginning to end

-------------------------------------------------------------------------------------------------------------------------

Done the resets as well. Have tried it all again. Still no go. In the past have tried the kext removal to end up with very slow and unusable video. Makes the MBP useless.

Have no experience with gpu variables so would not know what to research. I am really just a user having a go to fix my daughters MBP.
What I have read that I need clarification about is some versions of gfxCardStatus have issues with different versions of OSX. I have been using older 2.3 version. Would that be a problem? Could Yosemite be a problem or is it only newer OSXs?

Might be silly questions but just don't understand why this MBP will not accept the fix. Also even installed new Yosemite did it all again but still not working.

PS.. One more thing. Downloaded Ubuntu 16 and did the disable discrete graphics via grub and ran the demo prefectly. Problem is don't want Ubuntu. Need MacOSX.

P.S.. (2) Decided to remove older gfxcardstatus (was freezing MBP) and install latest version.
Problem is being a non mac user how do you install it? I know enough to install dmg and pkg's and that's it. Have unzipped it and have a folder - what now?
 
Last edited:
  • Like
Reactions: AppleMacFinder
Hi all. I followed the steps listed and it WORKED for me. My late 2011 15 inch MacBook Pro is back in working order, minus the AMD GPU. Now, of course since I fixed on Sunday, a new macOS Sierra update has come out. I assume I know the answer to my question, but I will ask it anyway...

I assume if I install the update, it will revert my now working MacBook Pro back to a non-working state. Wondering if anyone can confirm. Sadly, I think the answer is YES, it will revert my MacBook Pro back into a non-working, red screen machine.
 
  • Like
Reactions: AppleMacFinder
Could probably score a 15" MBP with a broken discrete GPU fairly cheap on Craigslist, apply this fix and boom. Would be great for high school and college students unless they're into more professional apps.
 
  • Like
Reactions: AppleMacFinder
Hi all. Update on my woes with this fix. I can get the fix to work ...but ... it will only "stick" for the next boot. To fix for next boot all I have to do to is boot into LiveCD as normal, cd to /sys...efivars/, chattr -i to gpu-power-prefs...., do the printf command, change gpu-power-prefs... back to immutable with chattr +i .... , cd to root and umount as instructed. Reboot and we in again.

At this point do not have gfxcardstats installed - don't know how to (see my previous post). Had older version installed but not sure if I removed it correctly either. But there is a gfx variable in the same folder as gpu-power-.. variables. Should it be there? Could this be the problem? Have tried to remove it but can not. (changed immutable and still no go)

Any experts able to help. I have no clue in this department. Just following the instructions and learning as we go.

Also won't boot straight in OSX now. Have to use the option key to select the OS and then it loads.(with no cd in drive) What have I done???

Any help appreciated. Thanks
 
  • Like
Reactions: AppleMacFinder
Thank you so much for your helpful post. Your solution worked for getting my MacBook Pro Early 2011 up and running again.

After I did a restart, I couldn't login again. I had to do the Linux boot up routine again, etc. So right down, I'm backing up the data I want to keep, but I think I'm going to be forced to purchase a new MacBook Pro.

I just had the logic board replaced by Apple on this MacBook Pro in October 2016! - plus a new hard drive too.
 
  • Like
Reactions: AppleMacFinder
After I did a restart, I couldn't login again. I had to do the Linux boot up routine again, etc

I am really curious, why for some people this fix works perfectly from the first time and is permanent, while for other people this fix is problematic or is not permanent... Maybe a problem is Sierra? (maybe it could reset PRAM and/or EFI values, breaking the fix?) . Still sitting on El Capitan - first on 10.11.5, then upgraded to 10.11.6 without losing a fix, and everything is still fine

Done the resets as well. Have tried it all again. Still no go. In the past have tried the kext removal to end up with very slow and unusable video. Makes the MBP useless

Yes, removing the kexts temporarily results in the laggy graphics, but you just need to keep going and - while the kexts are removed - repeat the Arch Linux instructions. And then it should work OK

What I have read that I need clarification about is some versions of gfxCardStatus have issues with different versions of OSX. I have been using older 2.3 version. Would that be a problem? Could Yosemite be a problem or is it only newer OSXs?

This fix does not depend on gfxCardStatus or gfxCardStatus versions. Moreover, if the fix is working then gfxCardStatus is useless - you couldn't switch to discrete even if you are trying to do it on purpose with gfxCardStatus

Might be silly questions but just don't understand why this MBP will not accept the fix. Also even installed new Yosemite did it all again but still not working

Hmmm... Please could you try El Capitan? Because we don't have any better ideas currently, you need to try to come as close as possible to my software configuration. Hopefully installing the El Capitan could make a real change there

Problem is being a non mac user how do you install it? I know enough to install dmg and pkg's and that's it. Have unzipped it and have a folder - what now?

To install a Mac app, copy it to /Applications folder

Hi all. I followed the steps listed and it WORKED for me. My late 2011 15 inch MacBook Pro is back in working order, minus the AMD GPU. Now, of course since I fixed on Sunday, a new macOS Sierra update has come out. I assume I know the answer to my question, but I will ask it anyway...

I assume if I install the update, it will revert my now working MacBook Pro back to a non-working state. Wondering if anyone can confirm. Sadly, I think the answer is YES, it will revert my MacBook Pro back into a non-working, red screen machine.

I have successfully upgraded from 10.11.5 to 10.11.6 without losing a fix, but I am not sure if the other upgrade path (such as "El Capitan --> Sierra" or "Sierra older --> Sierra newer") will not break this fix as well. If you believe that Sierra update is really important, and have some spare time to repeat the fix in case the update will break it, maybe you could try ;)

Could probably score a 15" MBP with a broken discrete GPU fairly cheap on Craigslist, apply this fix and boom. Would be great for high school and college students unless they're into more professional apps.
Yes, maybe some money could be earned this way...

Hi all. Update on my woes with this fix. I can get the fix to work ...but ... it will only "stick" for the next boot. To fix for next boot all I have to do to is boot into LiveCD as normal, cd to /sys...efivars/, chattr -i to gpu-power-prefs...., do the printf command, change gpu-power-prefs... back to immutable with chattr +i .... , cd to root and umount as instructed. Reboot and we in again

Its sad to hear this... Although some people are using their Macs for months without rebooting

At this point do not have gfxcardstats installed - don't know how to (see my previous post). Had older version installed but not sure if I removed it correctly either. But there is a gfx variable in the same folder as gpu-power-.. variables. Should it be there? Could this be the problem? Have tried to remove it but can not. (changed immutable and still no go)

Any experts able to help. I have no clue in this department. Just following the instructions and learning as we go.

Also won't boot straight in OSX now. Have to use the option key to select the OS and then it loads.(with no cd in drive) What have I done???

Any help appreciated. Thanks

Maybe your current EFI variables state is kinda screwed. To repair it you need to reset PRAM, but please note that resetting PRAM breaks a fix so you'll have to repeat some steps
 
  • Like
Reactions: blueman2
I have MPR early 2013 , and I have the the problem with GPU and need to replace the logic board , I sent to the authorized store and they tell my that my MBP out of the program because it is over 4 years, the activation date was on 23-April-2013 , that means just less month !! what can I do ? Is there any way repair my Mac ? plz HELP :(
 
Last edited:
  • Like
Reactions: AppleMacFinder
I have MPR early 2013 , and I have the the problem with GPU and need to replace the logic board , I sent to the authorized store and they tell my that my MBP out of the program because it is over 4 years, the activation date was on 23-April-2013 , that means just less month !! what can I do ? Is there any way repair my Mac ? plz HELP :(
You have three possible solutions:
1) Permanently disable the discrete GPU using this "EFI variable fix" (instructions are at the first page of this thread)
2) Replace a logic board and pay a fortune for it
3) Order the same GPU chip from China as the replacement, bring both logic board and GPU chip to the unofficial repair store that can do BGA repairs and ask them to replace. Should be less than $100

It is very inefficient to replace the whole logic board if the only broken component is GPU, because GPU chip can be replaced. First of all, especially if you don't really need the discrete graphics, try doing the EFI variable fix. If it doesn't work for you no matter how hard you are trying, or if you really need the discrete graphics, replace the GPU chip
 
  • Like
Reactions: blueman2
Had not done PRAM reset - thought I had. After done, a whole lot of variables disappeared including the gfx.... one.
It also fixed the boot issue. But this "fix" still will only hold for 1 maybe 2 reboots. So something is still changing the gpu-power-prefs.. variable.

Decided to do the AMD kext removal. And may I say I think we have success. Did not do the fix again as suggested but have now booted 6 times in a row successfully so far. Tis late so off to bed. Will post update in day or 2 but it is looking ok so far. Thanks for your assistance AppleMacFinder.

Last thing for now. Is there any notible performance change. It is not used for gaming at all. It's main need is for professional music recording with apps like ProTools and Reason.

Should I re-installed gfxCardstatus to test the fix because the AMD kexts have been moved? I kinda think there is no point????

Update - Done another 10+ reboots this morning and still ok. :):):)

Also up to what year model do you think this fix would work? There are MBPs up to mid 2015 that are dual graphics models. Who knows maybe they will start playing up soon. I would rather have one of them than the latest models. Don't like the limited "built in" ports that they come with now and preformace of the new ones are not any better than those i7 2015 models.
(and they cost an arm and a leg now) - anyway each to there own.
 
Last edited:
I am really curious, why for some people this fix works perfectly from the first time and is permanent, while for other people this fix is problematic or is not permanent... Maybe a problem is Sierra? (maybe it could reset PRAM and/or EFI values, breaking the fix?) . Still sitting on El Capitan - first on 10.11.5, then upgraded to 10.11.6 without losing a fix, and everything is still fine



Yes, removing the kexts temporarily results in the laggy graphics, but you just need to keep going and - while the kexts are removed - repeat the Arch Linux instructions. And then it should work OK



This fix does not depend on gfxCardStatus or gfxCardStatus versions. Moreover, if the fix is working then gfxCardStatus is useless - you couldn't switch to discrete even if you are trying to do it on purpose with gfxCardStatus



Hmmm... Please could you try El Capitan? Because we don't have any better ideas currently, you need to try to come as close as possible to my software configuration. Hopefully installing the El Capitan could make a real change there



To install a Mac app, copy it to /Applications folder



I have successfully upgraded from 10.11.5 to 10.11.6 without losing a fix, but I am not sure if the other upgrade path (such as "El Capitan --> Sierra" or "Sierra older --> Sierra newer") will not break this fix as well. If you believe that Sierra update is really important, and have some spare time to repeat the fix in case the update will break it, maybe you could try ;)

Yes, maybe some money could be earned this way...



Its sad to hear this... Although some people are using their Macs for months without rebooting



Maybe your current EFI variables state is kinda screwed. To repair it you need to reset PRAM, but please note that resetting PRAM breaks a fix so you'll have to repeat some steps
[doublepost=1495386953][/doublepost]here's a link from Apple.com that may be useful:

About EFI and SMC firmware updates for Intel-based Mac computers
This article lists firmware updates available as standalone installers for Intel-based Mac computers.

https://support.apple.com/en-us/HT201518
 
  • Like
Reactions: AppleMacFinder
I signed up an account just to say THANK YOU! to AppleMacFinder and FGuarini.
  • 15" MacBook Pro 2011
  • replaced the mother board using Apple's repair extension program https://www.apple.com/support/macbookpro-videoissues
  • replaced mother board worked for a year
  • after Sierra update, my graphic card is gone, always stuck at gray screen
  • brought to Apple Authorized Repair center. They rejected me and said no spare parts available.
  • brought to a local repair shop. They charged me $250 to replace the mother board. But it did not work. The shop refunded me $250.
Today I found this forum post and followed the instructions step by step.

Force 2011 MacBook Pro 8,2 with failed AMD GPU to ALWAYS use Intel integrated GPU (EFI variable fix)

My MacBook Pro is working perfectly now.

Successfully able to use
  • reboot with Integrated graphic
  • normal web browsing
  • XCode
  • Smooth desktop switching, etc.
Fail
  • MacBook Pro hangs everytime I tried to open Photos app
But still it is much better than having $2000 piece of brick. :)

Thanks so much!
 
Last edited:
First I want to thank AppleMacFinder and FGuarini (install ArchLinux Pendrive) for this tutorial.

It worked for me.

The Macbook Pro Early 2011 had the red screen and white stripes.

If all goes well, restarting Macbook Pro (reboot in ArchLinux) will return the screen to working correctly (no red background screen and white stripes).

I tested on a :

- Macbook Pro 15 Early 2011 - A1286 - MacBookPro8,2 - 2.2 GHz
- Intel HD Graphics 3000 (512 MB) - AMD Radeon HD 6750M (1024 MB)

In the Macbook Pro Early 2011 that I tested had the same UUID (Before changing the gpu-power-prefs).

What is the probability of having the same UUID (this tutorial)? I suppose it's not a random UUID.

This UUID numbering would not be pre-configured? If you use a different UUID may not work (Macbook Pro Early 2011).

Has anyone tested with a different UUID numbering and worked (Macbook Pro Early 2011)?

gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9
 
Last edited:
  • Like
Reactions: AppleMacFinder
Hi, thanks for this fix; here's my problem, though.
I applied all the steps and my MBP 2011 managed to reach login screen and boot. Several applications like Safari, Chrome, Office apps, etc run smoothly in iGPU mode (as I can tell from gfxCardStatus); but when an app like VLC attempts to run and play a video, dGPU is invoked... and black screen->reboot. So, iGPU mode is the default Mac boots from, but it is not locked in place.
Also, if I try to lock iGPU mode via gfxCardStatus (due to a known gfxCardStatus bug that requires to select twice the Integrated Only option, as the first time it goes to dGPU mode) it goes to dGPU and it crashes.
I even tried (https://github.com/steveschow/gfxCardStatus), no luck still.

So.. could anyone recommend a way to keep iGPU lock in after I successfully boot and login using AppleMacFinder's solution?

Have you tried using this procedure in the Info.plist file? It's inside Software.app :

Example Firefox:

Finder -> Folder Applications -> Right-click on Firefox.app -> Show Package Contents -> Contents -> Info.plist

Firefox 53.0.2 (64-bit) - NSSupportsAutomaticGraphicsSwitching already exists in the Info.plist.

Google Chrome 58.0.3029.110 (64-bit) - NSSupportsAutomaticGraphicsSwitching already exists in the Info.plist.

VLC 2.2.5.1 Umbrella (Intel 64bit) - Different structure of Info.list.
It's not like:

<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>


QuickTime Player 10.4 (894.12) - There is no NSSupportsAutomaticGraphicsSwitching in Info.plist.



Technical Q&A QA1734
Allowing OpenGL applications to utilize the integrated GPU
Q: The 15-inch and 17-inch MacBook Pro models shipped Early 2011 and after come standard with 2 GPUs, one integrated and one discrete. How can I run my OpenGL application on the integrated GPU if it is possible?

A: Starting with OS X 10.7, you may choose to run your OpenGL application on the integrated GPU on the dual-GPU MacBook Pros shipped Early 2011 and after.

On OS X 10.7 and later, there is a new attribute called NSSupportsAutomaticGraphicsSwitching. To allow your OpenGL application to utilize the integrated GPU, you must add in the Info.plist of your application this key with a Boolean value of true, as shown in the following:

Figure 1 Adding the NSSupportsAutomaticGraphicsSwitching key in Info.plist.

Note: The NSSupportsAutomaticGraphicsSwitching key only works on the dual-GPU MacBook Pros that were shipped Early 2011 and after.

https://developer.apple.com/library/content/qa/qa1734/_index.html


Office for Mac - Mavericks - High Performance GPU

Anyone know how to force those apps to use the integrated graphics subsystem?

Fortunately there is an easy fix, just need to modify the lync and outlook Info.plist files (in the .app itself) by adding:

<key>NSSupportsAutomaticGraphicsSwitching</key>
<true/>

https://answers.microsoft.com/en-us...ance-gpu/e1a6aff0-e36e-40ae-ab62-aa7e3e0c6b10

Mac: Add NSSupportsAutomaticGraphicsSwitching to Info.plist

https://bitbucket.org/chromiumembedded/cef/issues/1396/mac-add

 
Last edited:
Hello there !

I'm trying to revive a mid-2010 15" MacBook Pro (MacBookPro 6,2), that definitely suffers a hardware failure (neither RAM nor HDD related). It can be another motherboard issue, but it's worth trying this fix given the GPU history with Apple laptops...

I carefully followed the procedure using Arch Linux, made sure efivars was rw mounted, removed immutability flag with chattr then successfully deleted gpu-power-prefs-... yet I'm stuck with the printf error some people reported :
printf: write error: invalid argument

It does create a new gpu-power-prefs-... file though, but an empty one (0B).
I rebooted, triple checked efivars was read&write, to no avail.

I tried the printf command, but to write the file in the home directory instead (/root), and it successfully created a non empty file. Yet, trying to move it to /sys/firmware/efi/efivars folder also leads to an error :
mv: error writing ’/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9’: invalid argument

That write error along with invalid argument is puzzling... Something seems to prevent properly writing to /sys/firmware/efi/efivars/ but I'm clueless here.

Any idea ?
 
  • Like
Reactions: AppleMacFinder
Tip: Mac OS Sierra 10.12.3

If you are removing AMD and ATI kexts, before you rebuild the cache, you must enable System Integrity Protection (SIP) again. (csrutil enable).

I did a test rebuilding the cache before enabling SIP again. There was a double increase in memory consumption (App Memory and Wired Memory). From 2GB of consumption, passed to 4GB of RAM consumption. I suppose that kexts are loaded double.

With SIP enabled you will not be able to move the kexts. The System directory is locked.

Mac OS X El Capitan and later - System Integrity Protection (SIP)

SIP only changes to enable / disable in Recovery Mode (Startup Command-R).

usage: csrutil <command>

Modify the System Integrity Protection configuration. All configuration changes apply to the entire machine.

Available commands:

clear : Clear the existing configuration. Only available in Recovery OS.

disable: Disable the protection on the machine. Only available in Recovery OS.

enable: Enable the protection on the machine. Only available in Recovery OS.

status: Display the current configuration.

Steps:

0 - First enable verbose mode so you can see the boot information. The Apple logo will be disabled at boot.

Open the terminal and type:

sudo nvram boot-args="-v"

Reboot the system.

1 - Start up in Recovery Mode (Command + R)

2 - Choose your language on the first screen.

3 - Utilities -> Terminal
https://kb.paragon-software.com/wp-content/uploads/2015/09/recovery-terminal-sip.jpg

4 - Disable SIP with csrutil in the Terminal:

csrutil disable

5 - Reboot the System in the Terminal:

reboot

6 - Start up in Single User mode (Command + S)

7 - In Terminal, verify filesystem:

/sbin/fsck -fy

http://ww2.justanswer.com/uploads/MacAppleTech/2009-11-15_033439_Picture_4.png

8 - Mount " / " in Read Write mode:

/sbin/mount -uw /

9 - Create a folder/directory for the kexts that will be moved. The folder will be named DisableExtensions.

mkdir DisableExtensions

10 - Move the Kexts AMD with verbose mode (-v) to folder/directory DisableExtensions:

sudo mv -v /System/Library/Extensions/AMD*.* /DisableExtensions

11 - Move the Kexts ATI with verbose mode (-v) to folder/directory DisableExtensions:

sudo mv -v /System/Library/Extensions/ATI*.* /DisableExtensions

12 - Change timestamp in the folder/directory /System/Library/Extensions/ . This procedure forces the Mac OS to rebuild the cache at the next boot (without Kexts AMD and ATI).

sudo touch /System/Library/Extensions

13 - Restart the system:

reboot

14 - Pay attention. Start up in Recovery Mode (Command + R) . You must enable SIP before rebuilding the cache.

Utilities -> Terminal
https://kb.paragon-software.com/wp-content/uploads/2015/09/recovery-terminal-sip.jpg

15 - Enable SIP with csrutil in the Terminal:

csrutil enable

16 - Reboot the System in the Terminal:

reboot

17 - Enter the system in normal mode. Do not press any key. Mac OS will now rebuild the cache and restart the system.

18 - Now the Mac OS will no longer load the AMD or ATI kexts that freeze the screen.

19 - If you do an update then the new AMD and ATI kexts will be put back into the folder/directory /System/Library/Extensions.

So, every update you should repeat this procedure.

About System Integrity Protection on your Mac
https://support.apple.com/en-us/HT204899

Startup key combinations for Mac
https://support.apple.com/en-ie/HT201255
 
This is such a ****** problem for so many people. The really awful thing about it is that if you are like me, who has a MBP Late 2011 15" with this issue, you are essentially SOL. This is an amazing post which very thoroughly details a fix that might be working for some people.

I was going to go through the entire detailed process but I figured I'd give Apple a shot first. The 1st genius told me I was SOL and to buy another macbook, to which I laughed in his face. I then asked for the manager who told me they really couldn't do anything as it was past the date that it needed to be sent in by.

I then called Apple and spoke to various members of the AppleCare team, finally ending up at a Senior Tech who after some back and forth was able to "Pull some strings" and "fill out some forms" and said it would be taken care of (but only this once... he made sure that was emphasized multiple times.)

He put in whatever CS (customer Satisfaction) notes he needed to and I was able to set up another Genius Bar reservation an hour later. I then took my laptop in and was given some bs about it, but then persisted and they were able to process the transaction. The Senior Tech even went so far as to call me 10 minutes before he was leaving the office to make sure everything went smoothly at the Apple Store.

My advice for people.... know your product, know the issue in and out, know about the recall, acknowledge the recall terms and don't even mess with going into an Apple Store as they cannot authorize this repair to be done to older MBPs with this issue. Also, make it clear that you are an Apple customer with multiple Apple products and have spent copious amounts of money on their products and you find it very disheartening that they are not willing to fix your product for free (especially if it is just outside the exchange program window) and VERY inequitable that there is this arbitrary cutoff for the program (I confirmed with the Senior Tech that if I were not having this problem on 12/31/16 and then were to have it on 1/1/17, it technically would no longer be eligible for a repair.

In addition, I don't think this would have gotten fixed for free without it being just out of the repair window. If you have a early 2011 or late 2010 with this happening, you are better off buying a new logic board off of ebay for cheap (in comparison to Apple, who wanted upwards of $700 to fix this problem) and doing it yourself. I found them on ebay for around $250 for well-reviewed ones.
a

My experience should not be what you should expect to get. Plead your case, be persistent as you can and be as knowledgeable as you can. If all else fails, try the amazing writeup that @AppleMacFinder has so graciously bestowed upon us. Not many people realize how much time and effort a fix like this takes to FIND let alone WRITE UP.

H/T to you, @AppleMacFinder
 
Hello there !

I'm trying to revive a mid-2010 15" MacBook Pro (MacBookPro 6,2), that definitely suffers a hardware failure (neither RAM nor HDD related). It can be another motherboard issue, but it's worth trying this fix given the GPU history with Apple laptops...

I carefully followed the procedure using Arch Linux, made sure efivars was rw mounted, removed immutability flag with chattr then successfully deleted gpu-power-prefs-... yet I'm stuck with the printf error some people reported :
printf: write error: invalid argument

It does create a new gpu-power-prefs-... file though, but an empty one (0B).
I rebooted, triple checked efivars was read&write, to no avail.

I tried the printf command, but to write the file in the home directory instead (/root), and it successfully created a non empty file. Yet, trying to move it to /sys/firmware/efi/efivars folder also leads to an error :
mv: error writing ’/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9’: invalid argument

That write error along with invalid argument is puzzling... Something seems to prevent properly writing to /sys/firmware/efi/efivars/ but I'm clueless here.

Any idea ?

I do not know how much you know how to use the terminal on Linux (your level of experience in Linux).

What is your experience with Terminal in Linux? Novice or experienced?

Many people are missing the spaces between the commands and also in the " versus double '.

In this tutorial is used -> press SHIFT key + " -> On the US keyboard, is next to the Enter / Return key.

http://switchtoamac.com/images/hardware/macs/macbookpro/late_2008_mbp_keyboard.png
 
Last edited:
  • Like
Reactions: AppleMacFinder
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.