13

I have an early 2011 MacBook Pro that is affected by the well known problem on the graphics card (AMD 6490M 256MB). Apple Forum thread

Hopefully waiting for an Apple replacement program I want to disable the discrete graphics and enable only the Intel HD3000 chip in the i7.

I have been able to access the system by running these commands in "Single User Mode":

$ mkdir /DisabledExtensions
$ mv /Library/Extensions/AMD* /DisabledExtensions/

After that the Mac boot up in Mavericks but I have no graphic acceleration whatsoever, every animation is very slow. I can't change the brightness of the screen, the color calibration is different. Under "Settings > Monitor" shows that the computer is attached to an external monitor.

I have installed gfxCardStatus v2.2.1 which shows that I am running on the discrete graphics card and there is no chance to switch to integrated one. Even though I can see that the HD3000 Extension is loaded:

$ kextstat | grep HD3000

110 0 0xffffff7f837dc000 0x62000 0x62000 com.apple.driver.AppleIntelHD3000Graphics (8.2.4) <84 11 7 5 4 3 1>

The apple customer service says that they don't have an "official" procedure to disable the discrete graphics card.

Here are the specs:
Processor: 2 GHz Intel Core i7
Memory: 4 GB 1333 MHz DDR3
Graphics: AMD Radeon HD 6490M 256 MB
Software: OS X 10.9.5 (13F34)

2
  • Apple has decided to repair the defective MacBook Pros! <br/>Here you can find more information. Commented Feb 21, 2015 at 13:40
  • Apple's Repair Extension Program for these machines has ended together with the year 2016. Four options remain: baking the logic board, replacing the GPU alone, sourcing a used logic board – or disabling the dGPU via software like so: apple.stackexchange.com/a/295805/251859 Commented Oct 8, 2017 at 13:17

2 Answers 2

9

Disabling the ATI/AMD kernel extensions will not force the OS to switch to the Intel integrated graphics. It's a misconception in all the fixes/instructions out there... All that does is running the discrete chip with a fallback driver with no graphic acceleration. This is akin to seeing the "640x480 VGA" standard display mode on Windows back in the day whenever it cannot load the proprietary GPU driver. Same GPU is being used, just not at its full capacity.

