Tuesday, March 3, 2020

Color Bars, Grey Screen or White Screen on 2011 MacBook Pro - Bypass / Disable the AMD Radeon GPU

Supratim Sanyal: Fix Macbook Pro Color Bars or White Screen or Grey Screen
Color Bars due to faulty AMD Radeon GPU on Late 2011 MacBook Pro 1297 17"

Along with numerous disappointed Apple enthusiasts, I was hit with the Radeongate scandal on my trusty old late-2011 17" MacBook Pro 8,3 model A1297 (MD311LL/A). Bars of various colors, white screen or grey screen on boot, etc. - I saw them all and was about to give up on the computer.

I use my Mac just for email, web browsing and iTerm2 to login and have fun with my zoo of virtual machines which I call SANYALnet Labs. There is no real need here for accelerated 3D graphics delivered by the AMD Radeon HD 6770M discrete (second) graphics processor unit that Apple included in 2011 models connected internally to the PCIe bus. The built-in Intel HD Graphics 3000 graphics processor is good enough.

So when I was told I could tweak my MacBook Pro such that MacOS X High Sierra would use the Intel GPU exclusively instead of the Radeon, I jumped on the opportunity. As a result, I am now happily typing this post on the fully-functional-without-AMD-Radeon MacBook Pro.

How did I do it? Just followed the instructions in the awesome reply by LаngLаngС in this post at stackexchange. In fact, that post is so important to me that I saved a PDF copy in my google drive just in case it becomes inaccessible online.

I only performed the steps starting from "The initial procedure" section through and including "Preventive measures for future use". I then disabled auto-updates from System Preferences -> App Store. High Sierra was released in September of 2017 and superseded by Mojave in September of 2018. I can live with no more automatic updates for High Sierra which is the last operating system supported by my MacBook Pro anyway.

I had to deviate a little in some of the steps for my specific model, though. The command line "csrutil disable" to disable SIP did not work in single-user recovery mode (hold down Command + R + S); it actually complained it has to be run from "recovery operating system". I subsequently booted into Recovery mode (hold down Command + R at the chime) and typed the command line into a terminal in recovery mode. It worked. Another deviation from the guide was that I could execute the command to set "agc" in NVRAM from a terminal from the full MacOS X High Sierra desktop. This must be because I disabled SIP as one of the steps in the initial procedure.  I first did a

# sudo su -

to become root and then executed

# nvram boot-args="-v agc=0"

and restarted.

Following the advice in the "Preventive Measures for Future Use" section, I have saved the all-important command to update the NVRAM in a shell script at / Whenever a SMC or NVRAM reset overwrites the configuration to force the Intel GPU, all I have to do to get back enough control:

  1. Boot into single-user (Command + S at chime)
  2. Mount the boot volume read-write:
    # /sbin/mount -uw /
  3. Execute the shell script:
    # sh /
I can then reboot, and log back in and open a terminal from which I can reconfigure the NVRAM variable directly since SIP has been disabled:

# nvram boot-args="-v agc=0"

If SIP happens to be still enabled, the command above needs to be run from single-user recovery mode which is entered by holding down Command + R + S at the chime.

No comments:

Post a Comment

"SEO" link builders: move on, your spam link will not get posted.

Recommended Products from Amazon