MacBook Pro: ¿Cómo deshabilitar la GPU discreta de forma permanente desde EFI?

Me gustaría deshabilitar 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 deshabilitar la GPU discreta de EFI?

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

Actualizar:

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

.

Una respuesta a esto por sí sola es una respuesta correcta, pero sería genial si también pudieras decirme:

  • Si fuerza los gráficos integrados en GfxCardStatus, Mac OS X (hasta Yosemite al menos) no le permite usar múltiples monitores (aunque el Iris Pro incorporado puede hacerlo).

    Si desactivo la GPU discreta de EFI, ¿macOS pensará que la GPU integrada es la que está instalada y me permitirá usar varios monitores con ella?

  • Escuché que la misma configuración de EFI es responsable de ni siquiera mostrar la GPU integrada a otros sistemas operativos que no sean macOS y tienes que engañarlo de alguna manera para pensar que es macOS.

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

Esto parece un problema XY clásico . ¿Qué estás tratando de lograr en realidad?
Tenga un ahorro permanente en batería y reduzca el calor, sin pagar el costo del ruido. Obtuve el de NVidia porque quería las mejores actualizaciones de CPU y SSD y este era el prediseñado. Si pudiera esperar a la compilación personalizada, tendría la GPU integrada.
Una solución a esta pregunta también sería útil para los propietarios de modelos MBP de 2011 que tienen una GPU discreta defectuosa. Ciertamente, es posible deshabilitar la GPU discreta cuando se usa Linux, vea mi pregunta aquí: apple.stackexchange.com/questions/168167/…
Si de alguna manera terminó aquí en currentYearun macBook v10.15.5 de 16" con kernel panic: 1.) obtenga gfx.io 2.) configúrelo como Solo integrado 3.) compre cody@codykrieger.com un café

Respuestas (5)

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

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

