Skip to content

Instantly share code, notes, and snippets.

@cdleon
Last active November 13, 2024 23:34
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.

@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, на всякий случай, иначе получим черный экран при загрузке.
Но и если сбросили ничего страшного не произойдёт, паяем резистор обратно, или просто ставим перемычку и повторим процедуру с самого начала.

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