Solución a la tecnología Optimus de Nvidia en GNU/Linux con Bumblebee

Nvidia ya ha manifestado en varias ocasiones su poco interés por liberar un controlador para la tecnología Optimus en GNU/Linux. Aunque como comentamos hace unos días, es posible que en un futuro las cosas pueden ser diferentes dada su inclusión en la Linux Foundation, por ahora no tienen intención de cambiar su política respecto a los controladores de sus productos.

Principalmente la tecnología Optimus se caracteriza por un mejor control de la energía y consumo de recursos, apagando el GPU cuando las tareas que ejecutemos no lo necesite, utilizando en su lugar el chip gráfico integrado y volviéndolo a encender automáticamente en el caso de correr programas que si lo requieran, como juegos, editores gráficos o de vídeo, etc.
El caso es que al no funcionar esta tecnología en GNU/Linux, se consigue todo lo contrario, un gran consumo de recursos y por tanto de energía, lo que hace que la batería se agote con rapidez.

Viendo el panorama, la comunidad linuxera se puso manos a la obra para intentar dar una solución a este problema, naciendo así el proyecto Bumblebee.
Bumblebee, viene a llenar el hueco que NVidia ha dejado y pretende dar solución a este problema. Ya llevan un tiempo trabajando en el tema y lanzando algunas betas de este proyecto como os comentamos en una entrada anterior. La última ya hacía pensar que iban por buen camino, proponiendo una solución temporal consistente en desactivar completamente la gráfica dedicada para trabajar solo con la integrada cuando fuese necesario. Pero es en esta ultima beta que han reescrito en C, cuando parece que han conseguido hacer lo que se supone que tiene que hacer, que es automatizarlo (autoswitching) e incluso poder mantener la configuración en modo de hibernación. Todo esto trabajando con el driver privativo.

Podemos descargar el código de la beta Bumblebee 3.0, desde github , pero también podemos encontrar paquetes compilados y el modo de instalación para las distribuciones Arch Linux, Debian, Gentoo y Ubuntu.

En el caso de Ubuntu, podemos instalarlo a través de su repositorio, para ello procedemos de la siguiente manera:

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update

En este punto nos recomiendan tener también los repositorios de los últimos controladores de Nvidia:

sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update

En el caso de necesitar ejecutarse en sistemas de 64 bits, tenemos que instalar las siguientes librerías:

sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386

Ahora instalamos Bumblebee junto con el controlador privativo:

sudo apt-get install bumblebee bumblebee-nvidia

Para poder utilizarlo debemos añadir nuestro usuario en el grupo del controlador y darle permisos:

sudo usermod -a -G bumblebee TU_USUARIO

Y reiniciamos…

Es posible que esta beta no le funcione bien a todo el mundo y que algunas funciones no estén bien depuradas, pero no hay que olvidar que esta no es una versión definitiva, aunque sin duda es de agradecer el gran trabajo del equipo de Bumblebee en el desempeño de este proyecto.

No dudes comentar tu experiencia o consultas en nuestro foro de ayuda.

Instalación en otras distribuciones
Pagina oficial de Bumblebee

Compártelo. ¡Gracias!

