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

Discussion in 'MacBook Pro' started by AppleMacFinder, Mar 18, 2017.

  1. SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #476
    Good find, I'll try this out right now since I just updated to 10.12.6. I'll try the 10.12.6 Kexts first and see what happens (they are also v1.5.1 so I imagine they will be the same as the 10.12.5 Kexts). Unfortunately my iStat trial expired so I'm having to find other ways to monitor statistics.


     
  2. rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #477
    I updated to 10.12.6 last night. When the system rebooted, the AMD kexts were back as expected. I moved AMDRadeonX3000.kext out of System/Library/Extensions into a separate folder like before, loaded it with kextload after login, and I am back in service.
     
  3. SirMeowington5, Jul 20, 2017
    Last edited: Jul 20, 2017

    SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #478
    Oh yeah, that's a good way of doing it actually. Quite a few fewer steps haha I'll keep that in mind when High Sierra gets released to the public.

    I just did it the long way and moved back AMD6000Controller, AMDSupport, AMDLegacySupport, AMDFramebuffer & AMDLegacyFramebuffer.

    Kextstat
    shows that only AMD6000Controller, AMDLegacySupport & AMDLegacyFramebuffer got loaded at login.

    Idle temperature 5 minutes after boot (without AMDRadeonX3000.kext) is 51C.

    Idle temperature 5 minutes after loading AMDRadeonX3000.kext is 44C.

    EDIT: Forgot to mention that all the Kexts listed above are the 10.12.6 v1.5.1 Kexts.

    Second edit: I don't want to open my laptop while it's on but I'm fairly certain that after closing the lid, and the sleep indicator light starts blinking, the fans are still spinning (very slowly). Probably isn't a very big deal but it is curious.


    --- Post Merged, Jul 20, 2017 ---
    I'm not sure if it is because only the Legacy kexts loaded, or if it's because they are the 1.5.1 kexts but temperatures aren't as low as when I used the 1.4.8 kexts. Lowest idle so far is 40C whereas with the 1.4.8 with only Spotify playing I go as low as 36C.

    Tomorrow I will try 1.5.1 non Legacy kexts (10.12.5 and 10.12.6) and 10.12.5 Legacy kexts. Otherwise I will go back to 1.4.8 kexts.
     
  4. nsgr macrumors 6502

    Joined:
    May 22, 2017
    #479
    I downloaded Mac Sierra 10.12.6 in the App Store.

    Now my installer (pendrive) is the Mac Sierra 10.12.6.

    I did the installation and the AMD kexts are 1.5.1.

    The temperature is 30 degrees Celsius (idle). But also the ambient temperature decreased (weather).

    I'm looking for some documentation regarding boot-args agc but I did not find anything very explanatory. It would be nice to have some configuration that did not have to move AMDRadeonX3000.kext.

    agc = AppleGraphicsControl

    https://discussions.apple.com/thread/7295722?start=0&tstart=0


    You can use SMCFanControl which is free.

    https://github.com/hholtmann/smcFanControl

    https://github.com/hholtmann/smcFanControl/releases

    https://static1.squarespace.com/sta...6ce4b08ceb08ae38ba/1430141806481/?format=750w
     
  5. GDBO macrumors newbie

    GDBO

    Joined:
    Jul 13, 2017
    #480
    Does anyone else have the problem, where the screen stays black after standby? the computer is still responsive, but I can't get the screen to work.
     
  6. rlebleu, Jul 20, 2017
    Last edited: Jul 20, 2017

    rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #481
    Thanks for the update...

    When 10.12.6 opened up, GPU temps were pushing 57c. After loading AMDRadeonX3000, temps started to drop. After ten minutes or so, with Opera, Mail, and Leaf running, the GPU temps had dropped to 35c.

    I noticed that the 10.12.6 kexts were 1.5.1.8 - same as the 10.12.5 kexts.

    Possible point.

    I moved the AMDRadeonX3000 that came with 10.12.6 to a different folder(bu) to get it out out of /System/Library/Extensions... After booting 10.12.6 after the move, I went to the bu folder, and kextloaded AMDRadeonX3000. To my surprise, GPU temps did not go down as fast as before. So I tried rebooting again, and this time kextloading AMDRadeonX3000 that came with 12.10.5 and temps started to drop right away. You might want to try this before going back to 1.48 kexts?

    EDIT: Oh. On closing the lid. My fans continue to run after closing the lid for about 5 minutes. But when I open the lid after charging, the fans are not running, and the light is no longer blinking.
     
  7. GDBO macrumors newbie

    GDBO

    Joined:
    Jul 13, 2017
    #482
  8. rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #483
    We had to go out last night as 10.12.6 was updating. When we got home, the update had taken place, and I was facing a blank screen. Using the power button, I forced shutdown, and did a restart. When the system came back, I believe it had tried the dGPU first. I looked at the Kexts that had loaded, and AMDRadeonX3000 had automatically loaded on restart. I believe that was a showstopper. But my temps were pushing 60c. After using your guide to repair the EFI, and moving AMDRadeonX3000 out of the /System/Library/Extensions, I was clearly in iGPU mode, and kextloading AMDRadeon after login and all was back to normal.
     
  9. SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #484
    Can you check which kexts have actually loaded after the restart? For me it appears different kexts will load randomly at every restart if I have all the different Support & Framebuffer kexts in the Extensions folder.

    The first time LegacySupport & LegacyFramebuffer loaded automatically.
    The second restart Support & LegacyFramebuffer loaded automatically.

    It might not actually be a good idea to leave all the kexts in that folder after all and only move in the ones which give the best performance.

    Regarding the fans. Mine usually turn of relatively quickly, within 30 seconds or so, unless I've just been doing lots of stuff and the laptop is warm. If I close the lid while the laptop is at about 70+C then sometimes the fans will continue to spin for about a minute or so ramping up to a higher speed before turning off completely.

    --- Post Merged, Jul 21, 2017 ---
    Thanks, I'll check out SMCFanControl.

    Could you also check which kexts actually load for you when you leave them all (except for the AMDRadeonX300 kext) in the Extensions folder? As I mentioned above, my laptop will randomly pick and chose between (AMDSupport, AMDLegacySupport, AMDFramebuffer & AMDLegacyFramebuffer.



     
  10. rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #485
    Since GBDO posted a guide, that observed that AMDRadeonX3000 appears to be the only kext that affects temps, I've switched to this method of moving it out of /System/Library/Extensions. and leave the rest there. I've found that Support and Framebuffer are not loaded automatically, and LegacySupport and LegacyFramebuffer are loaded instead. That simplifies the process or recovery after a MacOS update. Just write out the gpu-power-prefs settings to nvram, then move AMDRadeonX3000.

    I tried to test the AMDRadeonX3000 that came with 10.12.6 to confirm my earlier results. It lowered temps even more! with browser, mail and newsfeed running, my GPU temp is hovering around 33c. Please ignore my previous "Possible Point"
     
  11. SirMeowington5, Jul 21, 2017
    Last edited: Jul 21, 2017

    SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #486
    Hmm I'll try moving everything except for the AMDRadeonX3000 Kext back into the Extensions folder. So far I'm not having any luck getting my temperatures as low as they were before. I've tried various different AMDRadeonX3000 Kexts and the lowest I managed to get my idle temperature this update is 42C and it appears to be running 5 to 10C higher while watching YouTube videos in fullscreen.

    If I have no luck I'll just have to wait for High Sierra and try the method of only moving out the RadeonX3000 Kext.

    Edit: Not having any luck with any combination of Kexts anymore. They all reduce the temps by like 10C but it's far from as good as before. Watching Twitch in full screen I'm sitting at 85-90C with the fans throttling up...


     
  12. SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #487
    If you reinstall iStat Menus it actually resets the trial, so I reinstalled to get more thermal data than SMC offers. GPU Die Analog 0 to 1C, CPU Die Analog 42C at idle. On 10.12.5 I was getting as low as 34C at idle after a couple of days of the fix being applied.

    I've tried loading the 1.4.8 Support, Framebuffer and 6000Controller with every combination of 1.5.1 RadeonX3000 followed by 1.5.1 Support, LegacySupport, Framebuffer, LegacyFramebuffer and 6000Controller with every combination of 1.5.1 RadeonX3000 and I'm not having any luck. They all perform identically (42C idle).

    I'm thinking I might have to restore a 10.12.5 Time Machine backup and hope that brings me back down to the mid 30s and then wait for High Sierra...
     
  13. nsgr macrumors 6502

    Joined:
    May 22, 2017
    #488

    Sierra 10.12.6 installed hard disk from Sierra 10.12.6 installer (pendrive).

    Only moved the AMDRadeonX3000.kext. All other AMD and ATI kexts are in /System/Library/Extensions .

    Temperature: 30 degrees Celsius in idle mode

    But also the ambient temperature is lower (weather)


    kextstat | grep AMD

    com.apple.kext.AMDLegacySupport (1.5.1)

    com.apple.kext.AMD6000Controller (1.5.1)

    com.apple.kext.AMDSupport (1.5.1)

    com.apple.kext.AMDLegacyFramebuffer (1.5.1)

    com.apple.AMDRadeonX3000 (1.5.1)
     
  14. SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #489
    Hmm, yeah. I had this combination loaded and I was still sitting at ~42C idle. I don't understand how this can be so incredibly inconsistent across machines.

    I will try loading my Time Machine backup and see if I can at least get back to 34C idle :(

     
  15. nsgr macrumors 6502

    Joined:
    May 22, 2017
    #490

    I had read this thread but found it somewhat risky in:

    Echo -off
    Cls
    Mm 7C2 1; IO: 1
    Mm 7D4 1; I0: 28

    Once I was able to go through the login screen using boot-args="-v agc=0" without freezing in IOConsoleUser IOScreenLockState (AMDRadeonX3000.kext).

    If Apple put this documentation would be easier.

    Maybe there is a relation between agc = 0 / System Preferences: Automatic graphics switching: check or uncheck / pmset gpuswitch: 0 or 1 or 2.
     
  16. kohsamui100 macrumors member

    Joined:
    Dec 21, 2016
    #491
    Hey guys ! My Late-2011 has started giving me this GPU issues. Will someone be kind and give me a TL;DR on this ?
    I read the very first post ("100% working solution") with the software fix suggested, but as it's quite old, is there any newer working "fix" for this?

    I'm working with various programs, all causing the OS to automatically switch to AMD GPU, thus causing this issues. Also getting this issues when connecting a second monitor...

    and is there a simple "hardware" fix for this ?

    Thanks for your help !
     
  17. rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #492
    Hardware fix? Yes, but probably not feasible for a 5 year old laptop...

    For a software fix, try GDBO's guide on message #429.

    It will give you back your MBP, but take note that because the Thunderbolt port is directly connected to the failing dGPU, you will not be able to connect to other devices.
     
  18. kohsamui100, Jul 21, 2017
    Last edited: Jul 21, 2017

    kohsamui100 macrumors member

    Joined:
    Dec 21, 2016
    #493
    Thanks,

    What does the permanent hardware fix involve? I really need to get this back to work. It's a fully expanded machine and a second monitor is almost a must... I have a local tech here who might be able to fix it cheap. What's the fix ?

    As for the software workaround which makes it use only the Intel GPU - I'm ok with the weak GPU, but will the apps which ask for the AMD GPU still load? There's nothing I'm using which needs GPU power, mostly using it for music recording. These apps switch automatically to the AMD though...

    I also wonder if the fix at #429 will make all 3 systems installed on my mac to work ? I have Sierra as main boot, but also Lion and Mavericks...
     
  19. rlebleu macrumors member

    rlebleu

    Joined:
    Jul 1, 2017
    #494
    Google "2011 Macbook pro graphics card repair" There are many links to the repair. The part is about $35 when I last looked it up, but replacing it on the motherboard requires specialized equipment. I did not consider it feasible.

    If you follow the instructions I gave you (post #429), the AMD GPU is no longer visible to all apps. The first step in the process is to write an EFI MacOS boot command to set gpu-power-prefs to boot the iGPU instead of the dGPU. If you download gfxCardStatus as recommended in this thread, you will see you can no longer chose the AMD discrete graphics chip.

    You will no longer be able to use a second monitor via the Thunderbolt port. Some have discussed a USB-VGA adapter to connect with a second monitor. I don't know how well that worked out.
     
  20. kohsamui100 macrumors member

    Joined:
    Dec 21, 2016
    #495
    Thanks

    But:

    1. Will the apps asking for the AMD, still load after the mod ?

    2. Will this mod affect all OSX's installed on my system (i.e Lion, Sierra, Mavericks) ? Should it be made 3 times, each for any of these systems?

    3. What tools are required ? does it involve replacing the GPU, or simple soldering?

    Thanks again!
     
  21. SirMeowington5 macrumors member

    Joined:
    May 21, 2017
    #496
    1. Yes, but they probably won't perform as well as with dGPU acceleration.

    2. No, you will have to do it for each OS separately.

    3. None, it's not a hardware fix.


     
  22. kohsamui100 macrumors member

    Joined:
    Dec 21, 2016
    #497
    4. Disable System Integrity Protection to allow editing system files. Boot into the verbose recovery mode by pressing Command + R + S on startup. Execute

    csrutil disable

    reboot



    * I am following the instructions on post #429, but getting "command not found" error after holding Command+R+S and typing:

    csrutil disable

    Why is that and how should I go on from here ?

    Thanks for the help!
     
  23. GDBO macrumors newbie

    GDBO

    Joined:
    Jul 13, 2017
    #498
    it should definitely work. As an alternative, you could try the recovery mode (cmd + R) and selecting the terminal from the GUI. Same command.
     
  24. nsgr macrumors 6502

    Joined:
    May 22, 2017
    #499
    You said that you have several operating systems on the same Macbook.

    csrutil only works with El Capitan and Sierra. But you did not say which system tried the csrutil.

    System Integrity Protection is a security technology in OS X El Capitan and later that's designed to help prevent potentially malicious software from modifying protected files and folders on your Mac.

    https://support.apple.com/en-us/HT204899
     
  25. kohsamui100, Jul 21, 2017
    Last edited: Jul 21, 2017

    kohsamui100 macrumors member

    Joined:
    Dec 21, 2016
    #500
    ok, I have managed to create a bootable Sierra installation USB stick through Sierra itself (fortunately I had the Sierra image on the hard drive). I then booted from the installer and from there I loaded Terminal and was able to run the command, and actually ran through all 7 steps.

    Then loaded Sierra, but the entire GUI was extremely sluggish. I went to the instructions again, and realized I needed to do step 3 again (as I reset NVRAM after being at step 3 already)...

    Now it loads fine, and on gfxcardstatus, if I select "Switch GPUs", it stays on "i" (Integral). Does it mean "problem solved" ?

    Is step 7 really needed with every restart ? can it be automated ?
     

Share This Page