Friday, June 14, 2013

[Tutorial] Habilitar los drivers de nVidia con tecnología Optimus

Habilitar los drivers de nVidia con tecnología Optimus

What is he talking about? English version

Ahora que tengo un computador con una tarjeta gráfica, puedo escribir sobre como habilitarla si es que no es reconocida por su sistema operativo.

 
Tengo una nVidia GeForce 620m en mi laptop y Ubuntu no me permite instalar los drivers normalmente desde el manager que tienen. Esto se debe a que esta tarjeta gráfica utiliza tecnología Optimus de nVidia.

Identificando su dispositivo


Lo primero que tenemos que hacer es ver si la tarjeta gráfica esta siendo reconocida.

Usamos el comando:

lspci

Pueden ser más específicos, combinando lspci con grep:

lspci | grep 3D


Normalmente deben ver ahí su tarjeta gráfica. Una vez que hicimos eso podemos instalar los drivers.

Descargar e instalar Bumblebee


Bumblebee es un proyecto que nació justamente para habilitar la tecnología Optimus en Linux, ya que nVidia no creó los drivers correspondientes.
Este proyecto funciona en la mayoría de distribuciones (Ubuntu, Fedora, Mandriva, Arch...). Como yo uso Ubuntu les mostraré como instalarlo usando un PPA.

Importante: No necesitan instalar nada extra, sobre todo no instalen nvidia-current o no usen ningún script para configurar su servidor X. Pueden hacer que su sistema sea inutilizable,

Usen el PPA oficial de la página de Bumblebee y actualicen sus paquetes:

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

Asegúrense de que tienen los linux headers instalados:

sudo apt-get install linux-headers-generic

Y finalmente pueden instalar Bumblebee:

sudo apt-get install bumblebee virtualgl

Luego reinicien su computador y verifiquen que no tienen ningún error.

Asegúrense de que la opción para usar las dos tarjetas gráficas está activada en su BIOS también.

Probando la tarjeta gráfica


Una vez que instalamos Bumblebee podemos hacer algunas pruebas para comprobar que está funcionando bien ya que no existe una interfaz gráfica.

Hagamos un poco de benchmarking primer. Usando el comando siguiente podemos probar el GPU del procesador.

glxspehres

Este pequeño programa ejecuta una animación 3D, pueden ver el número de FPS (imágenes por segundo) y otra información. En mi caso esto es lo que mi computador me muestra con mi procesador Ivry Bridge.



Ahora podemos hacer el mismo tipo de pruebas con Bumblebee y VirtualGL. Lancemos glxspheres pero usando la tarjeta gráfica nVidia.

optirun glxspheres



Normalmente deben tener un mayor número de imágenes por segundos (la animación va más rápido).

Nota: Pueden ver como la tarjeta gráfica consume más energía viendo el tiempo de mi batería.

Ahora que podemos usar la tarjeta nVidia, podemos mejorar el rendimiento para ahorrar energía y mejorar el rendering.
 

Instalar Primus para mejorar el rendimiento


Para poder mejorar el rendimiento de Bumblebee se puede instalar otro "puente". Instalen Primus con el comando siguiente:

sudo apt-get install primus

Luego pueden probar el rendimiento con esto:

vblank_mode=0 primusrun glxspheres

(Necesitan la opción vblank_mode para tener el mayor número de FPS)


Nota: De nuevo pueden ver como la tarjeta gráfica consume más energía (viendo el tiempo restante de mi batería), pero no tanta como cuando usamos optirun.

Ejecutar los juegos de Steam con la tarjeta gráfica


Es muy probable que si tienen una tarjeta gráfica, lo que quieran hacer es probarla con algunos juegos. Lo único que tienen que hacer son unos ligeros cambios en el cliente.

Lancen Steam y vayan a su Librería. Luego seleccionen el juego que quieren utilizar con la tarjeta gráfica y denle click derecho.
Vayan a "Properties"


Luego escojan "SET LAUNCH OPTIONS..."


Y añadan el comando siguiente primusrun %command%.


Y eso es todo! Ahora sus juegos van a utilizar la tarjeta gráfica.

¿Les gustó este post? No se olviden de agregarme a  G+ o síganme en Twitter: @RobertoXMed .

Si pueden y quieren no olviden hacer una Donación (por Paypal) para el blog chimbo así podré seguir haciendo gran contenido.

7 comments:

  1. Tengo un problema y es al instalar los paquetes de primus aparece esto:

    Desempaquetando primus-lib:i386 (de .../primus-lib_201303160857git~raring1_i386.deb) ...
    dpkg: error al procesar /var/cache/apt/archives/primus-lib_201303160857git~raring1_i386.deb (--unpack):
    intentando sobreescribir `/usr/lib/i386-linux-gnu/primus/libGL.so.1', que está también en el paquete primus-libs:i386 20130527-1~raringppa1
    No se escribió ningún informe «apport» porque ya se ha alcanzado el valor de «MaxReports»
    Seleccionando el paquete primus previamente no seleccionado.
    Desempaquetando primus (de .../primus_201303160857git~raring1_i386.deb) ...
    Se encontraron errores al procesar:
    /var/cache/apt/archives/primus-lib_201303160857git~raring1_i386.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)


    sabes qué puede ser?

    Gracias

    ReplyDelete
    Replies
    1. Intenta alguno de estos comandos:

      sudo apt-get install -f

      sudo apt-get install --reinstall primus

      Creo que debes tener algun paquete mal instalado.

      Delete
  2. y que pasa si la tarjeta no esta siendo reconocida?

    ReplyDelete
    Replies
    1. Ni cuando haces lspci no sale? Creo que ya sería un problema al nivel del hardware o de tu versión de Linux. Intenta buscar el error en google.

      Delete
  3. Obtengo esté error:
    $ optirun glxspheres
    [ 183.761889] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver

    [ 183.761933] [ERROR]Aborting because fallback start is disabled.

    ReplyDelete
    Replies
    1. Puedes intentar esto:
      http://askubuntu.com/questions/178069/bumblebeecannot-access-secondary-gpu-error-could-not-load-gpu-driver

      O tal vez, reinstalar bumblebee con
      sudo apt-get install --reinstall bumblebee

      O tal vez editar la configuración de Bumblebee.

      Delete