Problema de GPU: el inicio se bloquea en la pantalla gris

43

Encontré esto de acuerdo con mi problema en este hilo: el
arranque se cuelga en la pantalla gris (incluso cuando arranca desde una unidad USB con una nueva instalación de OS X)

Mi MacBook Pro 15 "a principios de 2011 con AMD Radeon HD 6750M exhibió daños en la pantalla y fallos / reinicios del sistema asociados durante un período de dos semanas antes de que no se iniciara por completo. El arranque progresaría a través de la pantalla gris con el logotipo y la rueda giratoria de Apple, pero justo cuando parece que debería haber cambiado a la pantalla de inicio de sesión, el logotipo de Apple y la ruleta desaparecerían y colgarían en una pantalla gris en blanco.

Inicialmente sospeché la corrupción del disco duro y traté de remediarlo. Sin éxito, intenté lo siguiente, y cada uno continuó colgándose como se describió anteriormente:

Arranque seguro
Arranque en recuperación (incluida la recuperación de Internet)
Arranque desde el medio de instalación en la unidad USB
Arranque desde la instalación de OS X en la unidad USB
Borrar NVRAM
Restablecer SMC

También ejecuté la prueba de hardware de Apple muchas veces sin que encontrara ningún problema.

El arranque seguro detallado (Cmd + Shift + V) genera todo lo que esperaría ver, pero luego se bloquea como se describe anteriormente.

Después de encontrar más publicaciones en línea en los foros de discusión de Apple sobre problemas relacionados con la GPU, revisé esto como la causa:

2011 MacBook Pro y tarjeta gráfica discreta o 2011 MacBook Pro y tarjeta gráfica discreta

Intentando arrancar Ubuntu desde una unidad flash USB, solo pude llegar hasta GRUB. Al intentar arrancar Ubuntu Desktop o ejecutar la prueba de gráficos en GRUB, el sistema se bloquea.

En este punto, ejecutar Apple Hardware Test se bloqueó justo antes del final de la prueba estándar, posiblemente [adivinando] al hacer una prueba de video.

De acuerdo con el consejo en las publicaciones de Discusiones de Apple anteriores, hice lo siguiente:

Arranque en modo de usuario único
Ejecute los siguientes comandos:

/sbin/fsck -fy /
/sbin/mount -uw /
mkdir /Disabled_System_Library_Extensions
cd /Disabled_System_Library_Extensions
mv /System/Library/Extensions/ATI* .
mv /System/Library/Extensions/AMD* .
touch /System/Library/Extensions
exit

Esta vez la máquina arrancó completamente. Sin embargo, los gráficos son extremadamente lentos, incluso solo transiciones al minimizar las ventanas. Llevaré mi MBP a Apple para exigir un reemplazo ya que la gran cantidad de informes de otras personas que enfrentan problemas similares hace que parezca una recurrencia de una falla similar relacionada con la GPU que resultó en un retiro del mercado.

Pero cuando uso el comando "mv" los archivos no se moverán (ni se eliminarán) y me muestra:
Sandbox deny (01) file-write-unlinked ...

Alguna solución ?

Ghazi Marzouk
fuente
@klanomath Sí, ese es el problema. También me pasó a mi viejo MBP (solo una pantalla verdosa en lugar de gris).
owlswipe

Respuestas:

81

Antecedentes y explicaciones

Lea toda esta publicación al menos una vez de principio a fin antes de realizar cualquier acción.

Todos los MacBook Pros de 2011 tienen un grave defecto de diseño . La gestión térmica y el calor generado junto con la robustez de los chips gráficos AMD discretos no coinciden muy bien. Apple lo sabía y actuó como un típico Soapy Smith , solo reaccionando a esto después de un escándalo. Este escándalo tomó el nombre de RadeonGate. Solo con una demanda de demanda colectiva amenazada, Apple finalmente fue presionada para ofrecer un llamado "Programa de Reparación de Extensión" .

El programa Apple Repair Extension ya no está disponible . La única forma real de solucionar este problema es reemplazar el chip AMD solo. No es la placa lógica. No "rebolar", no "refluir", no "hornear". Apple reemplazó un chip fallido con un chip defectuoso. Una y otra vez. Solo reemplazar el chip de gráficos sigue siendo un procedimiento costoso de hardware para una computadora portátil tan vintage.

La única forma conocida, es decir, solo con el software, de obtener una MacBook Pro 2011 (8,2) con 'solo' un chip de gráficos AMD fallido para encender de manera casi confiable nuevamente y arrancar en macOS y ser bastante útil con una GUI acelerada es esta guía o una variación de la misma. La mayoría de los consejos anteriores simplemente eliminaron todos los AMD-kexts y esto resulta en una experiencia de usuario horrible sin aceleración de GUI en absoluto.

Es necesario saber su versión exacta del sistema operativo. La siguiente guía será más simple para Yosemite, pero supone El Capitán o más reciente. El Capitán, Sierra y High Sierra necesitan SIP (Protección de integridad del sistema) deshabilitado. En sistemas anteriores (10.6–10.10) estos pasos son innecesarios.