El procedimiento descrito en los pasos 1-3 me funcionó hasta macOS Sierra, pero con la actualización a High Sierra, comencé a ver una pantalla rosada/rojiza y no pude ingresar al modo de recuperación para repetir el paso 3 como tenía que hacer en actualizaciones anteriores. Buscando en Internet, entré en este problema de GitHub explicando que es posible que pueda reemplazar los pasos 1 y 2 con el siguiente comando, que puede ejecutar en modo de usuario único (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 Linux sin GUI

1.1 Descargar ArchLinux ISO

  • Necesita una computadora que funcione para eso y una unidad de CD/DVD/USB de repuesto.
  • Descargue la última imagen ISO de Arch Linux .
  • Luego, puede simplemente grabar este ISO en un CD/DVD (que luego podría insertarse en el 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 booteable con el .iso

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

    diskutil list

    Su dispositivo USB aparecerá como algo así como /dev/disk2 (external, physical). Verifique que este es el dispositivo que desea borrar al verificar su nombre y tamaño y luego use su identificador para los comandos a continuación en lugar de /dev/diskX.

  • Un dispositivo USB normalmente se monta automáticamente en macOS, y debe desmontarlo (no expulsarlo) antes de bloquearlo con dd:

    diskutil unmountDisk /dev/diskX

  • Ahora copie el archivo de imagen ISO al dispositivo. El comando dd es similar a su contraparte de Linux, pero observe la 'r' antes de 'disco' para el modo sin formato, lo 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 finalizado, macOS puede quejarse de que "esta computadora no puede leer el disco que insertó". Seleccione 'Expulsar'. El dispositivo USB será de arranque.

2. Use Linux para cambiar EFI vars

2.1 Arrancarlo

  • Inserte este CD/DVD/USB en Macbook Pro, mantenga presionada la tecla Opción (alt) mientras arranca.
  • Elija "arranque EFI" (que es su medio de instalación de arranque).
  • Cuando se muestre el menú, presione la tecla "e" para editar las opciones de GRUB de la entrada del menú Arch Linux archiso x86_64 UEFI CD mientras está seleccionado en la pantalla principal, agréguelo nomodesetal final de esta línea y presione Entrar.
  • Si todo se hace correctamente, ¡te encontrarás en la consola de Linux! (Lleva algo de tiempo, así que sea paciente y espere el aviso)

2.2 Borrar variables EFI existentes

¡Parece que el sistema de archivos efivarfs está montado de forma predeterminada! Entonces ya puede cd /sys/firmware/efi/efivarsexplorar lseste directorio y ver si hay una gpu-power-prefs-...variable (donde ... es el UUID de esta variable).

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

    rm gpu-power-prefs-…

  • Si recibe el mensaje "operación no permitida" mientras intenta rm, significa que efivarfs se ha montado como de solo lectura y necesita volver a montarlo con permisos de lectura y escritura e intentarlo de nuevo:

    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 (todavía no puede borrar el archivo), use chattrel comando para deshabilitar la inmutabilidad del archivo y luego borre el archivo:

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

2.3 Crear un nuevo archivo 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 Agregar inmutabilidad al archivo gpu-power-prefs-…

Se supone que este chattrcomando bloquea un archivo para que solo sea accesible por "superusuario", y para que, durante el arranque, su EFI no tenga 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 directorio raíz para desmontar efivars:

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

Garantiza que sus variables EFI se vacían en el sistema de archivos efivarfs. Desmóntelo de forma segura antes de reiniciar.

reboot

3 Quitar los kexts de AMD/NVIDIA

Nota : es posible que deba hacer esto cada vez que actualice su sistema operativo, ya que normalmente regenera estos kexts. Es posible que desee marcar esta respuesta como favorita como referencia para que sea accesible desde otro dispositivo cuando la necesite.

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

3.1 Mover archivos kext de AMD/NVIDIA a un directorio de respaldo

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

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

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

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

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

Desafortunadamente, en mi modelo MacBook Pro Mid 6,2 de mediados de 2010 en combinación con MacOS High Sierra, no tuve éxito con el paso 3. Cuando entro diskutil cs list, regresa No CoreStorage logical volume groups found. La GPU discreta permanece habilitada. ¿Alguna idea?
Me di cuenta de que podía omitir los diskutilcomandos y logré eliminar los archivos de AMD. Desafortunadamente, la gpu discreta todavía se usa...
@Taco, si reinició y no funcionó, es posible que deba repetir el paso 2. También asegúrese de que su tarjeta discreta sea AMD, algunos modelos montan NVIDIA. Si ese es tu caso, debes mover los archivos kext relacionados con esa tarjeta.
Sí, tienes razón, este mac tiene una tarjeta NVIDIA y no una AMD (solo estaba siguiendo los pasos sin darme cuenta). Sin embargo, todavía no pude hacerlo funcionar, pero con otra solución propuesta para esta computadora portátil específica, ¡funcionó! MBPMid2010_GPUFix . Gracias por tu ayuda.
Información importante si tiene una tarjeta NVidia en lugar de una tarjeta AMD. Las instrucciones son correctas, pero es necesario eliminar los siguientes kexts: CUDA.kext GeForce.kext GeForce7xxxGLDriver.bundle GeForceGA.plugin GeForceGLDriver.bundle GeForceVADriver.bundle NVDANV40Hal.kext NVDANV50Hal.kext NVDAResman.kext NVSMU.kext Probado en un MBP de principios de 2011 ejecutando 10.12.6.
Estoy atascado en 2.3 Crear un nuevo archivo gpu-power-prefs-… , no puedo crear el archivo (argumento no válido, al buscar en Google significa un problema de permiso). ¿Consejo?
@wiradikusuma, en 2.2 y 2.4 tiene instrucciones para verificar y cambiar permisos. A menos que proporcione datos adicionales (por ejemplo, permisos del directorio), es difícil ayudar.
@fnieto-FernandoNieto Hice chattr -iel archivo (si no, no puedo rm), pero no puedo recrear el archivo. ¿Debo chattr -iel directorio contenedor? (No se menciona en los pasos anteriores)
Esto funcionó muy bien para mí (principios de 2011). Muchas gracias.
@fnieto-FernandoNieto Gracias por actualizar los pasos. Cuando lo hago chattr -i ., dice: "chattr: ioctl inapropiado para el dispositivo al leer indicadores en". -- Usar la ruta absoluta tampoco funciona. FYI, el archivo se crea, pero el tamaño es 0.
@wiradikusuma, avíseme si encuentra una solución para actualizar los pasos y ayudar a otras personas.
@fnieto-FernandoNieto ¿Qué truco de sobrecalentamiento?
@huyz, cuando dejas que tu Macbook Pro se sobrecaliente (por ejemplo, dentro de una bolsa cerrada que impide la ventilación adecuada), se apaga. Si lo inicia inmediatamente después, se iniciará con la tarjeta gráfica discreta.
@fnieto-FernandoNieto hmmm, ¿quisiste decir "arrancará con la tarjeta gráfica integrada"? De lo contrario, su comentario parece entrar en conflicto con el texto de su respuesta.
@huyz, si! lo siento por eso.
@fnieto-FernandoNieto Ese es un buen truco para saberlo, ya que muchas veces no puedo arrancar. No creo que eso sea de conocimiento común; No lo he visto mencionado en ningún otro lado. ¡Gracias!
Me tomó 3 intentos (asegurándome de repetir el paso 2) para ingresar al modo de recuperación sin que se congelara, pero finalmente funcionó para mi Macbook Retina Pro de mediados de 2012 (con tarjeta Nvidia). ¡Así que gracias!
@huyz, la mejor manera de expresar tu gratitud es votar a favor la respuesta, para que sea más fácil de encontrar para otras personas con el mismo problema. Por cierto, ¿intentó configurar la variable NVRAM en modo de usuario único? no te funciono?
@fnieto-FernandoNieto por supuesto, ya voté tu respuesta. El punto principal de mi comentario fue agregar información sobre mi MacBook y mi proceso. No probé el modo de usuario único porque dijiste que no lo hiciera :)
@huyz gracias! Hay una actualización al comienzo de la respuesta para una alternativa que debería permitirle omitir los pasos 1 y 2, lo que hace que la solución sea mucho más rápida.
@fnieto-FernandoNieto Lo siento, debería haber dicho: no probé el modo de usuario único porque estoy en El Capitán, y no en High Sierra
¡Tengo una MacBook Retina de 15" de principios de 2013 que estaba a punto de tirar a la basura antes de encontrar esta publicación! Ya ni siquiera podía pasar por un arranque sin pánico en la GPU. Después de esta solución, hasta ahora (> 24 horas), ni uno solo ¡Increíble! ¡Gracias!
Funcionó para mi MacBookPro a fines de 2011. Probé muchas cosas (actualizaciones y comandos de un solo usuario) antes de esta solución. Simplemente usé el comando nvram y salté al paso 3. Funciona de maravilla. ¡Muchas gracias! salvó mi día...
Dios mío. Entonces, para aquellos de ustedes que tienen una GPU muerta y una pantalla quemada, por lo que no pueden recuperarse: para el paso tres, ¡simplemente conecte su MBP en modo de disco de destino a otra Mac para realizar el paso 3! Hurra. Esta Mac NO está muerta.
@huyz, ¿necesitabas hacer algo diferente con la combinación retina + nvidia? Estoy en el mismo barco
Aparentemente, también este problema es causado por el capacitor junto a la gpu discreta, no por la dGPU en sí misma youtube.com/watch?v=DzcgT_fiVTA
@cbartondock no que yo recuerde
Para cualquiera que tenga un mac pro retina 2013 con una dGPU de Nvidia, descubrí que si movía solo los archivos NVD*.* en Sistema/Biblioteca/Extensiones, la dGPU no estaba deshabilitada y que si movía tanto esos archivos como el GeF*.* según lo sugerido por @sporker, entonces la máquina funcionó pero a) no pudo cambiar el brillo yb) no atenuó la pantalla cuando estaba cerrada. Lo que funcionó para mí fue mover los archivos GeF y no los archivos NVD. El método nvram tampoco funcionó para mí y tuve que reemplazar "fa4ce28d" con "000fa4ce", pero de lo contrario funcionó el método archlinux. No puedo decirte lo agradecida que estoy por este post.
La rutina de @cbartondock está interrumpida en macOS Mojave, en MBP 2013 tarde, con una GPU Nvidia. La barra de progreso de inicio se atascará en el 75 % para siempre, después de la operación 'nvram xxxx' en el modo de usuario único y eliminará solo "GeF*.*" en el modo de recuperación. La siguiente operación soluciona el problema: csrutil disabled nvram boot-args=”nv_disable=1 $(nvram boot-args 2>/dev/null | cut -f 2-)” nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu -power-prefs=%01%00%00%00 (¡no 000fa4ce!) habilitar csrutil. La computadora portátil se iniciará, pero: a) no pudo cambiar el brillo yb) no atenuó la pantalla cuando estaba cerrada
@MasterBeta Gracias por tal comentario. Tengo una Macbook Retina Mid-2012 (A1398) que se ejecuta en macOS Mojave y con su NVidia GT650M (casi) muerta. Siguiendo las instrucciones de esta publicación más tu comentario, ¿te funcionó? ¿Tendrías alguna sugerencia antes de empezar? Gracias de nuevo.
@ user1823280 Sí, funciona para mí. Pero no es una solución perfecta: a) no se pudo cambiar el brillo yb) no se atenuó la pantalla cuando se cerró c) la pantalla externa no es compatible. Entonces, mi sugerencia es degradar su sistema (antes de Mojave) y seguir las instrucciones en esta publicación que parece no tener los problemas causados ​​​​por mi rutina. (Arreglé mi mac reemplazando la GPU, por lo que mi sugerencia no está verificada. :))
@MasterBeta Gracias por su respuesta, se lo agradezco. ¿Puedo preguntarte dónde encontraste una GPU nueva?
@ user1823280 Un proveedor externo arregló mi mac. No estoy seguro de dónde viene la GPU de reemplazo.
¡Gracias! Puedo verificar que editar la NVRAM desde el modo de usuario único y eliminar la extensión de gráficos AMD del modo de reparación funciona bien (no puede usar el modo seguro para este último ya que el sistema operativo no lo permite), lo que hace que los pasos de Linux sean innecesarios. Esto funcionó en mi MBP reparado a principios de 2011 con gráficos AMD Radeon 6750M reemplazados que aproximadamente 18 meses después de la reparación, después de tener un ventilador defectuoso durante un par de meses hasta que pude reemplazarlo, comenzó a mostrar síntomas de rendirse nuevamente. ¡Gracias de nuevo!
Intenté solo el comando nvram y mover kexts al principio. Funcionó pero tuve los siguientes problemas: rendimiento horrible en Finder y aplicaciones con uso intensivo de gráficos (como Atom) (en 10.9), la retroiluminación se negaba a apagarse cuando se cerraba la tapa, no se podía cambiar el brillo de la pantalla, f.lux no funcionaba, se mostraba gfxCardStatus estado incorrecto, el teclado en pantalla no se procesa (en 10.6). ¡Seguir los pasos 1. y 2. para hacer que los efivars cambien solucionó todos esos problemas! ¡Gracias!
Con una NVIDIA dGPU, solo necesitaba mover archivos NVD*.kext. Luego también (re)moví los cachés de kext en /System/Library/Caches/com.apple.kext.caches, luego reconstruí los cachés con touch /System/Library/Extensions. Con SIP deshabilitado y siguiendo las instrucciones en pantalla para montar /como lectura y escritura, pude hacer todo desde el modo de usuario único: mover archivos kext y configurar la gpu-power-prefsvariable nvram. Muchas gracias por este método, deshabilitó con éxito dGPU en los arranques, sin problemas con el sueño, el brillo, etc. MacBook Pro (Retina, mediados de 2012); 10.12.6
MacBook Pro (Retina, mediados de 2012) 10.15.4 funciona cuando se siguen las instrucciones de @user2561747. Primero deshabilite SIP en modo de recuperación (cmd + r durante el arranque): csrutil disabled Luego reinicie en modo de usuario único (cmd + s) y monte / como lectura-escritura: /sbin/mount -uw /Luego mueva los archivos NVD*.kext I No quité el pestillo pero lo reconstruí. no estoy seguro de si importaba o no. Desafortunadamente, por ahora, el control de brillo no está disponible con las teclas de función; sin embargo, esto podría ser de ayuda: github.com/TankTheFrank/NativeDisplayBrightness
@Matthew, ¿se despierta correctamente? Actualicé de 10.12.6 a 10.15.7 y ahora tanto el brillo como el modo de reposo/activación han dejado de funcionar. Específicamente, creo que vuelve a cambiar a dGPU al despertar del modo de suspensión, lo que para mí resulta en una pantalla negra.
@ user2561747 el mío no se ha despertado correctamente en mucho tiempo. Los controles de brillo tampoco funcionan.
@fnieto gracias. Publiqué una nueva pregunta específica sobre el problema de activación/brillo después de actualizar el sistema operativo: apple.stackexchange.com/q/421083/203559

tu dilema

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

Advertencia

Antes de hacer algo que deshabilite su pantalla, asegúrese de poder iniciar sesión en su MacBook Pro usando SSH para que pueda deshacer su trabajo manual. Si bien el uso compartido de pantalla con todas las tarjetas gráficas desactivadas probablemente funcionará con alguna resolución predeterminada, no apostaría mi computadora a ello.

respuestas

¿Qué sucederá si desactivo de forma permanente la tarjeta gráfica discreta nVidia de EFI? ¿Mac OS pensará que la GPU integrada es la que está instalada y me permitirá usar varios monitores con ella?

Perderá la capacidad de usar un monitor externo (en cualquier sistema operativo). Los puertos de gráficos externos están conectados al chip de gráficos discretos.

Mi propia MacBook Pro 2011 funciona a 60 grados estables incluso bajo carga con un ruido de ventilador mínimo cuando uso los gráficos integrados de Intel y se dispara a los ventiladores completos (en el rango 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 gráficos integrados y manejar un monitor externo.

De ninguna manera, de ninguna manera.

¿Es cierto que el mismo EFI ni siquiera muestra la GPU integrada a otros sistemas operativos que no sean Mac OS y tienes que engañarlo de alguna manera para pensar que es Mac OS?

Sí, es verdad. El EFI de la MacBook Pro 11,3 apaga la GPU Intel si arranca cualquier cosa que no sea Mac OS X. Tiene cuatro opciones si desea utilizar 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 con anticipación. Si no se prepara, se enfrentará a una tarjeta gráfica integrada apagada y una pantalla en negro. Por supuesto, siempre puede regresar y arrancar Mac OS X y comenzar de nuevo.

La más simple de las opciones anteriores sería la número dos: reemplazar Apple EFI. Desafortunadamente, es el que podría dejarlo incapaz de iniciar en el futuro. A Apple no le gusta que la gente juegue con EFI y se reserva el derecho de bloquear su dispositivo por hacerlo. Si tenía Apple Care y todavía estaba en el período de garantía, es posible que encuentre un hombro en algún lugar para llorar. Podrían. Cuando cambia EFI, también asume riesgos de seguridad , es decir, puede facilitar el pirateo de su máquina. Debe poder actualizar a la última EFI que eliminaría su parche.

La opción uno, rEFInd se coloca entre el arranque y EFI, lo que deja un margen considerable para que algo salga mal y para que usted se quede con un ladrillo y un camino largo y difícil de regreso a una computadora que funcione. ¿Qué tan serios son estos problemas? Muchos propietarios de MacBook Pro han perdido su disco duro para REFInd:

Numerosos informes de errores de rEFIt indican problemas de corrupción de disco en discos de más de 500 GiB.... Le recomiendo enfáticamente que no escriba sudo bless --infopara verificar el estado de su instalación si tiene dicho disco, o incluso si sospecha que podría tener dicho disco. . (He visto discos de formato avanzado tan pequeños como 320 GB).

La opción tres es relativamente fácil. La aplicación de parches a grub es un proceso con el que cualquier antiguo propietario de Hackintosh está bastante familiarizado. Patching Grub funciona y se puede deshacer fácilmente ya que los cambios no se realizan a nivel de firmware. Si parchea grub de forma conservadora, el código grub adicional solo se habilita manteniendo presionada la opción/alt en el arranque .

Conclusión

Si prefiere usar su computadora en lugar de repararla, el gfxCardStatus de Cody Krieger en su configuración lista para usar se ve cada vez más atractivo. Si realmente quiere forzar a gfxCardStatus para que se ejecute al inicio, el Sr. Krieger ha participado en una conversación esclarecedora , que ha llevado a switchGPU. switchGPU preestablece gfxCardStatus en gráficos discretos o integrados lo suficientemente pronto como para que pueda ejecutar gráficos integrados cuando su GPU discreta se sobrecalentaría y fallaría. gfxCardStatus sigue funcionando con normalidad (es decir, puede volver a GPU discreta después del arranque utilizando el elemento de menú gfxCardStatus). No hay razón para instalar switchGPU a menos que tenga problemas serios de hardwarecon su GPU discreta, lo que significa que debe mantenerla apagada todo el tiempo.

coda

Pensándolo bien, mi propia situación con el AMD 6750 integrado es lo suficientemente mala (tan caliente y ruidosa incluso después del repasado térmico) que aprovecharé el programa de reparación de garantía extendida de Apple para MacBook Pro 2011 con gráficos AMD. Marco Arment probablemente tenía razón al cambiar su MBP de 2,2 GHz de 2011 con 6750 por 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, los MacBook Pro Retina parecen seguir sufriendo los mismos problemas de calor y ruido . El MacBook Pro 2013 de mi novia con solo gráficos integrados se comporta mucho mejor.

Por problemas de calor y ruido con estaciones de trabajo MBP de cuatro núcleos, me rendí y compré dos Mac Pro (2006 y 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 que el 2009) y realiza múltiples tareas mejor que el MBP 15". Las dos torres plateadas (hogar y oficina) cuestan menos combinadas que una sola MacBook Pro nueva. Por ahora estoy ejecutando el MBP 2011 de 15 "en gráficos integrados solo como transporte (sin monitor externo).


Esta solución apunta al modelo Retina MBP 15" 2014. Mi propio interés en deshabilitar la GPU discreta fue para un modelo MBP 17" 2011. Como una pieza importante de software para mí requería Mojave, recientemente revisé la desactivación de la GPU discreta. gfxCardStatus no funciona en Mojave (mostrará información pero no deshabilitará de manera confiable la GPU discreta).

La configuración de una variable NVRAM funcionó ( nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00). Una variable de NVRAM también habilitó el modo de cubierta abierta en un MBP de 16" que tengo aquí para probar. Establecer una variable de NVRAM parece ser la forma mejor y más segura de resolver problemas serios de tarjetas gráficas en MacBooks.

La solución NVRAM completa para la familia MBP 2011 fue cuidadosamente investigada y documentada por Luis Puerto . He ejecutado con éxito esta solución. En caso de que el sitio de Luis no funcione, hay una publicación similar pero con más palabras en AskDifferent .

Gracias por esta explicación detallada, destacando los riesgos. ¿Sería un monitor inalámbrico una opción para seguir usando equipos externos incluso sin una GPU? ¿Hay algún modelo compatible con Mac?
Gracias por tu pregunta, Reim. No he probado ninguna solución de monitor inalámbrico. Cinco años después, sigo usando tres MBP de 2011 con AMD 6750 con éxito con gfxCardStatus. Reemplacé al menos una y tal vez dos placas base a través del Programa de garantía extendida de Apple justo después de escribir la explicación anterior. No ejecuto mi MBP 2011 en una tarjeta discreta muy a menudo, lo que ha contribuido a su longevidad. Por supuesto, actualicé los discos duros (fácil) y cambié los teclados mientras tanto. Último MBP que son relativamente fáciles y asequibles de mantener.
¡Gracias por tu respuesta! Actualmente estoy evaluando algunas opciones, como duplicar a través de Chromecast o usar AirPlay con un adaptador AppleTV-VGA/HDMI.
Actualicé mi respuesta anterior para reflejar mi experiencia reciente en la resolución de problemas de gráficos en MacBook Pro con variables NVRAM. Recomiendo que @reim busque una solución NVRAM.

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 Pro tendrán que 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 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 a la MacBook Pro a arrancar siempre directamente en la GPU integrada (iGPU). El identificador no es solo para las 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: hay potencialmente dos pequeños problemas con esto:

  1. Después de forzar esta configuración de NVRAM, macOS podría "confundirse un poco". El chip sigue ahí, cableado y alimentado.

  2. Para que esto arranque, es posible que deba deshabilitar los controladores de gráficos para su dGPU. O al menos el kext que gestiona el cambio de gráficos real. De lo contrario, el arranque podría bloquearse al intentar iniciar el cambio de GPU.

Ambos problemas recién surgidos se pueden solucionar moviendo todos los kexts de NVidia /System/Library/Extensionsa un lugar de respaldo seguro. Esto iniciará la máquina en modo iGPU acelerado. Pero establecer una variable EFI podría no ser suficiente para obtener una administración de energía sensata. Para eso, es probable que tengas que retroceder los kexts de NVidia, excepto los responsables del cambio de gráficos. Si no lo hace, dará lugar a una potencia innecesariamente alta en la dGPU. Al menos estará inactivo a "máxima potencia" (traducido a >~60°C).

Esta inactividad de alta potencia será potencialmente la gran derrota de su plan para reducir el ruido del ventilador y aumentar la batería. Nota al margen de la literatura: debería ser una verdad reconocida universalmente 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 de stock (con kexts de NVidia 'predeterminados'). Luego tome nota de las extensiones con las que realmente se carga su sistema kextstat. Luego, reinicie con los kexts de NVidia/Geforce previamente cargados y el hack 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 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.

Dado que el método de esta publicación, o la forma igualmente válida pero larga: manipular EFIvars en Linux, es NVRAM, se revertirá limpiamente si reinicia SMC/NVRAM. Que la piratería de NVRAM es en realidad la única parte de esta publicación que seguramente no le causará muchos problemas.

Al hacer este restablecimiento de NVRAM, se restaura un conjunto mínimo de configuraciones de fábrica a las variables EFI/NVRAM. Esa configuración de fábrica no se modificará.

Esto se puede hacer con la frecuencia que desee.

En Linux, el sistema de controladores está mucho mejor documentado y, en mi humilde opinión, se implementa más limpio. Hay muchas maneras de lograr esto con o iniciando Linux. Y un Linux (ya sea respetando esta configuración de NVRAM/EFIvars oa través de 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: que el sistema operativo no reconozca correctamente la dGPU no significa que esté apagada. Eso podría conducir a efectos secundarios térmicos no deseados.

Eche un vistazo a esta guía para MacBook Pros 2011 para 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

Habiendo dicho eso, todo: gfxCardStatus (o probar diferentes versiones del original, tienen diferentes opciones/capacidades...) es, en mi humilde opinión, la mejor opción si no tiene problemas reales de hardware con los que lidiar. Es mucho más flexible y aún puede volver 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: obligar a una Mac con gráficos intercambiables a solo integrada deshabilitará los modos de visualización externa utilizando la salida de gráficos DisplayPort o Thunderbolt integrada. Esta es una consecuencia del diseño del hardware que enruta la señal de visualización para monitores externos a través de la dGPU. El uso de adaptadores de gráficos no discretos sino externos podría ser una solución para esa limitación.

La configuración de EFI para habilitar la integración en otros sistemas operativos

Como ya debería estar claro, 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 deshabilita 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. Se ha diseñado para que se cargue fácilmente en cadena mediante un cargador de arranque EFI no modificado como Grub, rEFInd, etc.

El EFI del modelo 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 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

Nota para mí y para los demás dolientes de GPU, el nvramcomando con su cadena que evoca a satanás debe darse cada vez que algo haya manipulado la configuración interna, lo que hace que su pantalla permanezca en blanco. Esto ya me ha sucedido tres veces, al hacer clic inocentemente en la información Acerca de esta Mac , al deshabilitar el cambio automático de la tarjeta de video en la configuración y al usar alguna herramienta compatible con OpenGL. Acceder en modo seguro y dar el comando me devolvió la mac (y mi sueño también).
@reim Si necesita repetir la cadena de 'invocación' con frecuencia (aunque debería ser un poco más persistente), ¿ha revisado el script para automatizar la mayor parte de esa codificación? apple.stackexchange.com/a/295805 ?
@LangLangC gracias, ¡no conocía esa publicación! En este momento se siente más o menos estable, pero los controles de brillo ya no están, eso podría requerir el reinicio del enésimo cochecito... ¡Oh, sí, eso también se menciona allí!

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 que debería estar en cómo se conectan las GPU y las salidas de video.

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

Con nVidia Optimus, la configuración es que la pantalla integrada de una computadora portátil está conectada a la GPU integrada y el puerto de pantalla externo está conectado a la GPU discreta. Si necesita renderizar cosas usando la GPU discreta en la pantalla integrada, la GPU discreta está "esclava" de la integrada. Una llamada de representación va primero a la GPU integrada, que, si la GPU discreta está habilitada, la reenvía allí y luego recupera el resultado para enviarlo a 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 enviar salida de video a ese puerto por sí sola. No creo que sea posible que la GPU integrada sea "esclava" de la discreta, porque, en primer lugar, no tendría sentido desde una perspectiva de diseño con respecto a los objetivos de la tecnología de conmutación de gráficos; 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.

¡Interesante! Sé que Lenovo ThinkPad W530 me permitió configurar la GPU integrada desde las opciones del BIOS, y estoy casi seguro de que esto todavía me permite conectar monitores externos. No estoy 100% seguro también.
Como dije, no estoy 100% seguro de lo anterior, porque no puedo volver a encontrar los artículos originales. Es posible que el cableado que describí no sea la única configuración posible, y el W530 tiene la GPU integrada que maneja ambos. Sin embargo, la Macbook que requiere que ejecute la GPU discreta para un externo indicaría que, de hecho, está conectada de la manera que describí.
Necesita la GPU discreta para usar una pantalla externa. El uso regular de la GPU discreta generará más ruido del ventilador y acortará la vida útil de la placa base. Ya no uso la GPU discreta en absoluto. Uso una computadora de escritorio para levantar cosas pesadas, pero sigo disfrutando de la gran pantalla integrada de 17 pulgadas cuando viajo.

Si alguien todavía está buscando formas de hacer esto, consulte esta publicación del foro de MacRumors.

Seguí los pasos mencionados en esa publicación del foro y mi MacBook Pro 2011 de 15" funciona perfectamente usando solo su gráfico integrado. La tarjeta gráfica AMD inútil 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/página-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/

¿En qué versión de OSX/macOS probaste esto?