martes, noviembre 21, 2006

nVidia + AIGLX + Compiz à la Debian

Hasta hace un tiempo, a aquellos que nos interesaba tener los efectos que inauguró XGL en nuestro querido Debian sólo nos quedaba:
  1. Compilar e instalar todo desde las fuentes (salvo, y obviamente, el driver de nVidia porque los muy turros no nos quieren liberar el código).
  2. Usar los paquetes de otra distro (léase Ubuntu).
  3. Usar paquetes para Debian, empaquetados por algún alma caritativa.
Cualquiera sea las opciones que hayamos tomado, terminabamos siempre ensuciando nuestra instalación con paquetes externos y de dudosa procedencia, lo que nos llevaba muy probablemente a un montón de incompatibilidades entre versiones, dependencias, etc...

Pero a partir del 18/11/2006, y gracias a la Debian X Strike Force y a otros mantenedores, ya disponemos en Debian testing de los paquetes xorg 7.1 y compiz, con lo cual tenemos facilitado una buena parte del trabajo necesario para tener los tan deseados efectos en nuestro escritorio.
Además, como Xorg 7.1 incorpora AIGLX ya no es necesario tener un servidor Xgl, con el servidor X nos basta.

Así que si disponemos de Debian testing, mas una tarjeta nVidia, podemos tener un desktop lleno de chiches en minutos nada más siguiendo estos pasos:

0. Un poco de limpieza

Como prerrequisito para todo esto, deberemos tener el sistema lo más limpio que podamos, es decir, sin paquetes compiz*, xgl, libglitz ni nada raro. Eso es algo así:

apt-get remove --purge compiz* xgl libglitz1

1. Actualización de Xorg

A continuación necesitaremos actualizar el servidor X. Si ustedes, como yo, están al día con la distro, entonces ya está listo y podremos continuar con el siguiente paso. Si no, es tan sencillo como hacer:

apt-get install xorg

2. Instalación del driver nVidia

Lamentablemente aún no disponemos de un driver libre para tarjetas gráficas nVidia que nos permita disfrutar de aceleración 3D. Esperemos que esto cambie pronto, ya sea con la liberación del driver por parte de la empresa, o bien con el desarrollo del proyecto nouveau. Por ahora nos quedaremos con lo que tenemos a mano.

Necesitaremos de testing los paquetes build-essential, module-assistant, kernel-package, nvidia-kernel-common, y de experimental los paquetes nvidia-glx y nvidia-kernel-source. A los primeros los podemos conseguir haciendo:

apt-get install build-essential module-assistant kernel-package nvidia-kernel-common

A los dos restantes podemos bajarlos directamente desde el repositorio. Los enlaces son nvidia-kernel-source y nvidia-glx. Noten que yo estoy descargando las versiones para arquitectura 386. Estos drivers también están para amd64 pero no sé qué tal andarán.

Para instalar los paquetes que descargamos recién, en una consola como usuario root, hacemos:

dpkg -i nvidia-*.deb

Probablemente nos harán falta los encabezados para la versión y arquitectura del kernel que estemos usando. En mi caso el paquete es linux-headers-2.6.17-2-k7, pero en el de ustedes puede variar. Si no saben que paquete instalar, hagan uname -r y lo que les salga es lo que va luego de linux-headers.

apt-get install linux-headers-2.6.17-2-k7

Bueno, la cosa ahora viene mas o menos así. Para crear el módulo del driver, lo cual es una tarea bastante tediosa, usaremos module-assistant, que hará todo el trabajo sucio por nosotros.

module-assistant auto-install nvidia-kernel

Este proceso compilará el módulo (lo que se pueda compilar) y lo dejará listo para utilizar.

3. Configuración del driver nVidia

Si todo salió como esperábamos, ahora podremos cambiar en el archivo /etc/X11/xorg.conf, la línea Driver "nv" por Driver "nvidia", y ya que estamos en el archivo de configuración de xorg, agregaremos algunas sentencias más al inicio:

Section "Extensions"
Option "Composite" "Enable"
EndSection

en Device Section:

Option "AllowGLXWithComposite" "True"
Option "XAANoOffscreenPixmaps" "true"

y en Screen Section:

Option "AddARGBGLXVisuals" "True"

Ahora podremos reiniciar el servidor X para verificar que todo ande de 10.

4. Instalación del paquete compiz

Sencillo:

apt-get install compiz

5. Añadir compiz al inicio de sesión gráfica

Todo lo anterior es suficiente para poder probar nuestro escritorio 3d. Iniciaremos sesión en Gnome como de costumbre, y en una consola invocaremos a compiz:

compiz --replace

Esto reemplazará el gestor de ventanas actual y tendremos a tiro todos los efectos sobre los que hablan nuestros amigos.

Para hacer efectivo el cambio en cada inicio de sesión hay miles de recetas. Una de ellas, para aquellos que usen Gnome pueden incluir el comando en gnome-session-properties. En el caso de que usen Xfce, habrá que añadirlo a xfce4-autostart-editor.

Bien, eso es todo por ahora, espero no haberme olvidado de nada y que les haya sido de utilidad.
Suerte...

Actualización (20-Mar-2007): He publicado una breve guía sobre Beryl, el fork GPL de Compiz, en este post.

1 comentario:

Pablo dijo...

Muchísimas gracias, por fin he podido instalar compiz en el Etch, despues de probar de mil maneras lo instalo gracias a ti de la forma mas sencilla