MacBook Pro: ¿Cómo desactivar la GPU discreta permanentemente de EFI?

Me gustaría desactivar la GPU NVidia GTX 750M en mi MacBook Pro 15 "(Retina, mediados de 2014, Mac OS X 10.10 Yosemite). Sé que puedo usar GfxCardStatus pero leí que podría tener una solución más permanente cambiando algunos EFI bandera.

Mi pregunta es:

  • ¿Cómo puedo desactivar la GPU discreta de EFI?

    Supongo que esto es persistente en varios reinicios. También me gustaría saber cómo deshacerlo si es necesario.

Actualizar:

La pregunta es básicamente si el command mencionado en GfxCardStatus github emitir un comentario aquí es correcto o no, y cómo deshacerlo si no funciona.

.

Una respuesta a esto solo es una respuesta correcta, pero será increíble si también puedes decirme:

  • Si fuerza los charts integrados en GfxCardStatus, Mac OS X (hasta Yosemite al less) no le permite usar monitores múltiples (a pesar de que el Iris Pro incorporado puede hacerlo).

    Si desactivo la GPU discreta de EFI, ¿piensa macOS que la GPU integrada está instalada y me permitirá usar múltiples monitores con ella?

  • Escuché que la misma configuration de EFI es responsable de no mostrar la GPU integrada a otros sistemas operativos aparte de macOS y hay que engañar de alguna manera para pensar que es macOS.

    ¿Es eso cierto? Y si es así, ¿cómo hacer eso?

  • ¿Qué es "x-apple-ql-id: // *"?
  • Abra un file IPA desde la línea de command
  • Vista previa: cambie la opción Relleno para la herramienta Anotar
  • ¿MacOS admite AnyIP?
  • Crear networking AirPort desde la línea de command?
  • Batería: apaga o apaga un MBP
  • Cómo evitar que Mac cambie el order de los Escritorios / Espacios
  • ¿Cómo cambiar el nombre WiFi ad-hoc en OSX?
  • 5 Solutions collect form web for “MacBook Pro: ¿Cómo desactivar la GPU discreta permanentemente de EFI?”

    Tu dilema

    Estoy totalmente de acuerdo con su deseo de "ahorrar batería y networkingucir el calor, sin pagar el costo del ruido" de usar la tarjeta gráfica discreta dentro de una MacBook Pro.

    Advertencia

    Antes de hacer nada que desactive la pantalla, asegúrese de que puede iniciar session en su MacBook Pro utilizando SSH para poder deshacer su trabajo. Si bien el uso compartido de pantallas con todas las tarjetas gráficas desactivadas probablemente funcionará con alguna resolución pnetworkingeterminada, no apostaría mi computadora a eso.

    Respuestas

    ¿Qué pasará si deshabilito permanentemente la tarjeta gráfica discreta nVidia de EFI? ¿Mac OS piensa que la GPU integrada es la que está instalada y me permite usar varios monitores con ella?

    Perderá la posibilidad de utilizar un monitor externo (en cualquier sistema operativo). Los puertos de charts externos están conectados al chip de charts discretos.

    Mi propia MacBook Pro 2011 se ejecuta a 60 grados estables incluso bajo carga con un mínimo ruido del ventilador cuando se utilizan los charts integrados Intel y picos para ventiladores completos (en el range de 4000 a 6000 RPM) cuando está bajo carga con el discreto 6750. El problema es real. Yo también quería poder usar solo los charts incorporados y manejar un monitor externo.

    De ninguna manera, no cómo.

    ¿Es cierto que la misma EFI ni siquiera muestra la GPU integrada en otros sistemas operativos que Mac OS y tienes que engañar de alguna manera para pensar que es Mac OS?

    Sí, es verdad. La GPU Intel se apaga con la EFI de MacBook Pro 11,3 si arranca cualquier cosa que no sea Mac OS X. Tiene cuatro opciones si quiere usar el chip Intel integrado en un sistema operativo alternativo:

    1. rEFInd versión 0.10.0 o superior (recomendado): http://www.rodsbooks.com/refind

    Las versiones recientes de rEFInd tienen incorporado el truco "apple_set_os". Puede habilitarlo configurando la opción spoof_osx_version en su refind.conf.

    1. apple_set_os.efi: https://github.com/0xbb/apple_set_os.efi

    2. un GRUB parcheado: https://lists.gnu.org/archive/html/grub-devel/2013-12/msg00442.html https://wiki.archlinux.org/index.php/MacBookPro11,x#Getting_the_integrated_intel_card_to_work_on_11.2C3

    3. un Kernel parcheado: https://www.marc.info/?l=grub-deavel&m=141586614924917&w=2

    Tenga cuidado de planificar el futuro. Si no se prepara, se encontrará con una tarjeta gráfica integrada y una pantalla negra apagadas. Por supuesto, siempre puede volver e iniciar Mac OS X y comenzar de nuevo.

    La más simple de las opciones anteriores sería la número dos: replace el Apple EFI. Desafortunadamente, es el que podría dejarlo incapacitado para iniciar en alguna date futura. A Apple no le gusta que las personas jueguen con EFI y se reserva el derecho de bloquear su dispositivo por hacerlo. Si tenía Apple Care y aún se encontraba en el período de garantía, es posible que encuentre un hombro donde llorar. Podría. Cuando cambia EFI, también toma riesgos de security , es decir, puede hacer que sea más fácil piratear su máquina. Debe poder actualizar a la última EFI que eliminaría su parche.

    Opción uno, Refind se ubica entre el inicio y EFI, lo que deja un margen considerable para que algo salga mal y para que se quede con un ladrillo y un path largo y difícil de return a una computadora en funcionamiento. ¿Qué tan serios son estos problemas? Muchos propietarios de MacBook Pro han perdido su disco duro para Refind:

    Numerosos informes de fallas de rEFIt indican problemas de corrupción de discos en discos de más de 500 GiB …. Recomiendo encarecidamente que no escriba sudo bless -info para verificar el estado de su installation si tiene dicho disco, o incluso si sospecha de usted podría tener un disco así. (He visto discos de formatting avanzado tan pequeños como 320 GB).

    La tercera opción es relativamente fácil. Parchar grub es un process con el que cualquier propietario de Hackintosh es bastante familiar. Patching Grub funciona y se puede deshacer fácilmente ya que los cambios no se realizan a nivel de firmware. Si aplica parche grub de forma conservadora, el código de grub adicional solo se activa manteniendo presionada la opción / alt durante el arranque .

    Conclusión

    Si prefiere usar su computadora para repararla, la configuration gfxCardStatus de Cody Krieger en su configuration original se ve cada vez más atractiva. Si realmente quieres forzar que gfxCardStatus se ejecute al inicio, Mr Krieger ha participado en una conversación esclarecedora , que ha llevado al cambio de GPU. switchGPU preselecciona gfxCardStatus a charts discretos o integrados lo suficientemente temprano como para ejecutar charts integrados cuando su GPU discreta se sobrecalentaría y queuepsaría. gfxCardStatus continúa funcionando normalmente (es decir, puede volver a GPU discreta después del inicio utilizando el elemento de menu gfxCardStatus). No hay ninguna razón para instalar switchGPU a less que tenga graves problemas de hardware con su GPU discreta, lo que significa que debe mantenerla apagada todo el time.

    Coda

    Como reflection, mi propia situación con el AMD 6750 integrado es suficientemente mala (tan caliente y ruidosa incluso después de la restauración térmica) que me aprovecharé del progtwig de reparación de garantía extendida de Apple para el MacBook Pro 2011 con charts de AMD. Marco Arment probablemente tuvo razón al entregar su MBP 2011 de 2.2 GHz con 6750 para la versión de 2.0 GHz con 6490 . Si bien consideré hacer lo mismo en ese momento, habría tenido que enviar mi MBP al extranjero para cambiarlo. Lamentablemente, la Retina MacBook Pros parece seguir teniendo los mismos problemas de calor y ruido . La MacBook Pro 2013 2013 de mi novia, con charts integrados, se comporta mucho mejor.

    Debido a problemas de sobrecalentamiento y ruido con las estaciones de trabajo MBP de cuatro núcleos, me di por vencido y compré dos Mac Pros (un 2006 y un 2009), actualicé las CPU a ocho núcleos y seis núcleos, respectivamente. El 2006 con Apple AMD 5870 instalado es casi silencioso (mucho más silencioso el 2009) y realiza múltiples tareas mejor que el MBP 15 ". Las dos torres de plata (hogar y oficina) cuestan less combinadas que una sola MacBook Pro nueva. Por ahora estoy corriendo el 2011 MBP 15 "en charts discretos solo como transporte (sin monitor externo).

    Puede deshabilitar permanentemente la tarjeta gráfica discreta siguiendo los siguientes pasos:

    ¡ACTUALIZAR! Intenta editar la variable NVRAM desde el modo de usuario único

    El procedimiento descrito en los pasos 1-3 funcionó para mí hasta macOS Sierra, pero con la actualización a High Sierra, comencé a get una pantalla rosada / rojiza y no pude ingresar al modo de recuperación para repetir el paso 3, como tuve que hacer en anteriores actualizaciones Buscando en internet intervine en este problema de github explicando que puede replace los pasos 1 y 2 con el siguiente command, que puede ejecutar en modo de usuario único (inicio de arranque presionando cmd + s ):

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

    1. Prepare un pendrive USB de arranque con un GUI Linux no

    1.1 Descargar ArchLinux ISO

    • Necesita una computadora que funcione para eso y una unidad de CD / DVD / USB de repuesto.
    • Descargue la última image ISO de Arch Linux .
    • Luego, simplemente podría grabar este ISO en CD / DVD (que más tarde podría insertse en SuperDrive de MBP o en una unidad de DVD externa conectada a MBP mediante dos cables USB) o crear un USB de arranque .

    1.2 Creando el USB de arranque con el .iso

    • Primero, necesita identificar el dispositivo USB.
    • Abra / Aplicaciones / Utilidades / Terminal en MacOS y liste todos los dispositivos de almacenamiento:

      diskutil list

      Su dispositivo USB aparecerá como /dev/disk2 (external, physical) . Verifique que este es el dispositivo que desea borrar verificando su nombre y tamaño y luego use su identificador para los siguientes commands en lugar de /dev/diskX .

    • Normalmente, un dispositivo USB se monta automáticamente en macOS, y debe desmontarlo (no expulsarlo) antes de escribir en bloque con dd:

      diskutil unmountDisk /dev/diskX

    • Ahora copie el file de image ISO en el dispositivo. El command dd es similar a su homólogo de Linux, pero observe la 'r' antes de 'disco' para el modo sin procesar que hace que la transferencia sea mucho más rápida:

      sudo dd if=path/to/arch.iso of=/dev/rdiskX bs=1m

      Una vez completado, macOS puede quejarse de que "El disco que ha insertado no era legible por esta computadora". Seleccione 'Expulsar'. El dispositivo USB será de arranque.

    2. Usa Linux para cambiar los vars de EFI

    2.1 Arrancarlo

    • Inserte este CD / DVD / USB en Macbook Pro, mantenga presionada la tecla Opción (alt) durante el arranque.
    • Elija "arranque EFI" (que es su medio de installation de arranque).
    • Cuando el menu se muestre, presione la tecla "e" para editar las opciones de GRUB de la input del menu Archio Archisco x86_64 UEFI de Arch Linux mientras está seleccionado en la pantalla principal, agregue el set nomodeset al final de esta línea y presione Entrar.
    • Si todo se hace correctamente, ¡se encontrará en la console de Linux! (Toma algo de time, así que sea paciente y espere la indicación)

    2.2 Borrar vars EFI existentes

    ¡Parece que el sistema de files efivarfs está montado de forma pnetworkingeterminada! Entonces ya puedes cd /sys/firmware/efi/efivars y ls para explorar este directory y ver si hay una variable gpu-power-prefs-... (donde … es el UUID de esta variable).

    • Si existe tal variable, es mejor eliminarla con rm.

      rm gpu-power-prefs-…

    • Si recibe el post "operación no permitida" al intentar registrar, significa que se ha montado efivarfs como de solo lectura y necesita volver a montarlo con permissions de lectura-escritura y volver a intentarlo:

      cd /
      umount /sys/firmware/efi/efivars/
      mount -t efivarfs rw /sys/firmware/efi/efivars/
      cd /sys/firmware/efi/efivars/
      rm gpu-power-prefs-…

    • Si esto también falla (aún no puede borrar el file), use el command chattr para desactivar la inmutabilidad del file y luego borre el file:

      chattr -i "gpu-power-prefs-…”
      rm gpu-power-prefs-…

    2.3 Crea un nuevo file gpu-power-prefs- …

     printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9 

    2.4 Agregue inmutabilidad al file gpu-power-prefs- …

    Se supone que este command chattr bloquea un file para hacer que sea accesible solo por "superusuario", y para que, al arrancar, su EFI no tenga la posibilidad de arruinar su variable gpu-power-prefs -… bajo ninguna circunstancia.

     chattr +i "/sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9" 

    2.5 Desmontar efivars y reiniciar

    Cambie al directory raíz para desmontar efivars:

     cd / umount /sys/firmware/efi/efivars/ 

    Garantiza que sus variables EFI se descarguen al sistema de files efivarfs. Desmóntelo de forma segura antes de reiniciar.

     reboot 

    3 Eliminar AMD / NVIDIA kexts

    Nota : Es posible que deba hacer esto cada vez que actualice su sistema operativo, ya que normalmente regenera estos kexts. Puede preferir esta respuesta como reference para que sea accesible desde otro dispositivo cuando lo necesite.

    Después de deshabilitar la dGPU usando Arch, el arranque normal se colgaría hasta la mitad, pero el arranque seguro funcionará.

    3.1 Mueva los files kext de AMD / NVIDIA a un directory de respaldo

    Elimine todos los files kext de AMD (o NVIDIA, según su tarjeta) en el Terminal en la console de recuperación. ¡Intentar eliminarlos en un solo usuario solo da errores de sandbox, así que no lo hagas en el modo de usuario único! (el que arrancas con cmd + s ).

    • Si tienes FileVault, desbloquéalo primero.
    • Arranque en Recuperación ( cmd + r ) directamente. Si falla, repita el paso 2 y vuelva a intentar (dGPU podría volver a activarse después de iniciar el sistema operativo con AMD / NVIDIA kexts).
    • Start Terminal (Estos commands son para AMD. Si tiene NVIDIA, cambie en consecuencia)

      diskutil cs list (encontrar UUID de volumen lógico: último elemento)
      diskutil coreStorage unlockVolume UUID (UUID: del command anterior)
      cd /Volumes/Macintosh\ HD
      mkdir AMD_Kexts
      mv System/Library/Extensions/AMD*.* AMD_Kexts/
      reboot

    Encontré el procedimiento en este enlace , donde puede leer la atribución de las diferentes secciones y un hilo de discusión sobre el tema.

    Lo intenté yo mismo en una MacBook Pro de principios de 2011 con una tarjeta gráfica discreta defectuosa, que no fue capaz de arrancar incluso con el truco de sobrecalentamiento, ¡y terminé con una computadora completamente funcional!

    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 tendrán que cambiar a una GPU discreta (dGPU) una vez que se haya conectado una pantalla externa. Por lo tanto, una dGPU instalada pero deshabilitada le quita la opción de usar un Monitor externo con esa dGPU. Ahora hay otras opciones, como usar soluciones USB o GPU externas (eGPU). Pero establecer la variable EFI que está buscando definitivamente desactivará la salida directa con un cable a un monitor externo.

    ¿Cómo puede deshabilitar la GPU discreta de EFI?

    El command que mencionaste en tu actualización es casi correcto. Simplemente pierde el identificador adecuado:

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

    Esto escribe la variable EFI correspondiente en la 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 NVRAM.

    Desventajas de esta estrategia en esta situación

    Y ahora la desventaja: potencialmente hay dos pequeños problemas con esto:

    1. Después de forzar estas configuraciones de NVRAM, macOS puede ponerse "un poco confundido". El chip todavía está allí, conectado y alimentado.

    2. Para que esto arranque, es posible que deba deshabilitar los controlleres de charts para su dGPU. O al less el kext que gestiona el cambio de charts real. El arranque puede bloquearse al intentar iniciar la conmutación de GPU de lo contrario.

    Ambos problemas recién surgidos se pueden resolver moviendo todos los kexts de NVidia fuera de /System/Library/Extensions a un lugar de respaldo seguro. Esto iniciará la máquina forzada en el modo iGPU acelerado. Pero establecer una variable EFI podría no ser suficiente para get una administración de energía sensata. Para eso es probable que tenga que retroceder NVidia kexts, excepto los responsables de la conmutación de charts. De lo contrario, se generará una potencia innecesariamente alta en la dGPU. Por lo less estará inactivo a "potencia máxima" (traducido a ~ 60 ° C).

    Esta inactividad de alta potencia será potencialmente la gran derrota de su plan para networkingucir el ruido del ventilador y boost la batería. Nota al margen de la literatura: debe ser una verdad universalmente reconocida que moverse kexts también requiere que desactive SIP en las versiones más nuevas de OS X / macOS siempre que mueva cosas como esta.

    Para encontrar los kexts con los que experimentar, inicie sin la variable NVRAM en un sistema de stock (con 'NVidia kexts' por defecto). Luego tome nota de las extensiones que su sistema realmente carga con kextstat . A continuación, reinicie con NVidia / Geforce kexts previamente cargados que se hayan movido y habilitado el hack. Obtenga un monitor de sensor detallado (iStatMenus, TGPro, etc.) y observe la temperatura en y alnetworkingedor de la GPU. Ahora cargue uno después del otro de los kexts relevantes de nuevo en el kernel con sudo kextload /path-to/NVDA***.kext . Espere uno o dos minutos después de cada uno.

    Como el método de este post -o el igualmente válido pero largo path: manipular EFIvars en Linux- es NVRAM, saldrá limpiamente si se realiza un reinicio de SMC / NVRAM. Esa piratería NVRAM es en realidad la única parte de esta publicación que seguramente no te dará muchos problemas.

    Al hacer este reinicio NVRAM, se restablece un set mínimo de configuraciones de fábrica para las variables EFI / NVRAM. Esa configuration de fábrica no se tocará.

    Esto se puede hacer cuantas veces lo desee.

    En Linux, el sistema del controller está mucho mejor documentado e implementado en forma más limpia. Hay muchas maneras de lograr esto con o en el arranque de Linux. Y un Linux (ya sea respetando esta configuration NVRAM / EFIvars o mediante otros methods) le dará less problemas con los controlleres (¿Quién lo hubiera pensado?). Para otros sistemas operativos, como los nombres de spyholes cubiertos de vidrio en una panetworking, no tengo datos.

    Para repetir: Tener el sistema operativo no reconoce el dGPU no significa que está apagado. Eso podría provocar efectos secundarios térmicos no deseados.

    Eche un vistazo a esta guía de 2011 MacBook Pros para get una solución similar y un poco más de opciones; también para deshacer y rehacer rápidamente el hack de NVRAM.

    Múltiples monitores y una dGPU deshabilitada

    Una vez dicho todo: gfxCardStatus (o pruebe diferentes versiones del original, tienen diferentes opciones / capacidades …) es la mejor opción si no tiene problemas reales de hardware con los que lidiar. Es mucho más flexible y todavía 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 a una Mac con charts intercambiables a solo integrada deshabilitará los modos de visualización externos utilizando la salida de charts integrada DisplayPort o Thunderbolt. Esto es una consecuencia del layout de hardware que enruta la señal de pantalla para monitores externos a través de la dGPU. El uso de adaptadores de charts no discretos pero externos podría ser una solución para esa limitación.

    La configuration EFI para habilitar integrado en otros sistemas operativos

    Como debería estar claro ahora, la configuration de EFI para permitir que otros sistemas operativos como Linux "vean" una configuration de charts intercambiables es diferente de la anterior que desactiva la dGPU. Progtwig Tiny EFI para desbloquear Intel IGD en Macbook Pro 11,3 para Linux y Windows:

    Progtwig Tiny EFI para desbloquear Intel IGD en Macbook Pro 11,3 para Linux y Windows. Ha sido hecho para ser fácilmente encadenado por un gestor de arranque EFI no modificado como Grub, rEFInd, etc.

    El EFI del model Macbook Pro 11,3 está apagando la GPU Intel si arranca cualquier cosa que no sea Mac OS X. Por lo tanto, se requiere un pequeño truco falsificando la identificación del sistema operativo para que todo el hardware esté 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

    Si alguien aún está buscando forms de hacerlo, echa un vistazo a esta publicación del foro de MacRumors.

    Seguí los pasos mencionados en la publicación del foro y mi 15 "MacBook Pro 2011 funciona perfectamente utilizando solo su gráfico integrado. La tarjeta gráfica AMD sin valor se deshabilitó con éxito.

    https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix. 2037591 / page-5 # post-24511780

    https://forums.macrumors.com/threads/force-2011-macbook-pro-8-2-with-failed-amd-gpu-to-always-use-intel-integrated-gpu-efi-variable-fix. 2037591 /

    Respuesta tardía a una de sus preguntas secundarias: probablemente necesite la GPU discreta habilitada para usar una pantalla externa. La razón por la cual debería estar en cómo las GPU y las salidas de video están cableadas.

    (Estoy a medio adivinar, medio extrapolando de cómo funciona la tecnología de conmutación de charts de PC portátiles. No es una suposition irrazonable que esas tecnologías se basan en el trabajo de los proveedores de GPU con Apple. Aún así: tome lo siguiente con un gran grano de sal.)

    Con nVidia Optimus, la configuration es que la pantalla integrada de una computadora portátil está conectada a la GPU integrada, y el puerto de la pantalla externa está conectado a la GPU discreta. Si necesita procesar cosas utilizando la GPU discreta a la pantalla integrada, la GPU discreta se "esclaviza" a la integrada. Una llamada de representación primero va a la GPU integrada, que, si la GPU discreta está habilitada, la reenvía allí, luego recupera el resultado para presionarlo en la pantalla.

    Si se conecta una pantalla externa, las llamadas de representación para esa pantalla van directamente a la GPU discreta, porque esa es la GPU que puede enviar cualquier salida a esa pantalla de todos modos. La GPU integrada simplemente no puede, en absoluto, enviar salida de video a ese puerto por sí misma. No creo que sea siquiera posible tener la GPU integrada "esclavizada" a la discreta, porque antes que nada sería inútil desde el punto de vista del layout con respecto a los objectives de la tecnología de conmutación de charts; e incluso entonces, aún requeriría que la GPU discreta esté habilitada, lo que no ayudaría a las personas cuyo chip está fallando.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).