Skip to content

Instantly share code, notes, and snippets.

@cdleon
Last active June 11, 2025 13:01
Show Gist options
  • Save cdleon/d1eff7246a25193304284ecec40445b0 to your computer and use it in GitHub Desktop.
Save cdleon/d1eff7246a25193304284ecec40445b0 to your computer and use it in GitHub Desktop.

Works for macOS Sierra and High Sierra (Improved version)

Taken from StackExchange

Thanks to LangLangC

For temperature and other improvements see https://gist.github.com/cdleon/d16e7743e6f056fedbebc329333d79df

This method leaves brightness control enabled

Reset SMC

Shutdown, unplug everything except power and hold

leftShift + Ctrl + Option + Power 

I holded for 5 seconds, but holding just for an instant should work

Reset NVRAM: Power up and hold

Command + Option + p + r

Until you hear the startup chime two times.

Shutdown computer

Power up and boot into Single User Recovery by holding

if you are on high sierra 10.13.6+ you might need to use Command + r instead

Command + r + s

Disable SIP (This takes a bit to complete so wait for it)

csrutil disable

Disable Discrete GPU on boot by running

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

Enable verbose boot mode (This will show text everytime you boot up, shutdown or restart your mac)

nvram boot-args="-v"

Reboot

reboot

Boot into Single User-mode by holding

Command + s