Here is what happens after disabling the AMD/ATI extensions:

  • The black screen (no display) problem is usually fixed.
  • However there is no graphic acceleration.

  • Existing or new graphics defects(blue or pink bars/lines, jagged/out-of-order image, noise, etc.) will show up as temperature fluctuates (running GPU at high temp, power on/off, etc.), presumably due to the lead-free solder problem.

  • The defects are present at the boot time.

  • The internal LCD is treated as an external monitor, with only one possible resolution: the maximum display resolution (1440x900 or 1680x1050).

  • When the laptop LCD is used, it stays on full brightness and does not turn off when the lid is closed. This physically damages the screen as time goes (doesn't take long, several weeks will do).

  • A Thunderbolt external display can be used if the laptop lid is shut at the boot time (before image showing up on the laptop LCD).

  • Only one display device is recognized, either the laptop LCD or an external Thunderbolt monitor. There is no mirroring or extending when using an external monitor.
  • The laptop LCD will stay off when using an external monitor.

The only method I know that triggers the integrated graphics switch is the overheat-shutdown method.

0 (optional). If you can get the display to show up using the disable-kernel-extensions method, set your account to auto-login. Install switchGPU or a similar tool to automate step 3 below.

  1. Let the Macbook Pro overheat in a blanket or closed bag in order to force an auto-shutdown.

  2. Immediately turn it back on. It should be using the integrated graphics.

  3. Quickly switch to integrated graphics using gfxCardStatus (with proper setting in System Preferences/Energy Saver).

The problem with this method is that the OS will switch to discrete graphics whenever you run some app that uses graphics acceleration. So this is not a permanent solution.

The reality is, as long as the GPU BGA sits on top of those RoHS solder balls, the disable-kernel-extensions method will also start to fail at some point. The only lasting solution is reballing the GPU BGA with lead solder, if you have given up on Apple. Finding a reliable reballing service that understands temperature profiles and follows proper soldering techniques is yet another hurdle.

Update: Louis Rossmann pointed out that the problem is not with the solder balls on the board but the much smaller soldering joints within the GPU chip (see video @ 1:04: Reballing a dead horse: Q&A from my YT inbox.). It was mentioned that the actual problem may be temporarily fixed as a side effect of the reballing/reflowing process, but the only permanent solution is to replace the GPU, i.e., the whole board through Apple.

FYI, Apple's replacement program ends on December 31st 2016.

2
  • The problem of the brightness set to maximum, you can solve with the brightness slider, it is a free app, you will find it here: itunes.apple.com/us/app/brightness-slider/id456624497?mt=12
    – Skarab
    Commented Jan 28, 2015 at 17:47
  • @david-tang something about the bake-your-laptop method strikes me as odd ... is the integrated graphics setting preserved across reboots? if so, could you paste the output of sudo nvram -p | grep gpu please? curious what your gpu-policy is set to Commented Oct 18, 2015 at 15:13
2

SOLUTION WITHOUT HARDWARE AND EXTERNAL USB's (only commands)

I was struggling with this in a client's computer which I accepted because it seemed to be the same problem as my MBP 2010 mid (change a small chip, which I bought many more for the case), but it wasn't the same case.

After watching some Louis Rossmann video on the matter (which was a bit depressing), somehow I found this macrumors forum link and tried to follow the easy method (without Arch Linux), then I found this other link explaining in an easier manner the most complete procedure listed between the macforum comments (#875 from 2634 listed today).

So, recapitulating: creating a complete guide joining all them would include:

  1. Disable the AMD GPU and move one AMD kext so that it is not loaded on initial boot and reload it automatically (so it keeps your system cooler) as told in here
  2. Then create an extra file to use whenever the SMC/PRAM/NVRAM is reset, as told in this link starting from where it says Preventive measures for future use
  3. Last but not least, avoid the Close the Lid - Sleep - Waking problem as stated in here (which means adding just one more line to a file created in step 2).

One extra tip: I struggled running the command sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh so what I did was once I could finally enter MacOS, the first thing was to open a Terminal (Launchpad/Others/Terminal) and run the command from there (it asked users system password). After that, it was safe to shutdown without needing to do the process over again.

Complete list of commands:

For the sake of possible future broken links that aren't saved by web.archive.org, and to make it easy for everyone, I'll post the complete list of commands here without instructions:

  1. Power on your laptop while holding <Cmd>+<r>+<s>
  2. Once in command line:
    • Disable SIP entering csrutil disable
    • Reboot entering reboot AND
  3. Hold down <Cmd>+<s> to boot into single-user mode (once it has shutdown and starts booting)
  4. Once in command line enter the following:
    • nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
    • nvram boot-args=”-v” (I believe it's optional, will turn on verbose mode when booting up)
    • Reboot entering reboot AND
  5. Hold down <Cmd>+<s> on boot
  6. Move one AMD kext (so that it is not loaded on initial boot) entering on command line:
    • /sbin/mount -uw /
    • mkdir -p /System/Library/Extensions-bkup
    • mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-bkup/
    • touch /System/Library/Extensions/ (I believe you can now run MacOS ONCE and continue from a Terminal using sudo at the beginning of each command)
    • mkdir -p /Library/LoginHook
    • nano /Library/LoginHook/LoadAMD.sh
  7. In nano, add the following 4 lines of commands (includes extra line of step 3):

    #!/bin/bash kextload /System/Library/Extensions-bkup/AMDRadeonX3000.kext sudo pmset -a force gpuswitch 0 exit 0

  8. Then hit <Ctrl>+<x> to save (will ask to save pressing Y and Enter)
  9. In command line enter:
    • chmod a+x /Library/LoginHook/LoadAMD.sh (to make it executable)
    • defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadAMD.sh (this is what gave me trouble when trying from single-user mode and had to run it from MacOS Terminal using sudo at the beginning)
    • nano /force-iGPU-boot.sh (this is the Preventive measure of step 2)
  10. In nano, add the following 4 lines of commands:

    #/bin/sh sudo nvram boot-args="-v" sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 exit 0

  11. Again hit <Ctrl>+<x> to save (will ask to save pressing Y and Enter)
  12. In command line enter:
    • chmod a+x /force-iGPU-boot.sh (to make it executable)
    • reboot (if you are in single-user mode, if it's a Terminal not needed, just exit)
  13. That's it! You should be able to reboot normally and let it sleep as usual (YEI!)

If you still have trouble with Close Lid - Sleep procedures you could try this other 2 solutions mentioned also in MacRumors Forum:

  1. https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix.2037591/page-50#post-25573439
  2. https://github.com/blackgate/AMDGPUWakeHandler

Preventive Measures:

Whenever you need to use the Preventive Measures because your computer gets stuck in a startup reboot loop (when the SMC/PRAM/NVRAM is reset, usually because of an OS update), this simple steps should do the trick:

  1. Power on your laptop while holding down <Cmd>+<s> to boot into single-user mode
  2. Once in command line:
    • Mount root partition writeable: /sbin/mount -uw /
    • Execute the preventive file: sh /force-iGPU-boot.sh
    • Finally type this to restart the machine: reboot
  3. Your computer should restart correctly.

Hope this keeps helping lots of people with 2011 MBP's. Working together as a huge team is the best thing humanity can do.

4
  • Thanks for the effort in detailing this for the rest of us. I'm finding that my 2011 17" Macbook won't shut down fully any longer. It seems to stay powered on with the screen and keyboard backlighting on. I had also made the mistake of using APFS when I installed High Sierra so I had no choice but to use the GRUB solution in order to mount a writable file-system. Is there any chance this would conflict with your solution?
    – Daniel
    Commented Oct 3, 2019 at 11:42
  • @daniel I have no idea, am not a Mac avid user, I can't even understand those abbreviations you mentioned. But it sounds like you are the one that can solve and answer that same question, reinstalling everything... 🤷 Commented Oct 8, 2019 at 19:58
  • Appreciate the response David, I'm still a novice too, I never had a need to get this deep into the guts of MacOS before. Hopefully I'll be able to share my insights and help someone else when I figure it out
    – Daniel
    Commented Oct 9, 2019 at 12:56
  • How would things like loginhook work if one is using Bootcamp and booting to Windows?
    – Mrchief
    Commented Aug 29, 2020 at 18:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .