02 noviembre 2006

Más Xubuntu. Aceleración 3D con Tnt2

Aunque sea una experiencia con Xubuntu, es extensible a Ubuntu (con más memoria podría hacerse con Ubuntu), puesto que la base es la misma.

He podido experimentar con un Pentium3 450, misma memoria pero componentes de más calidad. He usado el mismo disco duro en el que instalé Xubuntu en el P3 800.

Dificultades extrapolables a otros casos:
1.- No arranca. Bueno, realmente no llegó a pasar porque ya sabía que había un problema: el cambio de puerto del disco duro. Lo tenía enchufado en una tarjeta raid al instalar xubuntu en el otro equipo, llamándose hde, y aquí iba a estar conectado a la controladora principal, también configurado como maestro, por tanto hda. Solución: Normalmente sería usar un disco de rescate y modificar el archivo /boot/grub/menu.lst pero puesto que esto es sólo un experimento rápido y no quiero modificar nada, cambiaré la orden de arranque sólo para este arranque. Para ello, en el menú de arranque se pulsa "e" (editar), se elige la linea del grub que pone la partición que se monta como / y se vuelve a pulsar "e" para editar esa linea, se modifica lo que se quiera (en este caso cambiar la e por la a), intro para aceptar los cambios y luego "b" para arrancar. En versiones anteriores a edgy luego habría que modificar necesariamente el /etc/fstab, porque no encontraría las particiones que hay que montar, pero ahora ha cambiado la referencia a discos y se usa un identificador único, con lo que ya no hay que tocar nada más. Un gran adelanto que me pilló por sorpresa.

2.- No arrancan las X, es decir, no arranca el servidor gráfico (el Xserver), mostrando la típica pantalla de error, es decir, sólo puede usarse la consola hasta que se corrija el fallo. Habría que mirar el archivo /var/log/Xorg.0.log para saber que pasa. Pero está claro lo que pasa: la tarjeta gráfica es distinta a la configurada: una nvidia TNT2 ultra, bastante mejor que la 810e. Solución: La normal para estos casos, sudo dpkg-reconfigure xserver-xorg y elegir el controlador adecuado, en este caso nv. Esto guarda copia de seguridad del fichero anterior, así que no pierdo nada en el experimento.

Puesto que tenía un poco más de tiempo sin temor a que me mataran por llegar tarde, llevé más allá el experimento, e intenté otra vez probar beryl. No lo conseguí porque parece ser que beryl definitivamente se lleva mal con el escritorio xfce. De todas formas ahí va lo que hice.
Configurar la aceleración 3D en una TnT2.
Para ello, necesitaba el controlador propietario de nvidia. En la última versión, nVidia ha separado su controlador en la categoría "nuevos" y "legados". Como la TnT2 ya tiene sus años, entra en la categoría de legado, y más teniendo en cuenta que lo tengo "legado", bueno, prestado para la prueba. Por tanto, hay que instalar el nvidia-glx-legacy. Está en los repositorios, no tiene mayor problema. Pero aún así, no es tan fácil tener aceleración 3D como con las nuevas. Tiene sus problemas. Encontré que hay que ejecutar esto:

nvidia-glx-config enable
Tras reiniciar las X (control+alt+retroceso, recomendable hacerlo tras salir de la sesión) ver el logo de nVidia y entrar en la sesion, ejecuté glxinfo y seguía sin aceleración (direct rendering: No). Edité el /etc/X11/Xorg.conf y seguía puesto el nv. Hay que cambiar el controlador por nvidia. Luego tuve que ir mirando la salida de error (recordemos, /var/log/Xorg.0.log) para ir buscando y ajustando las opciones necesarias. Con edgy está activada la composición por defecto, así que el problema viene de ahí. La solución directa es añadir al final del archivo:
Section "Extensions"
Option "Composite" "Disable"
EndSection

Y al principio del archivo (en Section "Module") no tiene que cargarse glcore:
# Load "GLcore"

Leí por ahí algo de comentar también la linea:
# Load "dri"

pero creo que al final la dejé sin # y era como funcionaba. Yo quería probar beryl, por tanto, necesitaba composición. Había que añadir, bajo el controlador, la opción AllowGLXWithComposite true. Y marchando. También puede añadirse: Option "RenderAccel" "true" pero parece que es experimental, y no se si realmente sirve para algo. Fue una prueba rápida y ya ha vuelto todo a su sitio de origen.

No hay comentarios: