Antes de adentrarnos a Instalar drivers libres Nouveau para Nvidia en Debian es preciso conocer acerca de Nouveau.

Que es el driver Nouveau en Linux?

Nouveau es un proyecto de código abierto y de Software libre que tiene el objetivo de crear un controlador de hardware libre para las tarjetas gráficas Nvidia, mediante el uso de ingeniería inversa de los controladores propietarios de GNU/Linux y del hardware Nvidia.

Este proyecto de la X.Org Foundation y freedesktop.org se baso originalmente en el controlador «nv» liberado anteriormente por Nvidia. El nombre del proyecto hace referencia al hecho de que «nouveau» significa «nuevo» en francés.

La aceleración 2D tiene una madurez suficiente para trabajar en el día a día. El uso de KMS es obligado, forma parte del driver y es necesario. Es además el principal punto conflictivo para aquellos que quieren usar el driver de Nvidia privativo. Es necesario, en aquellos casos, desactivar el KMS (metiendo por ejemplo el módulo nouveau en el blacklist de modprobe).

KMS (Kernel Mode Setting) es una tecnología que permite que sea el kernel y no el driver X11, el encargado de manejar el modo gráfico de la consola. Esto reduce la carga en el sistema, y permite que ciertas operaciones se realicen algo más rápido. Pero también ayuda a los desarrolladores a solucionar problemas del kernel cuando el sistema de ventanas X está ejecutándose. Sin embargo, apenas notaremos diferencias, salvo quizás mejores tiempos cuando realizamos el cambio de un usuario a otro en la misma máquina, algo que no utilizamos muchos de nosotros pero que es una consecuencia directa de la aplicación de KMS.

El driver tal y como lo proporciona el paquete de Debian Squeeze no posee capacidad de aceleración 3D (a petición de los desarrolladores de nouveau). Si deseas tener soporte para aceleración 3D (totalmente experimental, y solo funciona en algunas tarjetas), dirígete al sitio de nouveau, donde se explica como compilar los drivers con soporte para Gallium3D. Sin embargo en Debian Wheezy si incluye aceleración 3D.

Direct Rendering Manager (Gestor de Renderizado Directo o DRM) es un componente de Direct Rendering Infrastructure (Infraestructura de Renderizado Directo o DRI), que otorga a sistemas operativos del mundo Unix, como Linux, FreeBSD, NetBSD, y OpenBSD de aceleración gráfica eficiente, especialmente para aplicaciones 3D.

Consiste en dos módulos del kernel: un módulo genérico llamado drm, y otro específico para el chip gráfico de que conste el hardware. Estos dos drivers en conjunto permiten que un cliente en el espacio de usuario (userspace) pueda acceder al hardware de vídeo de manera más o menos directa, acelerando de este modo la producción de imágenes.

Instalar Nouveau y desinstalar Nvidia desde synaptic

Si ya tenemos instalado el driver propietario de Nvidia, y luego de leer este manual nos damos cuenta que con el driver libre NOUVEAU podemos hacer lo mismo pero con el driver libre, los pasos a seguir son los siguientes:

Tenemos que deshacer los pasos dados anteriormente para instalar el driver privado de Nvidia, tal como se indica en el manual de instalación del driver privado (enlace aquí)

Vamos a resumir los pasos a seguir para desinstalar Nvidia e instalar nouveau.

1. Instalamos con synaptic el driver libre nouveau: xserver-xorg-video-nouveau

sudo apt-get install xserver-xorg-video-nouveau

2. Eliminamos el módulo del driver nouveau de la lista negra en el fichero blacklist.conf que se encuentra en /etc/modprobe.d

Instalar drivers libres Nouveau para Nvidia en Debian

Borramos el módulo del driver nouveau, (que aparece en la imagen de arriba) para que se cargue en el arranque del sistema y guardamos.

También hemos de borrar todas la referencias al módulo del driver nouveau de los ficheros que se incluyen en la misma carpeta del fichero blacklist.conf, es decir de /etc/modprobe.d

y observamos como existen referencias al modulo nouveau en los siguientes ficheros:

  • blacklist.conf
  • nvidia-installer-disable-nouveau.conf
  • dkms.conf

En todos estos casos borramos la referencia al driver nouveau o bien comentamos la línea con el símbolo almohadilla, ya que dicho símbolo lo que hace es ignorar el contenido de dicha línea. Y añadimos a la lista el modulo de Nvidia, para que no lo cargue en el arranque. (blacklist Nvidia y blacklist Nvidiafb)

3. Ahora tenemos que desinstalar los siguientes paquetes y todas sus dependencia, en mi caso lo haré con Synaptic:

  • nvidia-kernel-2.6.32-5-amd64 (o el que corresponda según nuestro sistema)
  • nvidia-glx
  • nvidia-xconfig
  • nvidia-settings
Instalar drivers libres Nouveau para Nvidia en Debian

Ahora ya esta desinstalado el driver de Nvidia instalado desde los repositorios de Debian GNU/Linux.

*En caso de haber instalado el driver descargado desde la web oficial de Nvidia, hemos de usar el siguiente comando en una consola:

sudo nvidia-installer --uninstall

Ahora ya esta desinstalado el driver de Nvidia bajado desde la web oficial de Nvidia.

4. El siguiente paso es borrar el fichero de configuración xorg.conf que se encuentra en /etc/X11, usando:

sudo rm /etc/X11/xorg.conf

5. Como previamente teníamos instalado el driver privado Nvidia, este realiza modificaciones en el fichero de configuración de glx llamado libglx.so Este fichero se encuentra en el paquete xserver-xorg-core para restaurar dicho fichero a su estado original, tan solo tenemos que reinstalar dicho paquete, con la ayuda de synaptic ó apt-get con:

sudo apt-get install --reinstall xserver-xorg-core

Ahora lo mas fácil para un usuario novel es reiniciar el ordenador, y con esto ya tenemos el driver nouveau instalado y funcionando con aceleración 3D gracias a gallium 3D y a OpenGL.

Verificar si tenemos aceleración 3D

A partir de Debian Wheezy, el driver nouveau incluye aceleración 3D por defecto.

Con la utilización del siguiente comando en una consola virtual, podemos verificar que contamos con aceleración 3D:

sudo glxinfo | grep direct
Instalar drivers libres Nouveau para Nvidia en Debian

También podemos ver que tenemos habilitada la aceleración 3D, haciendo uso de la herramienta de kde llamada kinfocenter. Nos dirigimos al apartado Información Gráfica, en los submenus Servidor X y OpenGL.

Para asegurarnos que tendremos un funcionamiento decente en la aceleración 3D usamos el siguiente comando:

sudo glxgears
Instalar drivers libres Nouveau para Nvidia en Debian

Vemos como los engranajes empiezan a funcionar y en la otra ventana aparecen los frames, con un resultado decente, aunque muy lejos del driver privado de Nvidia. Aun siendo el driver privado mejor que el libre, me quedo con el driver libre Nouveau con Gallium 3D.

Con esta aceleración 3D, podemos hacer de todo, jugar, usar programas que necesite aceleración 3D, etc… y todo con software libre.

https://wiki.archlinux.org/index.php/Nouveau_%28Espa%C3%B1ol%29#KMS

http://usuariodebian.blogspot.com/2012/08/nouveau-con-aceleracion-3d.html

Si deseas entender mejor cómo funcionan los drivers libre te dejo la siguiente pagina (esta en ingles pero San Google Translate nos ayudará):