Importante: Esta guía asume además que todos los kexts todavía están en su ubicación predeterminada / Sistema / Biblioteca / Extensiones. Tener todos los AMD-kexts allí, excepto uno, es beneficioso para la operación 'adecuada'. Los trucos anteriores en esta dirección podrían haberle dado instrucciones para moverse, o peor: eliminar todas las extensiones de kernel AMD * / ATI *. Si ese es el caso: mueva los kexts nuevamente a su ubicación predeterminada o reinstale un sistema de su elección. Tener la mayoría de los kexts de AMD en su lugar y luego tener el X3000-kext cargado con un retraso permitirá la administración de energía de la GPU que de otro modo quemará electricidad por nada (y podría acelerar la muerte por calor final del chip además de eso). Para reiterar: solo el archivo AMDRadeonX3000.kextrealmente ha estado ausente en el arranque para permitir un inicio exitoso, pero todos los demás controladores AMD (necesarios) deben estar en su ubicación predeterminada y el X3000-kext cargado después / retrasado para volver a un reino de administración de energía y temperatura casi sensata.

Sin pasar por el chip de gráficos discretos

Para recuperar un poco la aceleración de la pantalla, será necesario forzar a la máquina a que no arranque en gráficos discretos (dGPU) sino directamente en gráficos integrados (iGPU) y permanecer en este modo.

El arranque en modo dGPU es el predeterminado en Mac con dos tarjetas gráficas intercambiables. El siguiente procedimiento establecerá una variable NVRAM que deshabilita la dGPU y obliga al sistema a usar solo los gráficos integrados de Intel, incluso durante el arranque.

La variable NVRAM no está documentada, pero parece ser universalmente aplicable a todos los Mac con dos tarjetas gráficas intercambiables. Eso significa que debería funcionar en iMacs y MacBook Pros. Ya sea que tengan chips AMD o NVIDIA. Los detalles sobre los controladores que podrían ser necesarios para mover solo cubren AMD en esta guía. Pero la variable NVRAM omitirá el chip de gráficos discretos en cualquier caso.

Esto le devolverá su máquina, pero perderá algunas características: por ejemplo, la capacidad de manejar una pantalla externa desde DisplayPort, un poco de rendimiento en 3D. Las conexiones de datos Thunderbolt deberían funcionar.

En caso de que esta guía falle o ya no se quiera: este procedimiento es pura configuración de software y, por lo tanto, completamente reversible en cualquier momento con un simple restablecimiento de NVRAM .

El procedimiento inicial:

Parte 1: deshabilite SIP, deshabilite dGPU, mueva una extensión de kernel

  1. Para comenzar desde cero: reinicie SMC y NVRAM:
    apague, desconecte todo excepto la alimentación, ahora mantenga

    leftShift+ Ctrl+ Opt+ Power
    y suelte todo al mismo tiempo;

  2. Ahora enciéndalo nuevamente y sostenga

    Cmd+ Opt+ p+ r
    al mismo tiempo hasta que escuche el timbre de inicio dos veces.

  3. Arranque en recuperación de usuario único manteniendo

    Cmd+ r+s

  4. Deshabilitar SIP: ingrese:

    csrutil disable

  5. deshabilite dGPU en el arranque con la configuración de la siguiente variable:

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

  6. habilitar el modo de arranque detallado:

    nvram boot-args="-v"

  7. reiniciar en modo de usuario único manteniendo

    Cmd+ s
    en el arranque

  8. montar partición raíz grabable

    /sbin/mount -uw /

  9. hacer un directorio kext-backup

    mkdir -p /System/Library/Extensions-off

  10. solo mueve UN kext ofensivo fuera del camino:

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

  11. informar al sistema para actualizar su kextcache:

    touch /System/Library/Extensions/

  12. reiniciar normalmente:

Ahora debería tener una pantalla acelerada iGPU, pero el sistema no sabe cómo administrar la energía del chip AMD fallido. (En este estado, la GPU siempre está inactiva con una potencia relativamente alta, consume bastante batería cuando se desconecta y conduce a temperaturas de GPU de 60 ° C hacia arriba [en promedio 60-85 ° C], a pesar de que el sistema no la utiliza para nada .)

Parte 2: mejorar la gestión térmica y de energía

Para mejorar la administración de energía de la GPU deshabilitada, debe cargar manualmente el único kext crucial después del arranque:

sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext

Si tiene una aplicación de sensor de temperatura, es posible que desee abrirla antes de ejecutar el comando anterior y ver caer las temperaturas ...

Automatice esto con el siguiente LoginHook que se ejecutará después del próximo reinicio:

sudo mkdir -p /Library/LoginHook   
sudo nano /Library/LoginHook/LoadX3000.sh

con el siguiente contenido:

#!/bin/bash
kextload  /System/Library/Extensions-off/AMDRadeonX3000.kext
pmset -a force gpuswitch 0    # undocumented/experimental
exit 0

luego hazlo * 1 ejecutable y activo:

sudo chmod a+x /Library/LoginHook/LoadX3000.sh  
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh 

* 1: El uso no documentado de este comando pmset parece mejorar el comportamiento de reposo / activación / apagado. Si no es así, experimente dejándolo afuera.
Ver descargo de responsabilidad a continuación. Lo siguiente es solo especulación: dormir / despertar / apagar puede seguir siendo problemático. La teoría aquí es que "algo corrompe lentamente" lo que se guarda en el SMC. Por lo tanto, restablecer el SMC y volver a aplicar el hack variable parece aliviar la situación por un tiempo. (¡Soluciones permanentes para esta bienvenida!) Como soluciones temporales breves, es posible que desee intentar evitar el "sueño de cierre de la tapa", que parece dar más problemas que otros métodos (Apple-Menu, Keyboard-Shorcut). Los bloqueos aparentes en el apagado generalmente son retrasos muy largos que se apagarán, eventualmente, de manera limpia y exitosa.
El muestreo no científico sugiere que Yosemite es peor para esto y El Capitán y Sierra se comportaron mucho mejor a este respecto.

