El Codiguero
Programando para la wé

Avatar de alvlin Publicado por alvlin, el 23/12/2007
Categorías: Linux

Compiz en Slackware, o con tarjetas nVIDIA

Hace un par de días finalmente instalé Slackware 12 en mi computadora.
Fue una gran sorpresa ver que incluye Compiz, no lo sabía pero en cuanto lo supe me dispuse a hacerlo funcionar.

Lo primero que encontré fue este comando:

compiz –replace decoration wobbly fade minimize cube move place resize rotate scale switcher water zoom kde-window-decorator &

Se supone que debía funcionar. Pero, como siempre jeje no funcionó.

El error que me daba era
Fatal: No GLXFBConfig for default depth, this isn't going to work.

Bien, una forma interesante de empezar…
El mensaje menciona la default depth, o sea la profundidad de colores configurada. Leyendo encontré que el mínimo para que Compiz pueda funcionar es 24 BPP. Eso me llevó a querer buscar en el archivo xorg.conf, pero no tuve éxito.

Mirando los registros de X.org (/var/log/X11/Xorg.0.log) vi que no se estaba cargando DRI. La salida de
cat /var/log/Xorg.0.log | grep -i dri
mostraba errores al habilitar el módulo DRI.

Hice todas las modificaciones al archivo de configuración que leía en los blogs, habilitar algunas cosas, deshabilitar otras. Pero seguía sin funcionar.

glxinfo | grep -i direct
me mostraba que direct rendering estaba deshabilitado.

Ya habiendo agotado todas las opciones, se me ocurrió leer el archivo LEAME que acompaña al controlador de nVIDIA.

Los pasos indicados en este archivo son los siguientes:

  1. Cambiar la línea Driver para que indique Driver "nvidia"
  2. Eliminar las líneas
    Load "dri" Load GLCore"
  3. En la sección Modules, agregar (si no está) la línea:
    Load "glx"

Genial, esos pasos estaban hechos desde mucho antes. Pero seguía sin poder usar Compiz.
Aunque el problema estaba identificado: en el archivo puede leerse que el módulo de DRI que se carga debe ser el de nVIDIA, no el de Xorg. Mi sistema estaba cargando el módulo de Xorg, sin importar qué modificaciones hiciera al archivo xorg.conf.

Seguí leyendo el README. Más adelante (en el Apéndice C), pude leer lo siguiente (traducción libre, como siempre ;-) ):

Habrá problemas si las aplicaciones usan una versión incorrecta de una biblioteca. Este puede ser el caso si quedan bibliotecas libGL viejas o enlaces simbólicos rotos. Si crees que puede haber algo extraño en tu instalación, asegúrate de que los siguientes archivos están en su lugar

Y a continuación se detalla cuáles son los archivos importantes:

/usr/X11R6/lib/modules/drivers/nvidia_drv.so
/usr/X11R6/lib/modules/extensions/libglx.so.x.y.z
/usr/X11R6/lib/modules/extensions/libglx.so -> libglx.so.x.y.z
(podrían estar también en /usr/lib/modules o /usr/lib/xorg/modules)
/usr/lib/libGL.so.x.y.z
/usr/lib/libGL.so.x -> libGL.so.x.y.z
/usr/lib/libGL.so -> libGL.so.x
/usr/lib/libGLcore.so.x.y.z
/usr/lib/libGLcore.so.x -> libGLcore.so.x.y.z
/lib/modules/`uname -r`/video/nvidia.o, or
/lib/modules/`uname -r`/kernel/drivers/video/nvidia.o

La situación en mi sistema era simple: en las carpetas estaban las bibliotecas de Xorg y también las de nVIDIA, sin embargo los enlaces simbólicos apuntaban a las de Xorg.
Tuve que recrear los enlaces simbólicos y reiniciar X. Compiz se inició sin problemas luego de esto.

Sí, hay muchísimos blogs que explican este proceso, pero en mi caso ninguno de ellos me sirvió porque es el controlador de nvidia el que no está haciendo los cambios necesarios, quizás en otros sistemas sí los hace, al menos en mi Slackware 12 no los hizo.

Una vez que se sabe qué hay que cambiar, hacerlo es sumamente sencillo, y como siempre uno se queda preguntando por qué perdió tanto tiempo en algo tan simple…

  • Digg
  • del.icio.us
  • Meneame
  • Reddit
  • Technorati
  • StumbleUpon
  • Facebook
  • LinkedIn

» Dejá una respuesta



Todo el contenido de este sitio está bajo una licencia de Creative Commons.

Campaña AnyBrowser | XHTML 1.0 Válido | CSS 2 Válido | WAI A

Diseño creado por alvlin. Sitio basado en WordPress