15 Comentarios
  1. ubuntero says:

    Yo lo uso en mi XPS 15 y de maravilla me da como una hora más de batería! 😀

  2. JcabrA says:

    Justo lo q buscaba. Lo probaré en breve!!

  3. Jaime says:

    Entiendo que la unica razon por la cual quisiera instalar el Bumblebee es para power ahorrar energia y switchear entre la Intel 3000 y la NVIDIA 525M(Tengo una inspiron N5110), correcto?

    Y si solo quisiera dejar funcionable la NVIDIA 525M, que tendria que hacer? por el momento no me importa que se acabe la bateria y usar solo la 525M, solo quiero ver que puedo usar el BERYL con la 525M.

    He instalado los dirvers de NVIDIA privativos desde el ambiente grafico de UBUNTU (“Adittional Drivers”), creen que aun necesito Bumblebee?
    Ya lo hice instalando solo los dirvers privativos de NVIDIA y se queda esperando a un servicio y no levanta las X(ALT+F7)..si levanta la red y todo lo demas, pero las X no jalan…

    Alguna idea?

  4. Josan says:

    Hola. ¡¡¡Conseguido!!. Tengo un Samsung SF510, con las siguientes características:

    Sistema Operativo: ubuntu 12.04 LTS 64 bits
    Memoria

    4GB (DDR3 / 2GB x 2)

    2 ranuras para memoria SODIMM

    Gráficos

    Procesador gráfico dedicado NVIDIA GeForce 310M

    512MB gDDR3 (Ext. Graphic)

    Almacenamiento

    Disco duro (S-ATA de 5.400 rpm) de 500 GB

    ODD (S-ATA de 9,5 mm) Super Multi Dual Layer

    Procesador

    Intel® Core™ i3 Processor 370M (2,4GHz, 3MB)

    Pantalla

    Pantalla brillante LED HD (1.366 x 768) 16:9 de 15.6″

    Multimedia

    Audio HD (Alta Definicion)

    Supresion de ruido del microfono, Efecto 3D

    Altavoz estéreo de 3 vatios (1,5 vatios x 2)

    Cámara web disponible

    Red

    Ethernet LAN con cable 10/100/1000

    LAN inalámbrica 802.11 b/g/n

    Bluetooh 3.0 de alta velocidad

    Mi problema es que no conseguía activar la acelaración gráfica, con lo que tenía que funcionar con el Unity 2D.

    Siguiendo todos los pasos que habéis indicado en el artículo he conseguido activar los efectos del unity y mi sistema, en lo referido al aspecto gráfico, ya va perfecto.

    Me queda por observar el tema de la batería, que no me duraba más de una hora. Si observo que se ha solucionado el problema prometo informaros.

    Muchas gracias. Hacéis una labor inmensa. Seguid así.

  5. gabriel says:

    Es necesario desinstalar los controladores de nvidia que no funcionan para ubuntu antes de seguir esos pasos para instalar los que si funcionan??? es que instale unos drivers de nvidia que no me sirvieron porque no aparecia unity, entonces entre a este pagina y estoy instalardo y siguiendo los pasos uno por uno pero no quite los anteriores controladores de nvidia.. Agradezco de sus respuestas..

  6. Ta Co says:

    tengo instalado bumblebee y he conseguido que detecte mi nvidia geforce 310m. inicio el launcher del juego con el comando optirun (aplicacion) y entonces me sale este error

    X_ChangeProperty: BadValue (integer parameter out of range for operation) 0x0
    Game removed: AppID 57300 “Amnesia: The Dark Descent”, ProcID 2372
    X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
    Major opcode of failed request: 14 (X_GetGeometry)
    Resource id in failed request: 0x400002
    Serial number of failed request: 46
    Current serial number in output stream: 46
    saving roaming config store to ‘sharedconfig.vdf’
    roaming config store 2 saved successfully
    ExecCommandLine: “/home/tai/.local/share/Steam/ubuntu12_32/steam -foreground”
    Generating new string page texture 72: 128×256, total string texture memory is 442,37 KB
    Generating new string page texture 73: 128×256, total string texture memory is 131,07 KB
    Generating new string page texture 74: 64×256, total string texture memory is 507,90 KB
    Generating new string page texture 75: 32×256, total string texture memory is 540,67 KB
    Generating new string page texture 87: 384×256, total string texture memory is 933,89 KB
    Generating new string page texture 88: 128×256, total string texture memory is 1,06 MB
    Generating new string page texture 89: 8×256, total string texture memory is 1,07 MB
    Generating new string page texture 93: 256×256, total string texture memory is 1,34 MB
    Generating new string page texture 94: 128×256, total string texture memory is 1,47 MB
    Failed to load installscript /home/tai/.local/share/Steam/SteamApps/common/Penumbra Overture/installscript.vdf
    Generating new string page texture 102: 512×256, total string texture memory is 1,99 MB
    Installing breakpad exception handler for appid(steam)/version(1360966495_client)
    CAPIJobRequestUserStats – Server response failed 2
    saving roaming config store to ‘sharedconfig.vdf’
    roaming config store 2 saved successfully
    Installing breakpad exception handler for appid(steam)/version(1360966495_client)
    Installing breakpad exception handler for appid(steam)/version(1360966495_client)
    Generating new string page texture 109: 256×256, total string texture memory is 2,25 MB
    Installing breakpad exception handler for appid(steam)/version(1360966495_client)
    Installing breakpad exception handler for appid(steam)/version(1360966495_client)
    saving roaming config store to ‘sharedconfig.vdf’
    roaming config store 2 saved successfully
    Generating new string page texture 114: 256×256, total string texture memory is 2,51MB

    ¿alguien sabe que es lo que pasa?

  7. ewnarvaez says:

    Excelente tuto, me funciono a la perfección. Muchas gracias

  8. paulmansilla says:

    Hola:
    Tengo una Samsung r480 con video nvidia 310m y con Ubuntu 14.04 funciona.
    Pero me da un error en el que no me permite poner mayor resolución de pantalla mayor a 800×600.
    Alguien me puede ayudar?
    Ya intente crear un archivo xorg.conf pero no me funciona

    • paulmansilla says:

      Ahora si me funciona en resolución 1024×768, estoy tratando de llevarla a 1366 x 768 editando xorg.conf.nvidia ubicada en /usr/share/bumblebee, si tengo éxito les aviso

  9. Anonymous says:

    “Totalmente de acuerdo, muy acertado el artculo, enhorabuena”
    LaNena Gijn http://www.smartphoneslibres.blogspot.es/

Dejar una respuesta

no se hace responsable de las opiniones de los internautas
Por favor revisa la ortografía y respeta las normas de la web.
XHTML: Puedes utilizar los siguientes tags:
<a href=""> <b> <i> <strong>

Linux Zone © 2007 - 2017