Los nuevos procesadores Intel (I3, I5 e I7) traen integrados una gráfica Intel, que para la mayoría de los casos es más que suficiente para correr cualquier aplicación 3D en Ubuntu y además disponemos de un controlador libre más que respetable.
Pero algunos requieren de más potencia gráfica (juegos, animación y creación de gráficos tridimensionales, editores de vídeo, ...) y habrán adquirido máquinas con una tarjeta dedicada Nvidia o ATI, encontrándose con la coexistencia de 2 tarjetas gráficas.
En este punto es donde entra la tecnología creada por los fabricantes de Hardware, para el ahorro de Energía, que hace que el sistema utilice por defecto la gráfica Intel con un consumo mínimo y cuando necesita de más potencia entra en acción la tarjeta dedicada ATI o Nvidia.
En GNU/Linux por desgracia ya conocemos todos el poco soporte que dan los fabricantes de Hardware y es un problema, pero gracias a los desarrolladores desde la versión 10.10 el kernel Linux incorpora soporte para gráficas híbridas.
En el caso de las Ati funciona el vga_switcheroo. Más información en:
Página oficial de Ubuntu
Traducción al español y actualización por el compañero Manuel en el Foro
Testeo por el compañero Oxigenente en el Foro
vga_switcheroo no trabaja bien en la mayoría de portátiles con la tecnología Optimus de Nvidia (no tiene un multiplexor de hardware).
Se ha desarrollado el proyecto Bumblebee (Ironhide), que consigue que la máquina trabaje, por defecto, con la tarjeta gráfica Intel y cuando queramos correr una aplicación que necesite de más potencia, podemos lanzarla para que corra con la tarjeta gráfica Nvidia manualmente.
1º Desactivar el controlador "current" privativo en "Controladores Adicionales".
2º Añadir los repositorios "ubuntu-x-swat" para obtener el controlador privativo más actual de la Nvidia (recomendado):
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
Actualizar los repositorios:
sudo apt-get update
2º Editar el archivo del Grub:
Este paso no es necesario y depende del Hardware. En un principio, no hacerlo y si hay problemas podéis probad a hacerlo y reiniciar
sudo gedit /etc/default/grub
Buscar la siguiente línea:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash"
Cambiarla por esta otra:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force”
Guardar, cerrar el archivo y actualizar el Grub:
sudo update-grub
3º Instalar "Bumblebee":
Añadir sus repositorios:
sudo add-apt-repository ppa:bumblebee/stable
Actualizar los repositorios:
sudo apt-get update
Instalar los paquetes necesarios:
sudo apt-get install bumblebee bumblebee-nvidia acpi-call-tools
Reiniciar el sistema.
4º Ejecución
Por defecto nuestra máquina trabajará con la tarjeta gráfica Intel, con el consiguiente ahorro de Energía
Para ejecutar aplicaciones con la gráfica Nvidia se debe anteponer la orden "optirun" (sin ") al comando de ejecución de la aplicación que necesiter de más potencia.
Por ejemplo para lanzar Blender, sería pulsar la combinación de teclas ALT+F2 y escribir / ejecutar:
optirun blender
Para ejecutar un juego con wine, debemos de tener en cuenta la ruta donde se encuentra el ejecutable ".exe". Por ejemplo si lo tenemos en una carpeta llamada "Juego" dentro de nuestra carpeta personal, sería:
optirun wine /home/TuUsuario/Juego/EjecutableJuego.exe
Una opción más directa, para aplicaciones nativas de GNU/Linux, sería modificar la orden en los menús (archivos .desktop) de las aplicaciones en las que necesites más potencia. Vamos a ver un ejemplo con "Blender" (animación y creación de gráficos tridimensionales):
Editar el archivo "blender.desktop" (todos se encuentran en la ruta "/usr/share/applications/" y para otras aplicaciones solo tenemos que cambiar "blender" por el nombre de la aplicación en el comando)
sudo gedit /usr/share/applications/blender.desktop
Se nos abrirá el siguiente archivo:
[Desktop Entry]
Name=Blender
GenericName=3D modeller
GenericName[es]=modelador 3D
GenericName[de]=3D Modellierer
GenericName[fr]=modeleur 3D
GenericName[ru]=Редактор 3D-моделей
Comment=3D modeling, animation, rendering and post-production
Comment[es]=modelado 3D, animación, renderizado y post-producción
Exec=blender
Icon=blender
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;
Buscar la línea del ejecutable "Exec=ejecutable" y anteponer la orden "optirun". En este ejemplo quedaría:
Exec=optirun blender
Nota: para ver el listado de aplicaciones instaladas en el sistema ejecutar:
ls /usr/share/applications
5º Comprobar el rendimiento del controlador:
Para comprobar el rendimiento de la Intel ejecuta en una terminal:
glxgears
Apunta el número de frames por segundo que aparece en la terminal y después ejecútalo para que arranque con la Nvidia:
optirum glxgears
Entonces compara el nº de frames por segundo.
Notas:
Para añadir tu usuario al grupo de bumblebee, ejecutamos el siguiente comando, cambiando "TuUsuario" por el nombre de tu usuario (importante):
sudo usermod -a -G bumblebee TuUsuario
- Si vas a ejecutar programas de 32 bits, instalar las siguientes bibliotecas de 32 bits:
sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386
- Para la lista negra, es posible que tengas que actualizar initramfs:
sudo update-initramfs -u
Si no os funciona correctamente la gestión de energía y tenéis problemas, la cosa se complica.
Esto no está soportado por bumblebee. Leer el disclaimer y ubuntu-guia.
Fuente y autor principal: ubuntu-guia.