neu: Xgl unter Debian.
El domingo conseguí hacer funcionar el servidor gráfico Xgl en mi Debian Testing. Lo logré ensuciando un poco el sistema, ya que aún no existe un paquete compilado para esta distribución, y tuve que usar binarios de otras distribuciones. ¡Pero el caso es que lo conseguí, y además es estable!
En principio no había pensado hacer una guía y no me apunté todos los pasos que seguí. Pero algunos amigos me han convencido para que escriba una ayuda, así que si veis que me he saltado algún paso avisarme y actualizaré la guía.
Preámbulos
A continuación os invito a ver las siguientes direcciones donde se muestran estos efectos:
- El vídeo más completo de Xgl que he visto
- Otro vídeo muy completo.
- Vídeo 1
- Vídeo 2
- Vídeo 3
- Vídeo 4
- Imágenes
- Más imágenes
Para generar estos efectos se usa la CPU de la tarjeta gráfica así que se recomienda una gráfica decente y preferiblemente Nvidia ya que tiene mejores drivers en Linux. Yo dispongo de una Geforce 6600GT y los gráficos funcionan bien sin consumir casi CPU principal.
Instalación
Pues lo primero que debemos hacer es bajarnos los RPM’s de xgl, compiz, libsvg y libsvg-cairo desde esta página: http://en.opensuse.org/Xgl http://en.opensuse.org/Using_Xgl_on_SUSE_Linux
Una vez que tenemos los RPM’s citados abrimos una consola de texto en nuestra Debian y tecleamos:
wunslov@debian:~$ su Password: debian:/home/wunslov# apt-get install alien ...... debian:/home/wunslov# alien xgl*.rpm compiz*.rpm libsvg*.rpm ......
Y obtendremos sendos .deb listos para instalar:
debian:/home/wunslov# dpkg -i xgl*deb compiz*.deb libsvg*.deb
Ahora tendremos el servidor Xgl y el gestor de ventanas Compiz listo en nuestro sistema pero aún nos quedarán instalar las dependencias:
debian:/home/wunslov# apt-get install libdrm2 libpng3 libxdamage1 libxcomposite1
Por último, y no menos importante, toca hacer el hack que ensuciará un poco el sistema. Instalaremos las librerías glitz, libfontenc y libxfont1 que como no están en el repositorio de Debian las he cogido a Ubuntu y las he comprimido en un fichero. Primero bajároslo y:
debian:/home/wunslov# cd /usr/lib debian:/home/wunslov# tar xfvz (ruta donde hemos guardado el fichero)/xgl-libs.tgz
Con esto ya tendremos todo lo necesario para arrancar el servidor gráfico. Si queremos probarlo, escribir el siguiente script con vuestro editor favorito:
#!/bin/bash Xgl -accel glx:pbuffer -accel xv:fbo:1 & sleep 5 ; DISPLAY=:1 gnome-session & sleep 30 ; DISPLAY=:1 compiz --replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu & DISPLAY=:1 gnome-window-decorator
Y luego desde el modo texto, fuera del modo gráfico y con root:
debian:/home/wunslov# /etc/init.d/gdm stop debian:/home/wunslov# sh (script que hemos creado)
Y os debería aparecer el entorno gráfico y después de unos 30 minutos tendríais las animaciones activadas.
Si no carga, escribirme un comentario porque seguramente haya olvidado algún paso :_(
Configuración
Para cargar automáticamente el servidor Xgl al hacer el login, lo tenemos muy pero que muy fácil; tan sólo necesitaremos entrar en un terminal de texto e introducir lo siguiente:
wunslov@debian:~$ su Password: debian:/home/wunslov# mv /etc/X11/X /etc/X11/X.old debian:/home/wunslov# ln -s /usr/X11R6/bin/Xgl /etc/X11/X
Con esto cargaremos el servidor Xgl siempre, ahora si queremos activar los efectos gráficos accederemos con nuestro usuario a Escritorio->Preferencia->Sesiones, y en Programas al inicio añadimos: “compiz –replace decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher” con prioridad 80, “gnome-window-decorator” con 90 y “xmodmap /usr/share/xmodmap/xmodmap.es” con 99 para cargar el teclado español.
NOTA: en compiz también se puede cargar al principio el módulo gconf para modificar los valores por defecto de las animaciones, pero a mi no me funciona así que no lo cargo, vosotros podéis probarlo de las dos formas.
Las combinaciones de teclas las podéis encontrar en: http://en.opensuse.org/Compiz
Problemas
He detectado algunos problemas:
El teclado sólo funciona con el modo de 101 teclas, no se si es debido a que la versión compilada de Xgl sólo esté configurada para los teclados ingleses.
El servidor gráfico no funciona con las aplicaciones OpenGL, como por ejemplo los protectores de pantalla (a mi se me reinicia cada vez que intenta cargar alguno), así que desactivarlos o desinatalarlos: dpkg –remove xscreensaver-gl.
La guía puede ser incompleta, si se me ha olvidado algo comentármelo y haré memoria.
NOTA: he considerado que hay está gnome instalado pero también funciona con KDE.
Actualización 23/02/2006: Las páginas de openSUSE han cambiado y tienen nuevas versiones de compiz y xgl. Parece que han solucionado el problema del teclado y ¡ya funcionan las 105 teclas y el OpenGL!. También ha mejorado el rendimiento, ahora las ventanas se arrastran con mayor suavidad, como se muestra en los vídeos.
Actualización 23/02/2006: Os recomiendo ver el siguiente vídeo. Por cierto, estoy impresionado la cantidad de visitas que estoy recibiendo, espero serviros de ayuda 🙂
Actualización 26/02/2006: Para que funcionen algunos efectos se requiere también la librería libpng3: apt-get install libpng3. Si tenéis algún problema ejecutar el comando: ldd /usr/lib/compiz/libcube.so (o con el módulo que os da problemas) e instalar las librerías que aparecen con el texto “not found”.
Actualización 02/03/2006: Hay nuevas versiones de Xgl y Compiz en el wiki de opensuse, y he modificado algunas partes del documento para solucionar los problemas que he encontrado al instalarlo en el portátil. Para que funcione el teclado español ejecutar el comando: “xmodmap /usr/share/xmodmap/xmodmap.es” con prioridad 99 en gnome-session (obtenido de esta otra guía).
Actualización 25/03/2006: Sonique ha creado una guía en inglés basándonse en esta: How To Install XGL on Debian Etch by sonique.
Actualización 02/04/2006: He encontrado una traducción en alemán de esta guía: Xgl unter Debian.
Actualización 13/08/2006: Después de muchos intentos, por fín he conseguido configurar XGL en Ubuntu Dapper con una NVIDIA.