El camino a la pregunta del título se enmarca podría ser de interés general.
El problema concreto o ejemplo que esta pregunta debe ser aplicado a es: Encontrar la solución óptima para hackear un muerto MacBook Pro (quemado de gráficos discretos AMD chip) de nuevo en óptimas condiciones de uso.
Antecedentes:
Situación actual: frito dGPU, de arranque ha de ser forzadas a iGPU siempre. Con el valor predeterminado de la configuración de hardware y de sistema predeterminado de la instalación, el equipo simplemente no arranque.
Secundarios no deseados-efecto de la desactivación de la dGPU en software: AMDRadeonX3000.kext no debe cargar inmediatamente, si no lo hace ya de inicio se bloquea en Yosemite, heladas en la Sierra y los resultados en obligado enseguida se reinicia debido a un sobrecalentamiento en la Alta Sierra antes de la GUI. Los síntomas observables en la Sierra, la última línea en verbose boot es: IOConsoleUsers IOScreenLockState 3.
No carga el kext: gestión térmica para AMD chip va de las manos. La temperatura nunca se hunde por debajo de 65°C y fácilmente los picos más altos a pesar de que el chip no está siendo utilizado.
Carga diferida: Todo está OK la temperatura de lado. La GPU no es ralentí a plena potencia, pero al ralentí en un mucho más powerstate. Dependiendo de la versión del sistema operativo de los sensores informe temperaturas que van de los 0°C–60°C. a Pesar de que la lectura no parece muy realista y confiable a toda la unidad también se mantiene más fresca al tacto.
Pero "todo está bien" solo la mayoría del tiempo. Cada ahora y entonces no son muy raros los problemas de sueño en la Sierra, y por desgracia: cada vez que en Yosemite.
Hallazgo de que los kext necesita ser cargado para el funcionamiento de la máquina, pero es mejor no cargar (en la forma diferida al menos) para dormir la máquina: un intento de kextunload
el aparentemente responsable kext resultados en un pánico inmediato. Este párrafo es principalmente de preocupación cuando en Yosemite, pero no tanto en la Sierra.
En la parte superior de la que no puede ser la solución óptima. Gestión térmica de las necesidades de 1-2 minutos en la configuración actual, después de cargar el kext para la estabilización en niveles aceptables. Por lo tanto, el deseo de rotar los kexts y ver lo que puede dar mejores resultados.
Medidas adoptadas hasta el momento:
Uno de los controlador de gráficos kexts en Sierra necesita ser cargado en/alrededor/después del arranque, de forma automática, pero más tarde.
Son interdependientes, por supuesto, y cargan todos los que se consideren necesarias por el sistema bajo circunstancias normales.
Pero el sistema se bloquea en el arranque si el kext en cuestión se carga demasiado temprano y que el sistema funciona exactamente como se desee si se carga más tarde.
En este caso me confirmó que la carga ya sea manualmente o con una interfaz gráfica de usuario de inicio de sesión a través de los ganchos de las obras.
Sin embargo, esto significa que la colocación de los kext en /System/Library/Extensions
o /Library/Extensions
de resultados en la bloquea en el arranque como son consultados demasiado temprano.
Lo que no funciona es el uso de todo el sistema de launchd agentes o demonios, ya que estos también son consultados demasiado temprano. Mismo los demonios en virtud de usuario-jerarquías de hacer, aparentemente, no tiene los privilegios necesarios para cargar un kext.
Así que donde esta uno de los kext de /System/Library/Extensions ir? ¿Cómo puede una demora forzada que este kext solo se carga después de todo su hacia arriba o hacia abajo dependencias se han cargado?
"Que kext?", puede preguntar. Esta pregunta es acerca de todos los AMD kexts, a cada ser probado de forma individual.
Esto es en un intento de mejorar esta guía.
Preguntas
Pregunta principal: ¿Cómo puede uno de esos gráficos kexts ser forzado a un retraso en la carga? (Aparte de la LoginHook método).
Si esto resulta óptimo para el objetivo declarado, también sería bonito, o mejor aún, a saber:
Hay otras maneras de software para mantener la movilidad dGPU bajo la térmica y la potencia de las normas de gestión del sistema? (El menos energía pasa a través de este unsused chip, mejor.)
Ese caso puede implicar otras extensiones del kernel así.