La carga manual o retrasada de esta extensión crucial del núcleo permite que el sistema maneje un poco mejor la administración de energía. La batería se usará menos y las temperaturas que emanan de la GPU no utilizada caerán a un rango significativamente inferior a 50 ° C (en promedio entre 15-50 ° C).

Para una administración de energía adecuada, el conjunto mínimo de kexts cargados se encuentra en el arranque (versiones para 10.12.6, consulte 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) 

Y si el método anterior de carga se realizó correctamente, esto debería aparecer agregado a la lista:

com.apple.AMDRadeonX3000 (1.5.1) 


Un último paso es reiniciar una vez más en SingleUserRecovery.
Haga esto con Cmd+ r+ s
después de que la línea de comandos se active, ingrese:

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

y reiniciar normalmente.

Esto enfriará la dGPU un poco más.

Es imperativo emitir este comando desde SingleUserRecovery ya que el sistema con SIP habilitado bloqueará sus intentos de establecer esta variable cuando se inicie desde el volumen de inicio normal, ya sea en modo de inicio completo normal o SingleUser normal. Es importante tener en cuenta que, por lo tanto, este paso no puede integrarse fácilmente en el script force-iGPU.sh (que creará en un minuto) y debe repetirse por sí solo después de un reinicio de NVRAM.

Este último paso supone que SystemIntegretyProtection se ha vuelto a habilitar. Pero si SIP se mantiene intencional y permanentemente apagado, entonces este paso puede integrarse en el script force-iGPU.sh anterior.
Pero como de alguna manera tenía la intención de mantener el SIP apagado permanentemente y se volvía a encender sin que me diera cuenta, la dependencia de que el SIP permanezca "apagado" podría no ser el mejor enfoque. La eliminación de NVRAM, donde se almacenan las configuraciones SIP, podría ser una de esas perturbaciones imprevistas.

Medidas preventivas para uso futuro.

Hay dos advertencias adicionales que debe saber: Esto es reversible cuando se reinicia la SMC / NVRAM. Si eso sucede, la variable NVRAM GPU-power-pref puede o incluso debe configurarse nuevamente para forzar el uso de la iGPU desde el momento del arranque.

Dado que esto puede suceder con bastante facilidad (y a menudo se recomienda erróneamente demasiadas veces de lo que realmente es útil), probablemente debería prepararse para tal escenario y crear un script simple para acelerar enormemente el proceso y también hacer que ingresar la variable necesaria sea mucho menos propenso a errores:

 sudo nano /force-iGPU-boot.sh

- Ingrese el siguiente contenido en este archivo:

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

- Ahora haz ese ejecutable:

sudo chmod a+x /force-iGPU-boot.sh

En el futuro, cuando SMC / PRAM / NVRAM se restablezca a los valores predeterminados, ahora es posible iniciar en SingleUser con:

Cmd+s

- Y después de montar su volumen de arranque de lectura-escritura para ejecutar solo esta línea:

sh /force-iGPU-boot.sh


Recuerde que la variable agc ahora también se borra. (Consulte más arriba)
Además, asegúrese de configurar nuevamente el volumen de arranque predeterminado en Preferencias del sistema> Disco de inicio.

Parte 3: Manejo de actualizaciones de Apple

Esta configuración tiene ahora un kext en un lugar que los instaladores de Apple no esperan. Es por eso que en esta guía SIP no se ha vuelto a habilitar. Si una actualización que contiene cambios en los controladores de AMD está a punto de llevarse a cabo, es aconsejable regresar el AMDRadeonX3000.kext a su ubicación predeterminada antes del proceso de actualización. De lo contrario, el actualizador escribe al menos otro kext de una versión diferente en su ubicación predeterminada o, en el peor de los casos, termina con un estado indefinido de controladores parcialmente no coincidentes.

Después de cualquier actualización del sistema, la carpeta / Sistema / Biblioteca / Extensiones debe verificarse para el kext infractor. Su presencia allí conducirá, por ejemplo, a un bloqueo de arranque en Yosemite y Sierra, un circuito de arranque sobrecalentado en High Sierra.

Actualización a High Sierra 10.13: con este truco en su lugar es casi sencillo: a pesar de aplicar una actualización de firmware, el proceso de instalación no debe tocar la variable NVRAM. El proceso de instalación tampoco utiliza un chip AMD completamente acelerado, sino una aceleración básica que no es problemática con respecto a este truco. Sin embargo, como se señaló en el párrafo anterior, el primer arranque en un sistema que ha terminado de instalarse pero que está a punto de comenzar el proceso de configuración producirá un ciclo de arranque inducido por calor / bloqueo. La extensión del kernel infractor se debe mover nuevamente como se describió anteriormente. (Comenzando en el Paso 3) Después de mover el kext, todo estará bien.

Actualizaciones recientes de Apple: no actualice antes de haber leído lo siguiente.

Hasta nuevo aviso: las
actualizaciones recientes rompen la máquina nuevamente Actualiza el firmware, RecoveryPartition, parece deshabilitar la posibilidad de arrancar en SingleUserRecoveryMode
y, para colmo, instala, incluso con DeltaUpdate, un AMDRadeonX3000.kext que funciona.
Sin preparación y con solo la máquina a mano, se quedará atascado un poco.

En caso de que SingleUserRecoveryMode desaparezca para siempre, use RecoveryMode regular. Los resultados son los mismos, es un poco más lento para iniciar: el procedimiento anterior sigue siendo válido y más rápido para todas las versiones anteriores de Mac OS X / macOS.

Pero si actualiza a 10.13.6, o posterior:
Luego debe reemplazar las instrucciones para SingleUserRecoveryMode ( Command+ r+ s) con RecoveryMode regular ( Command+ r) y deshabilitar SIP a través de la Terminal ( Ejemplo para este caso de uso preciso ).

En caso de que pertenezca a aquellos en los que incluso RecoveryMode normal no funciona como se esperaba:
Soluciones para la incapacidad de deshabilitar SIP con SingleUserRecovery:

  1. Primero, inicie en modo de recuperación de usuario único. Las ediciones csrutil no están permitidas en este modo, pero pueden establecer la propiedad gpu-power-prefs nvram. Esto ayudará a reiniciar la máquina en modo de recuperación. Luego debe reemplazar las instrucciones para SingleUserRecoveryMode ( Command+ r+ s) con RecoveryMode regular ( Command+ r) y deshabilitar SIP a través de la Terminal ( Ejemplo para este caso de uso preciso ).

  2. Antes de actualizar, prepare un volumen de arranque. Eso puede ser un disco externo o un palo. Cualquier versión que arranque la máquina estará bien. Tal unidad se puede crear en otra Mac.
    Tenga en cuenta que en el disco externo también debe (re) mover el AMDRadeonX3000.kext. Intenta arrancar desde esa unidad. Solo si eso funciona como se esperaba y puede montar su unidad interna con ella: reinicie desde su unidad interna y continúe con la actualización de su unidad / sistema interno a 10.13.6.
    Después de que la actualización esté casi terminada, se bloqueará un reinicio. Forzar un apagado y reiniciar desde su unidad externa. Monte la unidad interna y mueva el Radeon.kext. SIP solo protege el sistema arrancado.

  3. Sugerido en algún lugar en línea, pero realmente una suposición desesperada y no probada: en lugar de SingleUserRecoveryMode con Cmdrsusted, puede probar InternetRecoverySingleUserMode CmdOptrs. Alternativamente, podría valer la pena intentar ver si SafeRecoveryMode funciona CmdShiftr.

    El modo de recuperación gráfica podría no funcionar también, como lo hizo para mí. Sin embargo, en la última versión de High Sierra, todavía es posible arrancar en modo de recuperación de usuario único. Solo necesita un buen momento. El truco es habilitar primero el modo de recuperación presionando cmd + R e inmediatamente después de reconocer el comando cmd + S para el modo de usuario único. El momento exacto tiene que ser resuelto por el usuario. Si se presionan cmd + R + S al mismo tiempo, solo se activará el modo de usuario único. Si se presiona cmd + R primero y se presiona cmd + S demasiado tarde, se carga el modo de recuperación gráfica. - TAKeanice ↵

¿Las teclas de brillo de la pantalla no funcionan en High Sierra?

Apple cambió la forma en que se manejan los eventos del teclado para cambiar el brillo de la pantalla en High Sierra. Con este truco o las modificaciones de hardware a continuación en su lugar, las teclas no funcionarán. Una razón más para quedarse con Sierra. Pero con este truco también puede recurrir a usar otra solución de software. Además de hackear su propia solución AppleScript, es posible que desee probar aplicaciones o aplicaciones listas para usar.

Por ejemplo, Brightness Slider en AppStore ofrece atajos de teclado personalizables.


Para evitar estos bloqueos / bloqueos / bucles de arranque, que nunca son una buena idea para su sistema de archivos, en una instalación nueva o una actualización: asegúrese de cuidar el proceso de instalación y siempre inicie en SafeMode (mantenga Shiftpresionado durante los arranques hasta que kext se traslada a un lugar seguro: la instalación debe continuar correctamente en SafeMode.

Observaciones finales y recomendaciones

Además: esta computadora portátil se está sobrecalentando, no importa lo que hagas. El sistema de enfriamiento es inadecuado y la gran cantidad de chips AMD que fallan son solo prueba de ello.

Para prolongar la vida útil de esta máquina ahora pirateada, es recomendable abstenerse de levantar objetos pesados ​​durante largos períodos de tiempo. Siga estrictamente las recomendaciones habituales para computadoras portátiles: use en superficies duras, mantenga limpios los ventiladores y las aletas en su interior. El uso de cualquier software de control de ventilador con configuraciones relativamente agresivas también debería ayudar: como smcFanControl , MacsFanControl o TGPro (ambos comerciales).

Descargo de responsabilidad: todo este procedimiento no es una bala mágica. El estado de falla de estos chips no es 100% predecible. Muy pocos usuarios tienen problemas incluso con este truco en su lugar: puede haber problemas con el reinicio, el sueño o el despertar correctamente, la mayoría de ellos provienen de usuarios con Yosemite, el menor problema parece estar en Sierra. En estos casos, a veces parece necesario no utilizar AMDRadeonX3000.kext y, por lo tanto, tampoco el LoginHook de la Parte 3. (Pero vea la nota adicional en * 1 arriba). Un número desproporcionado de usuarios en High Sierra informa problemas con sus pantallas ajuste de luz de fondo. Por lo tanto, el punto ideal para elegir el sistema operativo es, en mi opinión, 10.12 Sierra.

En algunos casos, incluso con todas estas medidas en su lugar, parece que el puerto Thunderbolt que sigue funcionando causará algunos problemas si hay periféricos conectados y activos cuando la máquina se pone en reposo. Después de que esto suceda, cualquier ciclo de sueño subsiguiente podría verse afectado y será necesario restablecer la NVRAM con el baile de configuración variable posterior descrito anteriormente, nuevamente. En estos casos, parece aconsejable evitar la suspensión de la máquina o desconectar cualquier hardware en el puerto Thunderbolt antes de dejar la suspensión de la máquina.

Dentro de las restricciones descritas al comienzo de esta respuesta: la mayoría de los usuarios informan un éxito completo.


Mods / hacks de hardware

Varias formas disponibles ahora, algunas malas, otras buenas.

Mala solución: una modificación de hardware muy barata está disponible en / desde RealMacMods: si bien utilizan una forma relativamente complicada de configurar la variable EFI necesaria con Linux, lo siguiente tiene la ventaja de cortar el voltaje del núcleo al dGPU por completo eliminando solo una pequeña resistencia ! (Fotos en el enlace)

En este reinicio, es esencial que inicie una vez en modo seguro (mantenga presionada la tecla Mayús durante todo el inicio) y luego elija apagar (no reiniciar) del menú.
Haga este arranque seguro con la resistencia R8911 en su lugar. Sin este arranque seguro, los siguientes pasos pueden no funcionar.
No hagas más botas hasta que completes los siguientes pasos.
El arranque seguro borra las preferencias de GPU a nivel del sistema operativo, que pueden interferir con el siguiente proceso.
Esto ahora hará que su MacBook Pro deje de cambiar al Radeon automáticamente, pero seguirá consumiendo energía, generará calor y será visible para el sistema operativo.
Descubrimos que simplemente quitando 1 resistencia resolverá esto.
La resistencia también se puede reemplazar con un interruptor, en caso de que necesite volver a encender su radeon por cualquier motivo.
La colocación de esta resistencia varía entre los modelos de placa lógica.
La resistencia en cuestión es R8911 en el MBP de 17 ″ y R8911 en el MBP de 15 ″, una resistencia de 1 Ohm que proporciona una ruta de corriente al convertidor de CC a CC ISL6263C.
Esta resistencia controla la energía al regulador de voltaje que proporciona el voltaje central a la GPU Radeon. En pocas palabras, sin voltaje central, sin GPU. Encontrará la resistencia justo a la derecha de un ventilador de enfriamiento (en la orientación anterior). Estará cerca del chip convertidor de voltaje ISL. Este es el chip que estaremos inhabilitando.
Solo quítalo. El método preferido es una estación de reflujo profesional, pero una plancha y una mano firme lo llevarán a donde necesita estar. Si usó fundente para eliminarlo (no es necesario), asegúrese de limpiar con un poco de alcohol u otro solvente adecuado.
Eso es básicamente eso. La próxima vez que inicie, notará que su problema con el defecto de la GPU ha desaparecido y ya no verá la GPU AMD como hardware instalado.

No he probado esto, pero debería eliminar cualquier necesidad de cuidar los kexts y también resolver cualquier problema relacionado con el sueño, la activación, la hibernación, el reinicio, etc.
Una advertencia para considerar este método: ya que también parece depender de tener este conjunto de variables NVRAM Parece que es absolutamente esencial contar con un método totalmente automatizado para establecer esta variable sin intervención del usuario. (Al igual que un dispositivo Linux que realiza los cambios necesarios) De lo contrario, un restablecimiento de NVRAM prácticamente podría bloquear la máquina. ¡El vendedor afirma no tener datos sobre esto!

(Después de leer la historia de un usuario mordido por este método, terminando con solo una pantalla en negro: parece posible acceder de forma remota a la máquina con VNC o ssh, por lo que si se configura de antemano, puede ser una opción no tan mala después todo, ya que la variable nvram puede apostar de esta manera. Recuerde: historia de Internet no probada).

¡Solución de hardware permanente, confiable y barata!

Aparentemente, Dosdude1 ha encontrado una solución que parece ser el santo grial para este problema: Deshabilitar permanentemente la GPU dedicada MacBook Pro 2011 15 "/ 17" de 2011 - Bypass de IC de gMux

  • La opción A, que se detallará a continuación, es conectar las líneas de salida LVDS desde las líneas de salida LVDS de gráficos integrados directamente a las líneas que se conectan a la pantalla.
  • La opción B sería reprogramar el gMux IC (que es simplemente un microcontrolador Lattice LFXP2), con un firmware personalizado para deshabilitar la funcionalidad de conmutación de la GPU. Puedo experimentar con esto en el futuro, pero hacerlo requiere un hardware especial que no tengo. Sin embargo, esta sería, por supuesto, la solución óptima.

Esto es casi fácil. Todo lo que se necesita son varias longitudes de cable . Para echar un vistazo: ¡ ingrese la descripción de la imagen aquí también en youtube!

La 'mala solución' de arriba ahora se convierte en una solución de hardware casi profesional y prefabricada, eliminando la 'mala' anterior de ese enfoque:

Tiresias (GPUkiller): Tiresias es una placa pequeña que se puede soldar en la placa base de los modelos MacBook Pro de 15 o 17 pulgadas de 2011 (Temprano o Tardío).

Estos son todos los modelos que tienen la placa base 820-2914-A, 820-2914-B, 820-2915-A o 820-2915-B.

La placa 820-2914 y 820-2915 tiene dos GPU. La GPU interna (Intel) que forma parte de la PCH y una GPU AMD externa (discreta). Es la GPU externa que falla en 'un pequeño porcentaje de los sistemas MacBook Pro' (Apple habla por: 'muchos'). Tiresias escribe la variable nvram 'gpu-power-prefs' en la ROM para que la Mac ya no use la GPU AMD (discreta) externa (muerta). Si el usuario borra la NVRAM (PRAM), no hay problema, ya que Tiresias volverá a escribir el registro y la Mac volverá a funcionar.

Esto hace que esta sea la solución ideal para revivir un 820-2914 o 820-2915 con GPU muerta. La instalación es fácil (sin cables para soldar). Deberá montar una placa muy pequeña en la placa base. Un técnico experimentado puede hacer esto en minutos. Aparte de eso, R8911 debe eliminarse para apagar la GPU muerta. Esto ahorra energía, genera menos calor y conserva la vida útil de la batería. La eliminación de R8911 también evita que la GPU muerta confunda la Mac porque incluso con la GPU apagada, aún intentará hablar con la GPU muerta. Dependiendo de qué contactos internos en la GPU se rompan, esto podría confundir o incluso bloquear la Mac.

Mac OS X 10.13 High Sierra también es compatible. Para resolver el problema de que la luz de fondo no se vuelva a encender después de dormir, también retire R9704 y conecte el pin 2 de R9704 al pin 1 de C9711.

Detalles técnicos de Tiresias (GPUkiller) Tiresias es una placa pequeña que se puede soldar en la placa base de los modelos MacBook Pro de 15 o 17 pulgadas de 2011 (principios o finales).

Estos son todos los modelos que tienen la placa base 820-2914-A, 820-2914-B, 820-2915-A o 820-2915-B.

La placa 820-2914 y 820-2915 tiene dos GPU. La GPU interna (Intel) que forma parte de la PCH y una GPU AMD externa (discreta). Es la GPU externa que falla en 'un pequeño porcentaje de los sistemas MacBook Pro' (Apple habla por: 'muchos'). Tiresias escribe la variable nvram 'gpu-power-prefs' en la ROM para que la Mac ya no use la GPU AMD (discreta) externa (muerta). Si el usuario borra la NVRAM (PRAM), no hay problema, ya que Tiresias volverá a escribir el registro y la Mac volverá a funcionar.

Esto hace que esta sea la solución ideal para revivir un 820-2914 o 820-2915 con GPU muerta. La instalación es fácil (sin cables para soldar). Deberá montar una placa muy pequeña en la placa base. Un técnico experimentado puede hacer esto en minutos. Aparte de eso, R8911 debe eliminarse para apagar la GPU muerta. Esto ahorra energía, genera menos calor y conserva la vida útil de la batería. La eliminación de R8911 también evita que la GPU muerta confunda la Mac porque incluso con la GPU apagada, aún intentará hablar con la GPU muerta. Dependiendo de qué contactos internos en la GPU se rompan, esto podría confundir o incluso bloquear la Mac.

OS X 10.6 - 10.12 (Sierra)

El control deslizante de retroiluminación (en Preferencias del sistema) y las teclas de retroiluminación (F1 y F2) funcionan. El sistema de sueño funciona. La salida de video en el puerto Thunderbolt no funciona, pero todas las demás funciones del puerto Thunderbolt sí funcionan.

OS X 10.13 (Sierra alta)

Hasta donde sabemos 10.13 (High Sierra) no ofrece ventajas sobre 10.12 (Sierra). Apple rehizo totalmente los controladores de video en High Sierra, y parece haber hecho un desastre. Los controles de luz de fondo no funcionarán. Y lo que es peor, después de que la máquina se despierta de la suspensión, la luz de fondo no se vuelve a encender.

Para resolver el problema de que la luz de fondo no se vuelve a encender después de dormir, retire R9704 y conecte el pin 2 de R9704 al pin 1 de C9711. Esto configura la luz de fondo al brillo total. El inconveniente es que con esta modificación, el brillo también estará en pleno brillo con los sistemas operativos antiguos.

Tiresias para 820-2915 (15 pulgadas) Cantidad uno (1) Incluye envío (en todo el mundo) 60 EURO.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí


Actualización para una solución de software integral

¡El procedimiento anterior parece haberse incorporado a una aplicación relacionada con el truco de hardware! Bueno, al menos partes de eso. Pero, por otro lado, esta aplicación es más universal que la anterior, ya que parece manejar también las tarjetas NVidia, es decir, es para deshabilitar todas las CPU discretas en todos los Mac.

Por desgracia, esta aplicación hecha por dosdude1 y no está bien documentada. La pantalla Léame dice que establecería la variable NVRAM, movería todos los controladores de aceleración gráfica y luego instalaría un demonio de lanzamiento para manejar las actualizaciones y garantizar que la variable permanezca establecida.

¡No lo he probado y no lo he aprobado si ya ha seguido el procedimiento descrito anteriormente!
Pero si el procedimiento no funcionó en algún momento para usted o parece simplemente desalentador para empezar, entonces puede intentar esto:

dosdude1: Otro software no documentado que he escrito se almacena aquí: MacBook Pro dGPU Disabler.zip

Es posible que deba volver a examinar el procedimiento anterior, ya que la aplicación parece no mejorar la parte de administración térmica (si modifica el hardware quitando el transistor, esto se convierte en estado de ánimo: mezclar y combinar).
Si alguien prueba esto, envíe sus comentarios aquí mediante comentarios o una edición.


Actualización de Pascua 2019: solución de $ 20 que utiliza una computadora con Windows de 64 bits y un programador Lattice HW-USBN-2A ICSP FPGA para aplicar un firmware personalizado al gMux IC. Dosdude1 afirma que esta es la solución 'perfecta', lo que significa que incluso bajo la duración de la batería HighSierra y Mojave, la temperatura, el control de brillo y la función de despertar / dormir funcionan como se esperaba. Usar esa solución es permanente y hace que todo lo anterior quede obsoleto.
Pero esta nueva solución no es gratuita y requiere hardware en forma de PC con Windows y el programador); así como actualmente soldar algunos cables temporalmente a la placa lógica).