It might look as if it hanged, but press enter and you should see the shell (root#)

Mount root partition writeable

/sbin/mount -uw /

Make a kext-backup directory

mkdir -p /System/Library/Extensions-off

Move ONLY ONE offending kext out of the way

mv /System/Library/Extensions/AMDRadeonX3000.kext  /System/Library/Extensions-off/

Inform the system to update its kextcache:

touch /System/Library/Extensions/

Reboot

reboot

It will show a bunch of text in the screen (don't be alarmed, let it finish) and then it will restart again In second restart it will show text in the screen again and then it will show normal login screen Your computer now should work properly (dGPU off and iGPU on, shown as i in gfxCardStatus

BIG CAVEAT FOR APPLE UPDATES

If an update that contains changes to the AMD drivers is about to take place it is advisable to move back the AMDRadeonX3000.kext to its default location before the update process. Otherwise the updater writes at least another kext of a different version to its default location or at worst you end up with an undefined state of partially non-matching drivers.

After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra.

@luisfromspain
Copy link

Recomiendo a todos este enlace para solucionar problemas:
https://dosdude1.com/mojave/

@Presquezen
Copy link

Hello. After the ultimate reboot, it starts again, shows text again, starts again, shows text again, starts again non stop. Never reaching a point when it Opens up the page of my session. Could you help?

@Presquezen
Copy link

Hello
Finaly I found myself able to open up my session. Thanks a lot for your contribution. But I can't connect any external hard drive and I can't tune the volume or the size of an image in iPhoto or the volume in iTunes. No tuning seems to work.
Some of you might be interested to know that I managed to install Snow Leopard that offers the possibility of using plenty of applications that don't work anymore on those MacBook Pros. For that, I used a Mac book pro of before 2011 that accepts Snow leopard and installed it on this faster laptop of 2011. But now I can't reinstall Snow Leopard because the connection doesn't work any more.
Any suggestion will be really appreciated

@luisfromspain
Copy link

luisfromspain commented Jul 7, 2023 via email

@PAFEROL
Copy link

PAFEROL commented Aug 7, 2023

Another user SATISFIED with this thread and with the GREAT @cdleon and @artkirienko.

THANK YOU VERY MUCH for this HUGE contribution and for saving our "old" MacBook Pro (early 2011 in my case, 17'').
In my case, it runs on MBP MacOS Yosemite 10.10.5 (latest version)

Some commands from the great @cdleon worked fine, but the second time the steps from @artkirienko worked fine.
After passing all the commands, it FINALLY booted the MBP with no problems and no black, gray screens or hangs. ALL WELL!!!! amazing!!!!!

Just now I upgraded the Hardware (16 Gb RAM, 1 Tb SSD and put the 750 Gb HDD in the DVD bay. I mounted the DVD in an external USB SATA box.

Already transferring all the data from the HDD to the SSD. 1 hour to go and everything seems to be running fine, 1 hour to go.... (fingers crossed)

Just to say that I signed up on GitHub to say thanks here to these two characters who shared their wisdom with ordinary users, GREAT!!!!

(If you come to Spain, let me know that the beers are on me!!!) ;D

@smabe2021
Copy link

smabe2021 commented Aug 8, 2023 via email

@PAFEROL
Copy link

PAFEROL commented Aug 8, 2023

Good to hear all these positive reactions. But can you tell me which steps you used from @artkirienko. Maybe my MBP (early 2011 ) will run better and more stable thenThksBenVerstuurd vanaf mijn iPhoneOp 7 aug. 2023 om 18:59 heeft PAFEROL

Yes, of course and glad to help @smabe2021

If you load the whole reply thread, in 2019 @artkirienko (1st comment in the thread) transcribed step by step how he did it. I followed step by step exactly the same.
(If you compare, they are practically the same commands that the author of the post @cdleon transcribed in another order).
In case it helps you and if you read carefully (I recommend it if you are not familiar with UNIX commands and the terminal app as I am) they have done it from MacOS High Sierra (10.13.6 latest version) and I think the commands differ in some things, so for example, I had to use cmd+s+r (point 1 of @artkirienko) to boot in Single User Recovery mode as @cdleon said.
Another important thing, My MBP 17 was plugged to internet router with RJ45 cable, because when booting in recovery mode you need stable internet connection.

Finally, when you reboot in @artkirienko's process (point 4) and boot in recovery mode (point 5) keep pressing until you see the white text on black screen (verbose mode) and make sure you don't start to see a lot of "r" letters together... release the cmd+r keys !!!! DO NOT WAIT TO SEE the recovery mode screen with OSX reinstallation, utility disk... to release them.
Once you are there, you HAVE TO OPEN THE TERMINAL APPLICATION (utilities menu) to enter the following commands (points 6, 7, 8 and 9)
I hope I helped you!

@PAFEROL
Copy link

PAFEROL commented Aug 8, 2023

Good to hear all these positive reactions. But can you tell me which steps you used from @artkirienko. Maybe my MBP (early 2011 ) will run better and more stable thenThksBenVerstuurd vanaf mijn iPhoneOp 7 aug. 2023 om 18:59 heeft PAFEROL

I forgot to tell you something important, sorry.

These steps are important for all those people who have an older MacBook Pro that is no longer repairable and have a bad GPU beyond repair.
Because what these steps do is to BYPASS the AMD Radeon graphics card on the motherboard and use only the Intel graphics card that I think is embedded in the CPU and thus thus not boot failed again and again because the graphics card or AMD Radeon GPU soldered on the board does not work, fails and makes the computer hang without being able to start it.

It is important to be clear about this

Regards to all

P.S.: I have read that some people have completely disassembled the motherboard and put it 8 minutes in the oven of their kitchen at 185º C "thinking" that this way the thermal paste of the Radeon Chip is "cooked" again... Seeing is believing and I don't dare to fry the whole motherboard and be without a computer forever. Too much risk and foolishness, don't you think?

@Ale337-s
Copy link

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it.
After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed.
"After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this?
Thanks in advance

@mnemos2000
Copy link

mnemos2000 commented Feb 12, 2024 via email

@luisfromspain
Copy link

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."

Can anyone help me on this? Thanks in advance

Escribo en español y traduzco después al Inglés:
Me ocurrió lo mismo. Es necesario saber que, a priori, no se puede instalar un OS superior a High Sierra 10.13.6.
La solución era introducir, a través del teclado, el comando para deshabilitar el chip gráfico pero sin ver nada en pantalla. El comando es el siguiente (una sola línea):

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

Pero al principio no funcionaba. Tardé en darme cuenta que mi teclado es español y tras reiniciar los caracteres del teclado no corresponden con los caracteres del sistema. Así que con una tabla de correspondencia en un papel introduje el comando considerando sustituir los caracteres -, =, :, ", /, \ y + por las siguientes equivalencias:

  •     (?’)         pulsar una sola tecla sin el shift 
    

= (¿¡) pulsar una sola tecla sin el shift =
: Ñ
“ ¨
/ - es decir para sacar la inclinada de encima del siete pulsamos el - a la izqda de shift-dcho
\ ç es decir la barra raíz de alt+º se consigue con la cedilla ç

  •     ¿            es decir el signo mas se saca con shift+¿
    

y de este modo funcionó.

Actualmente tengo instalados dos SSD:
Uno con High Sierra 10.13.6. Su problema es que no controlo el brillo y si se cae en suspensión pierdo la pantalla con lo que tengo que apagar con el botón I/0 y reiniciar el sistema.
Otro con Catalina mediante la instalación del macOS Catalina Patcher descargado desde https://dosdude1.com/catalina/ Tengo control de brillo y si cae en suspensión no se cuelga. Por contra, el Patcher no es compatible con Chrome por su bajo nivel de seguridad pues tiene el CSRUTIL deshabitado....por lo que debo navegar con Firefox...

Todo esto después de haber leído las dos páginas:
https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0
y
https://gist.github.com/cdleon/d16e7743e6f056fedbebc329333d79df
Espero que te sea de ayuda

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

I write in Spanish and then translate into English:
The same thing happened to me. It is necessary to know that, a priori, you cannot install an OS higher than High Sierra 10.13.6.
The solution was to enter, through the keyboard, the command to disable the graphics chip but without seeing anything on the display screen. The command is as follows (single line):

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

But at first it didn't work. It took me a while to realize that my keyboard is Spanish and after restarting the keyboard characters do not correspond to the system characters. So with a correspondence table on a paper I entered the command considering replacing the characters -, =, :, ", /, \ and + with the following equivalences:

  •   (?’)       press a single key without shift
    

= (¿¡) press a single key without the shift =
: Ñ
“ ¨
/ - to obtain the slope above the seven, press the - to the left of shift-right
\ ç to obtain, the root bar of alt+º is achieved with the cedilla ç

  •  ¿          shift+¿
    

and this way it worked.

I currently have two SSDs installed:
One with High Sierra 10.13.6. Its problem is that I don't control the brightness and if it goes to sleep I lose the screen so I have to turn it off with the I/0 button and restart the system.
Another with Catalina by installing the macOS Catalina Patcher downloaded from https://dosdude1.com/catalina/
I have brightness control and if it goes to sleep it doesn't hang. On the other hand, the Patcher is not compatible with Chrome due to its low level of security since it has the CSRUTIL disabled...so I have to navigate with Firefox...

All this after having read the two pages:
https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0
and
https://gist.github.com/cdleon/d16e7743e6f056fedbebc329333d79df

I hope this helps you

@Ale337-s
Copy link

Ale337-s commented Feb 12, 2024

**mnemos2000 ** commented Feb 12, 2024 via email

Dear Mnemos2000,
Thank you so much for your reply and advice.

Actually, as you suggested, I did proceed from " Boot into Single User-mode by holding", but it still remains hanging in the boot loop and never going into the system.
To be precise: I get to the last reboot and it does exactly as it is described here:
"It will show a bunch of text in the screen (don't be alarmed, let it finish) and then it will restart again In second restart it will show text in the screen again and then it will show normal login screen Your computer now should work properly"

Only that, in this case, when it comes to the second restart, it then shows the progress bar with the apple, the bar remains completely empty, then at one stage the screen goes black and the computer restarts with the chime, again by showing all the bunch of text and going to the apple-boot bar not charging, and then goes black again, and so on. It enters a neverending reboot loop...

Might there be any other possible commands in this case...?
Reinstalling High Sierra is an option and/or possibility that might make it work again?
The system is still 10.13.6, I think the automatic update that was done was a security thing.
I have no idea what to do to get out of this and I really need to access my computer.
What do you think?

Thanks again. All help is much appreciated.

@Ale337-s
Copy link

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Hi everyone. I had successfully gone through these steps for the disabling of the defective card and everything was fine until yesterday I gave in to one of those insisting messages for updates from Apple, without realizing the consequences it could bring. Now my computer is no longer getting past the boot. I ran all the commands again but the fix seems to not be working anymore. The computer enters a boot hang loop and I can't find the way to work around it. After trying to understand what it could be, I stumbled upon this, which is clearly my case, but have no idea on how to proceed. "After any system update the folder /System/Library/Extensions has to be checked for the offending kext. Its presence there will lead to e.g. a boot hang on Yosemite and Sierra, an overheating boot-loop in High Sierra."
Can anyone help me on this? Thanks in advance

Escribo en español y traduzco después al Inglés: Me ocurrió lo mismo. Es necesario saber que, a priori, no se puede instalar un OS superior a High Sierra 10.13.6. La solución era introducir, a través del teclado, el comando para deshabilitar el chip gráfico pero sin ver nada en pantalla. El comando es el siguiente (una sola línea):

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

Pero al principio no funcionaba. Tardé en darme cuenta que mi teclado es español y tras reiniciar los caracteres del teclado no corresponden con los caracteres del sistema. Así que con una tabla de correspondencia en un papel introduje el comando considerando sustituir los caracteres -, =, :, ", /, \ y + por las siguientes equivalencias:

  •     (?’)         pulsar una sola tecla sin el shift 
    

= (¿¡) pulsar una sola tecla sin el shift = : Ñ “ ¨ / - es decir para sacar la inclinada de encima del siete pulsamos el - a la izqda de shift-dcho \ ç es decir la barra raíz de alt+º se consigue con la cedilla ç

  •     ¿            es decir el signo mas se saca con shift+¿
    

y de este modo funcionó.

Actualmente tengo instalados dos SSD: Uno con High Sierra 10.13.6. Su problema es que no controlo el brillo y si se cae en suspensión pierdo la pantalla con lo que tengo que apagar con el botón I/0 y reiniciar el sistema. Otro con Catalina mediante la instalación del macOS Catalina Patcher descargado desde https://dosdude1.com/catalina/ Tengo control de brillo y si cae en suspensión no se cuelga. Por contra, el Patcher no es compatible con Chrome por su bajo nivel de seguridad pues tiene el CSRUTIL deshabitado....por lo que debo navegar con Firefox...

Todo esto después de haber leído las dos páginas: https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0 y https://gist.github.com/cdleon/d16e7743e6f056fedbebc329333d79df Espero que te sea de ayuda

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

I write in Spanish and then translate into English: The same thing happened to me. It is necessary to know that, a priori, you cannot install an OS higher than High Sierra 10.13.6. The solution was to enter, through the keyboard, the command to disable the graphics chip but without seeing anything on the display screen. The command is as follows (single line):

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

But at first it didn't work. It took me a while to realize that my keyboard is Spanish and after restarting the keyboard characters do not correspond to the system characters. So with a correspondence table on a paper I entered the command considering replacing the characters -, =, :, ", /, \ and + with the following equivalences:

  •   (?’)       press a single key without shift
    

= (¿¡) press a single key without the shift = : Ñ “ ¨ / - to obtain the slope above the seven, press the - to the left of shift-right \ ç to obtain, the root bar of alt+º is achieved with the cedilla ç

  •  ¿          shift+¿
    

and this way it worked.

I currently have two SSDs installed: One with High Sierra 10.13.6. Its problem is that I don't control the brightness and if it goes to sleep I lose the screen so I have to turn it off with the I/0 button and restart the system. Another with Catalina by installing the macOS Catalina Patcher downloaded from https://dosdude1.com/catalina/ I have brightness control and if it goes to sleep it doesn't hang. On the other hand, the Patcher is not compatible with Chrome due to its low level of security since it has the CSRUTIL disabled...so I have to navigate with Firefox...

All this after having read the two pages: https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0 and https://gist.github.com/cdleon/d16e7743e6f056fedbebc329333d79df

I hope this helps you

Dear Luisfromspain,
Thank you for your help.
Actually, if I understood properly, you suggest that I might have a mismatching keyboard regarding the system. But my keyboard is set to English....and the commands seem to respond properly.
I hope I'm not missing something else from your response...
If so, please let me know.

Thank you

@Wealing
Copy link

Wealing commented Feb 25, 2024 via email

@Sp-cy
Copy link

Sp-cy commented Feb 27, 2024

If any of you are totally unable to boot into Mac-OS, this happened to me at some point and I was left between losing total usability of the laptop or installing Linux, so I installed Pop!_OS at first and then changed to Ubuntu just because it's update cycle is more frequent. I left a very messy log of the process in my blog, I apologize for the adhd mess of the write up, but it works: [How I Installed Ubuntu 23.04 on a Late 2011 Macbook Pro (for the Second Time)](https://www.sp-cy.com/note/how-i-installed-ubuntu-24-04-on-a-late-2011-macbook-pro-for-the-second-time/)

Unlike OS X, everything works fine on Linux, maybe battery life is not as good but the rest might be even better. For me it was just impossible to access Apple servers to reinstall the OS on a completely wiped SSD, so this was my best option. Hope this works for any of you that is left with an unusable laptop due to Apple's neglect.

@fromage9747
Copy link

Due to not being able to use Parsec (Metal support), I installed Ubuntu on my MacBook Pro 8,3 and it works beautifully. Highly recommend it! It's a dual boot, so if I want to go into macOS, I still can. I have since moved onto using Sunshine/Moonlight and haven't tested it in macOS as yet.

Of course, you will still need to be able to turn the MacBook on in order to do anything and disable the dGPU. Usually a quick blast of a heat gun over the dGPU will get you going again. Just please remove the motherboard and anything you can before using the heat gun on it, or you can expect some melted plastic! The one time I was lazy and didn't feel like removing the board from the case, and boy do I regret it!

@dannymorson
Copy link

If any of you are totally unable to boot into Mac-OS, this happened to me at some point and I was left between losing total usability of the laptop or installing Linux, so I installed Pop!_OS at first and then changed to Ubuntu just because it's update cycle is more frequent. I left a very messy log of the process in my blog, I apologize for the adhd mess of the write up, but it works: www.macbook-repair-dubai.ae
Unlike OS X, everything works fine on Linux, maybe battery life is not as good but the rest might be even better. For me it was just impossible to access Apple servers to reinstall the OS on a completely wiped SSD, so this was my best option. Hope this works for any of you that is left with an unusable laptop due to Apple's neglect.

Is it helpful?

@fromage9747
Copy link

@dannymorson If you are wondering if using Linux is useful, well it is! Whilst Hackintoshing my MacBook to run the latest macOS as well as get it to ignore the GPU, it would still send pulses to the GPU every now and again and would konk out after 6 months and I would have to pull it apart, heat the GPU to get going again.

After loading Linux and disabling the GPU with the Linux method, I haven't had ANY issues. Works great. Updates to Linux go off without a hitch, too.

@MrOlegych
Copy link

Hello everyone! I have completed all the steps above. I cannot enter Single Recovery (command + r) - just a gray screen. Standard boot takes about 10 minutes, on the screen (nvram boot-args="-v") many lines appear during this time. And the system will boot and work. I do not know how to do a factory reset or reinstall High Sierra with a non-working GPU. Maybe it is possible to clean the system without reinstalling?

@Oleg-Sentia
Copy link

Part 0: R8911 должен быть ещё запаян
Part 1: Делаем сбросы, отключаем SIP, отключаем dGPU

  1. Для того чтобы начать с чистого состояния сбросим SMC:
выключим лаптоп, отключим от него все, кроме питания от сети и нажмём одновременно 

    leftShift+Ctrl+Alt+Power 

    и отпустим их одновременно; возможно несколько раз
  2. Потом нажмём одновременно и сбросим NVRAM:
    Cmd+Alt+p+r 

    пока не услышим звук включающегося компьютера два раза.
  3. Загрузимся в Single User Recovery mode удерживая

    Cmd+r+s
  4. Отключим SIP (System Integrity Protection):

crutil disable

4.1. разрешим раздел для записи и чтения

/sbin/fsck -fy
mount -uw /
chmod 1775 /

  1. Загрузимся в Single-User mode нажав
    cmd+s

вводим
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
или
nvram boot-args="agc=0" тогда не надо отключать SIP
nvram boot-args="-v"
или две последние команды объединить
nvram boot-args="-v agc=0"

Добавим
sudo nvram AutoBoot=%00
Чтоб выключить автостарт при открытии крышки или подключения питания
Чтоб вернуть обратно = %03

перегрузимся
reboot

  1. Выключаем MacBook чтоб не затереть EFI переменные
    6.1. Войдём в безопасный режим (клавиша Shift нажата всё время загрузки) при этой перезагрузке, вызванной предыдущей командой.
6.2. Завершим работу с помощью меню Apple Menu> Shut Down.


Part 2: Паяем

7. Отключённый от сети Mac, поставим на не царапающуюся, стационарную поверхность, перевернём его и снимем заднюю крышку.

Установим температуру паяльника в 260°С и установим наконечник потоньше!
Задача удалить резистор R8911 с логической платы и тем самым отключить питание внешней видеокарты.
Прикоснитесь кончиком паяльника к каждой металлической стороне резистора (там, где имеются площадки), чередуя одну сторону и другую примерно на 1-2 секунды каждый, пока резистор не начинает освобождаться от логической платы. Как только это произойдет (примерно через 15 секунд), положите наконечник на сторону резистора, обращенную к открытому пространству на логической плате, и нажмите с очень небольшим усилием вверх (от логической платы).
Не забудем проверить что между двумя площадками нет паяного соединения.

  1. Когда резистор удален, для MacOS High Sierra требуется дополнительная программная и аппаратная модификация: 
Без неё экран не включится после засыпания, останется темным.
    Для предыдущих OS (El Capitan, Sierra) модификация не требуется.
Для выполнения модификации нужно просто запаять небольшую перемычку

Есть два способа, используем любой из них (но не оба):
a. паяем перемычку между PIN2 из R9704 и PIN1 C9711.
b. паяем перемычку между резистором R9202 и тестовой площадкой

После этого поставим заднюю крышку
И менее чем через 40 секунд (если SSD), Mac будет так же хорош, как и когда-либо, без AMD Radeon GPU.

Последнее замечание
После удаления резистора будем внимательны при обновлении ОС (попросту не устанавливаем MacOS выше Sierra) или внесении других существенных изменений (обязательно сохраняйте текущие резервные копии при помощи Time Machine!). Ибо работоспособность загрузочного диска может нарушиться из-за неудачного или ненормального выключения компьютера.
И стараемся не сбрасывать NVRAM, на всякий случай, иначе получим черный экран при загрузке.
Но и если сбросили ничего страшного не произойдёт, паяем резистор обратно, или просто ставим перемычку и повторим процедуру с самого начала.

@redbar0n
Copy link

redbar0n commented Jun 5, 2025

For the Macbook Pro 2018 version with the A1990 logic board (motherboard), the above steps work to disable the GPU, with some modifications. The GPU it is using is the AMD Radeon 560X which uses AMDRadeonX4000 kernel extensions (kexts).

Just moving the AMDRadeonX4000.kext doesn't work (booting into macOS normal mode will stall). You need to move all AMDRadeonX4000* files to that separate directory:

AMDRadeonX4000.kext
AMDRadeonX4000GLDriver.bundle
AMDRadeonX4000HWServices.kext

Run this command for each of them (on the step Move offending kext):

mv /System/Library/Extensions/AMDRadeonX4000.kext  /System/Library/Extensions-off/

Then proceed as per the instructions in the original post.

You should then be able to boot into normal mode, and reboot normally, with the GPU disabled.

Confirmed working on a fresh install of macOS Catalina, where the root cause is a hardware failure in the GPU (where Apple Diagnostics funnily enough reported "No issues found"), likely due to not cleaning the fans for dust, or too many overheating/cooling cycles causing microfractures on the logic board where the GPU is (or maybe it needs a GPU reballing or similar). The above fix (workaround, really) addresses the boot errors:

  • panic(cpu 0 caller 0xffffff7fabf28dfa): "virtual bool IOAccelDisplayMachine::display_mode_did_change(uint32_t): AMDRadeonAccelerator driver returns false" @IOAccelDisplayMachine.cpp:345
  • AMDFramebufferVIB::setPowerState(...) timed out (when waking up / changing the power state of the graphics card).
  • "IOConsoleUsers: gIOScreenLockState 3" (graphics subsystem is not initializing correctly).
  • reboot loop kernel panics (panic medic boot; "third-party kernel extensions" errors which refer to the mentioned AMD extensions).

GPU Model Main Kext Loaded
Radeon Pro 555X/560X AMDRadeonX4000.kext
Radeon Pro Vega 16/20 AMDRadeonX5000.kext

If you need to identify which kext is loaded on your system, you can check the loaded kernel extensions using the command:

kextstat | grep -i amd

This will list all currently loaded AMD-related kexts. Listing the loaded kexts only works if you are able to get into macOS normal mode, which you may be able to, intermittently, when encountering a failing GPU (after the machine reboots a few times on its own after stalling). You don't need to do this, and I would just google which kexts are loaded for your Macbook / GPU combination, or rely on the table above. In macOS safe mode no such kernel extensions are loaded, and that's why you're able to load into safe mode.

@redbar0n
Copy link

redbar0n commented Jun 10, 2025

In macOS Sequoia it turned out to be a lot more difficult, since you can't mount any drive as writeable in Single User Mode, and macOS Safe Mode does not allow writing to /System/, and SIP (System Integrity Protection; aka. csrutil) plus the Signed System Volume (SSV; csrutil authenticated-root) protections remain enabled by default. Read about how to disable these protections. Furthermore, if Sequoia fails to boot, then it will revert the system disk to an earlier APFS snapshot, which will overwrite and thus eliminate any files you may have added to root / or /System/ dirs.

I got it working (disable amd gpu, successful boot into macOS Sequoia in normal mode) after a fair amount of attempts. I'll try to document the key factors here, so you may have success in replicating it if you're in the same situation.

In Recovery mode (CMD + R), remember that /System refers to the System folder of the minimal recovery OS, not the System folder of your main macOS installation. So in recovery mode then when you want to make modifications to your macOS installation don't go via root / but via /Volume/<name of your main SSD drive partition>/.

Recommend storing:

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

inside a .sh script file called nvram_disable_gpu.sh stored in your user folder (so it won't be overwritten by system snapshots on potential failed reboot). So you can easily run it again as need be without having to type it out, and just run it from root / with this:

sh /Volumes/Macintosh\ HD/Users/<username>/nvram_disable_gpu.sh

Modern macOS uses a signed system volume (SSV), so you must mount the correct partition with write access to make changes to the System folder (otherwise you'll get Read-only file system errors):

mount -uw /Volumes/Macintosh\ HD/

I moved all of the AMD kexts away from the Extensions folder. Note that this is NOT under /System/Library/Extensions/ since that is under root, but actually under your hard drive (mine is named Macintosh HD) in the /Volumes/ dir:

cd /Volumes/Macintosh\ HD/Users/<username>/System/Library/
mkdir Extensions-off/
mv Extensions/AMD* Extensions-off/

I might just have needed to move the specific "4000" kexts for my AMD Radeon card, mentioned in my previous post. But since that didn't work at first, I moved all of them. After that, the NVRAM settings seem to have done the trick.

macOS Sequoia (and Sonoma) has apparently moved to (esp. in case of errors during boot) booting from a system snapshot, so you need to persist any changes you make to your system in Recovery mode to a snapshot.

After making changes, the system volume must be "blessed" to create a new signed snapshot that the Mac can boot from. This is necessary because, starting with macOS Catalina, the system volume is read-only and uses cryptographically signed snapshots for integrity and security. The bless command is used in Terminal to set the modified snapshot as the bootable system volume. This process tells the Mac to use your modified system as the startup disk. After blessing, you reboot the Mac, and it will boot from your new, altered system snapshot. Without this step, your changes won’t be recognized at boot, or the system may refuse to start due to integrity violations.

See the preexisting snapshots:

diskutil apfs listSnapshots /Volumes/Macintosh\ HD/

I recommend moving the kext files and creating a blessed system snapshot afterwards (in recovery mode) with:

bless --folder /Volumes/Macintosh\ HD/System/Library/CoreServices --bootefi --create-snapshot

Verify that a new snapshot was added, by again running:

diskutil apfs listSnapshots /Volumes/Macintosh\ HD/

There should be an additional com.apple.bless.... snapshot listed at the end and it's XID should say it will root to (boot from) it.

So when Sequoia tries to reboot with that snapshot, those kext files will actually have been moved away from /Volumes/Macintosh\ HD/System/Library/Extensions/ and it shouldn't cause the boot failure / reboot loop.

I got

Try setting:

pmset -g to inspect power management variables
pmset -a gpuswitch 0 to force using integrated GPU only

Other nvram variables to try setting:

nvram gpu-policy=%01 to force using integrated GPU only, might be related/corresponding to the nvram gpu-power-prefs variable, but setting the latter won't set the former.

nvram GfxMode=4 sets the Mac to use the integrated GPU (iGPU) at boot and powers down the discrete GPU (dGPU; e.g. the AMD Radeon card) completely. But it didn't seem to do anything, so I just removed/nullified it with nvram GfxMode=.

nvram boot-args="agc=-1" sets the Apple Graphics Controller on Macs with dual GPUs. Model-dependent, may not have an effect on newer Macs.

nvram boot-args="agc=-1" -v" to combine setting the agc boot arg as well as -v which gives verbose mode boot. I think this might have been key to finally getting it all to work.

nvram -p to see nvram variables and what they are set to.

kextcache -i /Volumes/Macintosh\ HD/ to invalidate the kext cache, likely equivalent to touching the extensions folder, but you get a nice confirmation message.

Notes:

  • sleep (pmset sleepnow) and displaysleep (displaysleep 1 minute) and waking up from them seems to work without crashing and rebooting.

@redbar0n
Copy link

Link to another gist thread with some more fixes like creating a rescue thumb drive that you can use every time you are having trouble booting macOS: blackgate/mbp2011-disable-amd-gpu.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment