Su procedimiento planificado es posible. Su procedimiento planificado no es tan difícil. Su procedimiento planificado no es la mejor opción.
Por qué esta ruta es subóptima
Los MacBook Pros deberán cambiar a GPU discreta (dGPU) una vez que se conecte una pantalla externa. Por lo tanto, una dGPU instalada pero deshabilitada elimina la opción de usar un monitor externo con esa dGPU.
Ahora hay otras opciones, como usar soluciones USB o GPU externas (eGPU). Pero configurar la variable EFI que está buscando definitivamente deshabilitará la salida directa con un cable desde el puerto Thunderbolt a un monitor externo.
¿Cómo puede deshabilitar la GPU discreta de EFI?
El comando que mencionó en su actualización es casi correcto. Simplemente pierde el identificador apropiado:
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
Esto escribe la variable EFI correspondiente en NVRAM y obliga al MacBook Pro a arrancar siempre directamente en la GPU integrada (iGPU). El identificador no es solo para dGPU de AMD sino para todas las dGPU. Se confirma que esto funciona con chips NVidia por igual. También es fácilmente reversible con un reinicio de NVRAM.
Desventajas de esta estrategia en esta situación.
Y ahora la desventaja: potencialmente hay dos pequeños problemas con esto:
Después de forzar estas configuraciones de NVRAM, macOS podría "confundirse un poco". El chip sigue ahí, conectado y alimentado.
Para que esto arranque, es posible que deba deshabilitar los controladores de gráficos para su dGPU. O al menos el único kext que gestiona el cambio de gráficos real. De lo contrario, el inicio podría bloquearse al intentar iniciar el cambio de GPU.
Ambos problemas surgidos recientemente pueden resolverse moviendo todos los kexts de NVidia /System/Library/Extensions
a un lugar seguro de respaldo. Esto iniciará la máquina forzada al modo acelerado de iGPU. Pero establecer una variable EFI podría no ser suficiente para obtener una administración de energía sensata. Para eso es probable que tenga que retroceder los kexts de NVidia, excepto los responsables de la conmutación de gráficos. De lo contrario, se generará una potencia innecesariamente alta en la dGPU. Al menos estará inactivo a "potencia máxima" (traducido a> ~ 60 ° C).
Esta inactividad de alta potencia será potencialmente la gran derrota para su plan de reducir el ruido del ventilador y aumentar la batería. Nota al margen de la literatura: debería ser una verdad universalmente reconocida que mover kexts también requiere que desactive SIP en las versiones más nuevas de OS X / macOS siempre que mueva cosas como esta.
Estrategia general para encontrar los kexts con los que experimentar: arranque sin la variable NVRAM en un sistema estándar (con kexts NVidia 'por defecto'). Luego tome nota de con qué extensiones se carga realmente su sistema kextstat
. Luego, reinicie con los kexts NVidia / Geforce cargados previamente y el truco habilitado. Obtenga un monitor de sensor detallado (iStatMenus, TGPro, etc.) y observe la temperatura en y alrededor de la GPU. Ahora cargue uno tras otro de los kexts relevantes nuevamente en el núcleo con sudo kextload /path-to/NVDA***.kext
. Espere uno o dos minutos después de cada uno.
Dado que el método de esta publicación, o la forma igualmente válida pero extensa: manipular EFIvars en Linux, es NVRAM, se revertirá limpiamente si realiza un reinicio SMC / NVRAM. Ese pirateo de NVRAM es en realidad la única parte de esta publicación que seguro no te dará muchos problemas.
Hacer este restablecimiento de NVRAM restaura un conjunto mínimo de configuraciones de fábrica a las variables EFI / NVRAM. Esa configuración de fábrica no se tocará.
Esto se puede hacer con la frecuencia que desee.
En Linux, el sistema del controlador está mucho mejor documentado y, en mi opinión, está más limpio. Hay muchas formas de lograr esto o iniciar Linux. Y un Linux (ya sea respetando esta configuración de NVRAM / EFIvars o mediante otros métodos) le dará muchos menos problemas con los controladores (quién lo hubiera pensado). Para otros sistemas operativos, como Microsoft Windows, no tengo datos.
Para repetir: Hacer que el sistema operativo no reconozca la dGPU correctamente no significa que esté apagado. Eso podría conducir a efectos secundarios térmicos no deseados.
Eche un vistazo a esta guía para MacBook Pros 2011 para obtener una solución similar y un poco más de opciones; también para deshacer y rehacer rápidamente el hack NVRAM.
Múltiples monitores y una dGPU deshabilitada
Dicho esto, todo: gfxCardStatus (o pruebe diferentes versiones del original, tienen diferentes opciones / capacidades ...) es mi mejor opción si no tiene problemas de hardware reales con los que lidiar. Es mucho más flexible y aún puede volver a cambiar a dGPU o monitores externos con bastante facilidad dentro de un sistema en ejecución.
Ya sea a través de EFI / NVRAM o con gfxCardStatus: forzar una Mac con gráficos intercambiables a solo integrado deshabilitará los modos de visualización externos utilizando la salida de gráficos integrada DisplayPort o Thunderbolt. Esto es una consecuencia del diseño del hardware que dirige la señal de visualización para monitores externos a través de la dGPU. El uso de adaptadores gráficos no discretos pero externos puede ser una solución para esa limitación.
La configuración EFI para habilitar integrada en otros sistemas operativos
Como debería estar claro ahora, la configuración de EFI para permitir que otros sistemas operativos como Linux "vean" una configuración de gráficos intercambiables es diferente de la anterior que desactiva la dGPU.
Pequeño programa EFI para desbloquear Intel IGD en Macbook Pro 11,3 para Linux y Windows:
Pequeño programa EFI para desbloquear Intel IGD en Macbook Pro 11,3 para Linux y Windows. Ha sido hecho para ser fácilmente cargado en cadena por el gestor de arranque EFI no modificado como Grub, rEFInd, etc.
El EFI del modelo Macbook Pro 11,3 está apagando la GPU Intel si arranca todo menos Mac OS X. Por lo tanto, se requiere un pequeño truco al falsificar la identificación del sistema operativo para que todo el hardware sea accesible.
Todos los créditos pertenecen a Andreas Heider, quien originalmente descubrió este truco:
https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html