LаngLаngС
fuente
2
@Tarek Strange. Parece que estás en High Sierra. No sé si lo han apretado más allá últimamente. ¿Tiene un sistema antiguo de arranque? Desde Yosemite funciona siempre; en Sierra como se describió anteriormente (y desde ambos, la configuración se mantendrá). De lo contrario, sugeriría deshabilitar SIP e intentarlo de nuevo (¿entonces quizás también desde un arranque normal?). (Dejar de agclado no es catastrófico, ejecuté la Mac durante un mes sin ella antes de encontrar este truco. La mejora varía solo de 'un poco' a 'OK, casi genial') Radical chic sería usar un dispositivo Linux y establecer la variable desde allí ...
LаngLаngС
66
Después de un par de meses tratando de que mis 17 "mbp finales de 2011 volvieran a la tierra de los vivos, finalmente descubrí que el problema de la GPU discreta era el culpable. Sinceramente, @LangLangC en todos mis años en TI, nunca había visto tal Una explicación lógica y completa de una solución bien diseñada, con detalles de nivel innegablemente expertos. Y todo por un deseo altruista de ayudar a los demás. Estoy escribiendo esto en mi MBP revivido, y aunque sé que no lo hiciste hacer esto para hacer dinero, usted me salvó miles potencialmente así que voy a PM que con la esperanza de que se puede comprar una cerveza a través de Patreon etc. muchas gracias.
bobsmells
2
Para el registro, a partir del 10.13.4, los kexts relacionados con las GPU AMD son: com.apple.kext.AMDLegacySupport (1.6.6), com.apple.kext.AMD6000Controller (1.6.6), com.apple.kext.AMDLegacyFramebuffer (1.6.6) y com.apple.kext.AMDRadeonX3000 (1.6.6).
Kendall Lister el
44
¡Funcionó para mí en un Sierra de 17 "a principios de 2011! ¡La pantalla externa no funciona, pero es mejor que un pisapapeles gigante! Tenga en cuenta (para los novatos como yo), debe escribir rebootdespués de la desactivación SIP inicial csrutil disabley después de que cambie el gpu nvram en recuperación. No estaba seguro de cómo reiniciar desde el terminal de recuperación, e intenté apagarlo, pero el cambio SIP no persistió de esa manera.
Will Buck
2
Gracias por esta maravillosa compilación de todas las soluciones posibles para nuestro querido 2011 mbp. Resucité mi cuaderno muerto con el método de eliminación de nvram y kext en High Sierra ahora actualizado a 10.13.6. Todo funciona como debería, el portátil funciona mejor, el control de brillo funciona bien, el sueño también funciona bien. Hoy conecté el cable Thunderbolt a otra Mac que funciona en el modo de disco Target, pero nada. Reinició 2011 mbp a TDM, nada en otra mac. Siento que la conexión de datos Thunderbolt es a través de GPU, por lo que está rota. A diferencia de algunas menciones de 'TB debería funcionar'. Lo probará con eGPU ahora
Mayank Chandak
1

