Cómo desactivar nvidia 9600M GT en un Macbookpro 5,1 / 5,2 / 5,3

Tengo un MacbookPro 5,1 / 5,2 / 5,3 que viene con dos tarjetas gráficas, y por defecto obtengo el 9600M GT que consume más batería que el otro. No tengo idea de cómo desactivarlo y activar el segundo.

Más detalles después de la respuesta de Bruno:

Estoy usando Ubuntu:

  • 11.10 64 bits con el kernel 3.0.0-15-genérico (Zegnus, MBP 5,1)
  • 12.04 64 bits con el kernel 3.2-0-24-genérico (Megagolgoth, MBP 5,3)

He instalado rEFIt 0.14, y GRUB2 EFI64

He modificado la entrada en el archivo /boot/grub/grub.cfg agregando

outb 0x750 0 

aunque en la parte superior del archivo dice:

 DO NOT EDIT THIS FILE It is automatically generated by grub-mkconfig using templates from /etc/grub.d and settings from /etc/default/grub 

Guardo el archivo, inicio, selecciono la entrada y luego tengo una pantalla negra y no pasa nada más.

He intentado https://help.ubuntu.com/community/UEFIBooting#Selecting_the_graphic_card también, con el mismo resultado.

Gracias.

Para deshabilitar el Nvidia 9600M GT, debe agregar lo siguiente a la entrada del menú grub outb 750x0 , es decir:

 menuentry 'Ubuntu, with Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os { outb 0x750 0 recordfail set gfxpayload=$linux_gfx_mode insmod gzio insmod part_gpt insmod ext2 set root='(hd0,gpt5)' search --no-floppy --fs-uuid --set=root bc495raf-515r-4r2b-b3de-0ec679a7303a linux /boot/vmlinuz-3.0.0-12-generic root=UUID=bc495raf-515r-4r2b- b3de-0ec679a7303a ro hpet=force initrd /boot/initrd.img-3.0.0-12-generic } 

Además para el apagado después de reanudar después de suspender:

En la reanudación, el controlador de gráficos discretos se activará y activará. Necesitamos apagarlo y volver a la GPU integrada.

Esto se puede hacer con un pequeño progtwig muy simple:

 #include  #include  #define PORT_SWITCH_DISPLAY 0x710 #define PORT_SWITCH_SELECT 0x728 #define PORT_SWITCH_DDC 0x740 #define PORT_DISCRETE_POWER 0x750 static int gmux_switch_to_igd() { outb(1, PORT_SWITCH_SELECT); outb(2, PORT_SWITCH_DISPLAY); outb(2, PORT_SWITCH_DDC); return 0; } static void mbp_gpu_power(int state) { outb(state, PORT_DISCRETE_POWER); } int main(int argc, char **argv) { if (iopl(3) < 0) { perror ("No IO permissions"); return 1; } mbp_gpu_power(0); gmux_switch_to_igd(); return 0; } 

Guárdalo en un archivo llamado igd.c. gcc -O2 igd.c -o igd con gcc -O2 igd.c -o igd . Esto creará un ejecutable llamado igd . Ejecutado con privilegios de superusuario, apagará el controlador discreto y cambiará al controlador integrado.

Ahora tenemos que ejecutar esto en el currículum. Cree un archivo llamado /etc/pm/sleep.d/10igd

Debe contener:

 #!/bin/sh # /path/to/igd 

Donde / ruta / a es la ruta donde colocó el ejecutable igd que creamos en el paso anterior.

 chmod +x /etc/pm/sleep.d/10igd 

Este archivo se ejecutará en suspender y reanudar. Hecho correctamente, ese script 10igd verificará si se trata de una suspensión / reanudación / congelación / descongelación y solo se ejecutará cuando sea necesario. Como es, se ejecuta en todos ellos. No es un gran problema, no hará daño ejecutarlo durante la congelación o suspensión.

Tengo todo funcionando en mi mbp5,1: Sonido, Retroiluminación de LCD, Retroiluminación del teclado, Ventiladores que se agotan (desde que se deshabilitó 9600M GT), Apple como atajo (CMD + C para copiar), Flash (casi estable) ... Tan solo pregunta si necesitas más ayuda