Si el problema es que no puede mover esos archivos, es probable que la Protección de integridad del sistema lo esté deteniendo. Supongo que estás en El Capitán o Sierra.

  • Apaga tu laptop.
  • Presione Comando + R y luego el botón de encendido para iniciar en modo de recuperación.
  • Haga clic en el menú Utilidades y seleccione Terminal.
  • Escriba csrutil disabley presione regresar.
  • Cierre la aplicación Terminal y reinicie para salir del modo de recuperación.
  • Ahora intente reiniciar en modo de usuario único e intente mvordenar.

Si eso funcionó, vuelva a habilitar SIP:

  • Apaga tu laptop.
  • Presione Comando + R y luego el botón de encendido para iniciar en modo de recuperación.
  • Haga clic en el menú Utilidades y seleccione Terminal.
  • Escriba csrutil enable y presione Intro.
  • Cierre la aplicación Terminal y reinicie para salir del modo de recuperación.
Snacking_IT
fuente
@klanomath gracias por su rápida respuesta. Pero el único modo que puedo lograr es el modo de usuario único. Se congela en modo de recuperación incluso en el modo de recuperación de Internet.
Ghazi Marzouk
@GhaziMarzouk Snacking_IT respondió a su pregunta! Acabo de editarlo un poco ...
klanomath
@Snacking_IT gracias por su rápida respuesta. Pero el único modo que puedo lograr es el modo de usuario único. Se congela en modo de recuperación incluso en el modo de recuperación de Internet
Ghazi Marzouk
2
Solo como una actualización, en la respuesta de @ LangLangC, no pude deshabilitar SIP en El Capitan durante los pasos 1.3 y 1.4, ya que Single User Recovery solo monta la unidad como solo lectura. El enfoque anterior (en lugar de arrancar en modo de recuperación) funciona, por lo que es útil incluir esta información.
Twitch_City
1

Gracias a esta respuesta https://apple.stackexchange.com/a/295805/300460 de https://apple.stackexchange.com/users/251859/langlangc . Lo seguí cuando tuve este problema en septiembre de 2018. Sin embargo, luché un poco para descubrir los pasos delta exactos que se realizarían por segunda vez, cuando me encontré con el mismo problema ayer cuando hice la actualización de seguridad OSX 2019-003. Entonces, pensé en dejar exactamente esos pasos pensando en aquellos usuarios que podrían encontrarse con este problema por segunda vez. Una vez más, muchas gracias a langlangc por el original.

Estaba en OSX 10.13.6 cuando hice la actualización.

  1. Reinicie en modo de usuario único presionando y manteniendo presionado Cmd + S (Cmd + R no se cargará al langlangcmostrar la pantalla en blanco. En realidad, me había pedido que confirmara esto en septiembre de 2018; pero no pude responder porque no tengo permiso para comentario)
    • correr sh /force-iGPU-boot.sh
  2. Reinicie en modo de recuperación presionando y manteniendo presionado Cmd + r
    • Ejecute estos comandos. De hecho, los puse en un pequeño archivo de script /force-iGPU-boot_without_sudo.sh.
      csrutil disable nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 nvram boot-args="-v"
  3. Reinicie en modo de usuario único presionando y sosteniendo Cmd + s
    • Asegúrese de /System/Library/Extensions-offeliminar una carpeta existente después de realizar una copia de seguridad
    • Ejecute estos comandos. Nuevamente, los puse en un pequeño archivo de script /move_out_amd_kext.sh /sbin/mount -uw / mkdir -p /System/Library/Extensions-off mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ touch /System/Library/Extensions/
    • Entrar nvram boot-args="agc=0"
    • Ingrese rebootpara iniciarlo normalmente.

Todo lo demás debería funcionar como se esperaba, ya que habría hecho todos los demás pasos necesarios cuando lo hizo funcionar por primera vez. Todo lo mejor.

Actualización 12 de agosto de 2019

Solía ​​depender de la solución basada en software sugerida por @LangLangC. Sin embargo, la reciente actualización en agosto encontró que el arranque normal se colgó en la barra de progreso. Sin embargo, puedo pasar por el modo de inicio seguro, pero la pantalla parpadeará mucho.

Actualización 14 de agosto de 2019

Arrancado con éxito cuando deshabilité el SIP en modo de recuperación No recuerdo si lo he hecho en el pasado, pero ahora creo que sí.

Perdí mucho tiempo sospechando muchas razones diferentes, incluido el problema de la GPU que empeora o posibles errores con la actualización de seguridad 10.13.6 2019-004.

Sin embargo, ahora noté que arrancó esta vez incluso con la problemática /System/Library/Extensions/AMDRadeonX3000.kexten su lugar.

Actualización 11 de noviembre de 2019

El AMD6000Controller.kextes necesario para obtener la parte posterior control de brillo a trabajar como de costumbre. Ese kext tiene que estar presente en /System/Library/Extensions/.

Raj
fuente
¿Podría explicar qué quiere decir exactamente con "segunda vez"? Lo anterior se ve como si hubiera restablecido NVRAM / PRAM en el proceso. ¿O es esto lo que hiciste mientras estabas trabajando con un truco en 10.13 y acabas de aplicar el reciente SecUpdate? (El SecUpdate en sí mismo no debe hacer nada para invalidar el hack en sí, sino instalar un AMD.kext que funcione en la ubicación incorrecta para el hack y, por lo tanto, debe moverse). O desde el otro lado: ¿se restableció su NVRAM durante la actualización?
LаngLаngС
Ya estaba en un truco de trabajo en 10.13.6 que se realizó en septiembre de 2018 posterior a su respuesta. Luego apliqué la actualización de seguridad ayer, después de lo cual estoy atascado nuevamente con la pantalla blanca. Nunca juego con archivos KEXT a menos que tenga que seguir sus instrucciones para solucionar el problema de la pantalla blanca después de la actualización de seguridad. Con solo el paso 1 (primer modo de usuario único) no se solucionó el problema, por lo que tuve que pasar al paso 2 (modo de recuperación) posteriormente al paso 3 (modo de usuario único nuevamente).
Raj
Acabo de actualizar mi volumen High Sierra con la última actualización de seguridad 2019-005. La barra de proceso se atascó en el reinicio, así que esperé a que los fanáticos se detuvieran y reinicié mi MBP manualmente en modo de usuario único y seguí su guía. Funcionó bien! Sin embargo, algunas preguntas: ¿por qué tienes que repetir el hack NVRAM en el paso 2? ya está en el /force-iGPU-boot.shguión no? y mi Extensions-offdirectorio ya estaba en su lugar, simplemente moví el nuevo AMDRadeonX3000.kexty lo llamé AMDRadeonX3000v2.kext. Parece mejor mantener y cargar el original como se indica en la guía @LangLangC, supongo.
aroom
1
@aroom Lo anterior repite algunos pasos redundantes, sin hacer daño, solo un enfoque de cinturón y tirantes. La clave para las actualizaciones es con NVRAM en su lugar, un X3000 en funcionamiento bloquea el arranque. Muy a menudo Apple envió un kext defectuoso que dependía de una instalación original, a todos los deltas les faltaba un archivo crucial. (Para obtener resultados óptimos, tuvimos que colocar el antiguo kext en su lugar, luego actualizarlo y luego volver a activarlo con Ext-off) Ahora que Apple finalmente lo solucionó, es mejor usar el nuevo kext de la actualización, que coincida con los números de versión en la actualización . Con SIP desactivado, simplemente inicie SafeMode y mv en Ext-off, eliminando la versión anterior.
LаngLаngС