XGL en Ubuntu Edgy

jueves, 15 de febrero de 2007
Escrito por Neodian a las 9:00
Sin comentarios

Lo prometido es deuda y como ya dije hace unos dias iba a explicar este proceso y mas adelante explicare como instalar beryl. Lo cierto es que si buscais por internet vereis muchos hilos al repecto sin embargo esta version difiere un poco de las demas ya que resuelvo los problemas mas comunes que surge y me han surgido cuando yo realice este proceso en mi maquina. Asi que sin mas dilaciones vamos a ello.

Actualmente poseo una Ati Radeon 9550 con 256mb y me funciona perfectamente Beryl con muchos efectos que como el cubo, 3d world, quemado, lamparas y demas. Es decir que con esta tarjeta os va a funcionar todo a la perfeccion. Tambien es cierto que he leido en muchos sitios que con otras tarjetas anteriores funciona, por mi experiencia he conseguido que funcionase xgl en una nvidia gforce2 mx400 con 64 megas muy fluido usando compiz, asi que intuyo que las ati de esa gama deberian al menos funcionar bien.

1) Primero revisamos nuestro /etc/apt/sources.list y comprobamos que las siguientes lineas estan descomentadas (sin el #), en caso de que lo esten se lo quitamos, tienen que quedar asi:

deb http://security.ubuntu.com/ubuntu edgy-security main restricted
deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted

Ahora vamos a descargar e instalar el dirver propietario de ati desde los repositorios de ubuntu con un simple pero efectivo:

sudo apt-get update #->actualizamos los repositorios
sudo apt-get install linux-restricted-modules-$(uname -r) #->modulos necesarios
sudo apt-get install xorg-driver-fglrx #->descargamos el driver

2) Debemos revisar el fichero /etc/X11/xorg.conf y en el apartado que pone Section “Device” debeis sustituir el driver que aparece, probablemente ati por fglrx queda asi:

Section “Device”
Identifier “ATI Technologies, Inc. RV350 AS [Radeon 9600]”
Driver “fglrx”
BusID “PCI:1:0:0″
EndSection

Si aparece alguna opcion mas dejadla, y ya por ultimo añadir las siguientes lineas al final del todo, sin este paso la aceleracion 3d no funcionara y es posible que las X no arranquen asi que ojito.

Section “Extensions”
Option “Composite” “0″
EndSection

3) Ahora tendremos que reinciar(parece mentira, pero esta es una de las pocas veces que tendras que reiniciar un linux en tu vida) el ordenador para que se actualicen todos los cambios y si todo va bien deberias poder entrar en tu sesion. Ahora si abres una consola y ejecutas glxinfo|grep direct deberia salirte algo asi direct rendering: yes y si ejecutar glxgears -printfps deberian salirte una ventana con unas ruedas girando y deberias ver que se mueven fluidamente y no a trompicones y deberian salirte unos valores similares a estos o superiores:

8789 frames in 5.0 seconds = 1757.755 FPS
8885 frames in 5.0 seconds = 1776.985 FPS
8857 frames in 5.0 seconds = 1770.941 FPS
8893 frames in 5.0 seconds = 1778.508 FPS

Enhorabuena si has llegado hasta aqui ya tienes activada la aceleracion 3d en tu linux, ahora vamos a ver como arrancar una sesion de xgl.

4) Para ello vamos a crear un script que nos permitira arrancar una sesion de xgl, ya que xgl se ejecuta sobre el sevidor grafico habitual. Esto se hace desde la consola ejecutando sudo nano /usr/bin/gnomexgl.sh, y copiamos el siguiente script:

#!/bin/sh
Xgl -fullscreen :1 -ac -accel glx:pbuffer -accel xv:pbuffer &
sleep 2
export DISPLAY=:1
cookie=”$(xauth -i nextract – :0 | cut -d ‘ ‘ -f 9)” ## Resuelve el problema
xauth -i add :1 . “$cookie” ## de apagar y reiniciar
exec gnome-session

Si habeis visto algun que otro manual vereis que el script es ligeramente distinto sobre todo en las dos penultimas lineas. Pues bien estas sirven para solucionar un problema que surge al instalar xgl como sesion y es que no tiene comunicaion directa con gdm y por tanto no podemos ni apagar ni reiniciar el ordenador desde la sesion sino que tenemos que cerrarla primero y luego desde gdm apagar. Parece una tonteria de problema pero acaba crispando los nervios a uno, al añadir estas lineas no garantizamos que estas opciones si van a aparecer.

5) Despues crearemos otro fichero en /usr/share/xsessions/xgl.desktop mediante sudo nano /usr/share/xsessions/xgl.desktop y copiaremos lo siguiente:

[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Exec=/usr/bin/gnomexgl.sh
Icon=
Type=Application

6) Finalmente tenemos que dar permisos de ejecucion a los dos ficheros que acabamos de crear, eso lo hacemos mediante un sudo chmod +x /usr/bin/gnomexgl.sh y sudo chmod +x /usr/share/xsessions/xgl.desktop

Para terminar salimos de la sesion y reiniciamos el servidor grafico mediante ctrl+alt+borrar o vamos a otra consola y ejecutamos sudo /etc/init.d/gdm restart o si todo esto te parece muy extraño, simplemente reinicia.Cuando se cargue de nuevo gdm y si todo a ido bien deberias poder entrar en la nueva sesion que hemos creado y tendras ya listo y funcionando xgl.

Proximamente pondre como instalar beryl desde svn para tener la beryl siempre con los ultimos efectos graficos.

Solucion de problemas

A) Es normal que al ejecutar el glxgears -printfps dentro de la sesion de xgl las ruedas vayan mas lento o que mirando la informacion del glxinfo|grep direct en el apartdo direct renderingponga no.Esto se debe a que xgl esta usando la aceleracion pero no permite que otros programas accedan a ella, vease por ejemplo los videojuegos, razon demas para tener xgl como sesion en vez de sustituir nuestro servidor grafico normal, ya que de este modo podremos salir de la sesion de xgl e iniciar nuestra sesion gnome habitual donde si tenemos activado el direct rendering.

B) Un error bastante comun y por otro lado bastante desafortunado es que al activar el xgl gnome puede verse sin estilos, sin temas, sin iconos, no se a que se debe esto pero la solucion es muy sencillita, nada mas que tenemos que añadir en sistema->preferencias->sesiones en el apartado de programas al inicio gnome-settings-daemon y con esto tras salir de la sesion y volver a entrar veremos como gnome vuelve a lucir esplendido.

C) Tambien es posible que el teclado no funcione correctamente asi que vamos a ir a sistema->preferencias->teclado y revisamos que todo esta bien. Si aun asi podemos escribir bien, es decir teneis la “ñ” pero no podeis escribir simbolos como “|” entonces regresamos a las propiedades del teclado y en el apartado Opciones de distribucion donde pone selectores de tercer nivel marcamos la opcion Pulsar la tecla alt derecha para elegir tercer nivel. Con esto deberian estar resueltos todos nuestros problemas con el teclado.

D) Con algunas tarjetas ati de las series X00 es posible que no funcione del todo bien la aceleracion asi que si este es vuestro caso probad a añadir las siguientes lineas en vuestro /etc/X11/xorg.conf en la Section “Device” despues de lo del driver, deberia quedar asi:

Section “Device”
Identifier “ATI Technologies, Inc. RV350 AS [Radeon 9600]”
Driver “fglrx”
BusID “PCI:1:0:0″
Option “no_accel” “no”
Option “no_dri” “no”
Option “DynamicClocks” “on”
Option “mtrr” “on”
Option “DesktopSetup” “Single”
Option “ScreenOverlap” “0″
Option “Capabilities” “0×00000000″
Option “CapabilitiesEx” “0×00000000″
Option “VideoOverlay” “on”
Option “OpenGLOverlay” “off”
Option “CenterMode” “off”
Option “PseudoColorVisuals” “off”
Option “Stereo” “off”
Option “StereoSyncEnable” “1″
Option “FSAAEnable” “no”
Option “FSAAScale” “1″
Option “FSAADisableGamma” “no”
Option “FSAACustomizeMSPos” “no”
Option “FSAAMSPosX0″ “0.000000″
Option “FSAAMSPosY0″ “0.000000″
Option “FSAAMSPosX1″ “0.000000″
Option “FSAAMSPosY1″ “0.000000″
Option “FSAAMSPosX2″ “0.000000″
Option “FSAAMSPosY2″ “0.000000″
Option “FSAAMSPosX3″ “0.000000″
Option “FSAAMSPosY3″ “0.000000″
Option “FSAAMSPosX4″ “0.000000″
Option “FSAAMSPosY4″ “0.000000″
Option “FSAAMSPosX5″ “0.000000″
Option “FSAAMSPosY5″ “0.000000″
Option “UseFastTLS” “0″
Option “BlockSignalsOnLock” “on”
Option “UseInternalAGPGART” “no”
Option “ForceGenericCPU” “no”
Option “KernelModuleParm” “agplock=0″
Option “PowerState” “1″
EndSection

Si no termina de ir del todo bien podeis probar a ir quitando opciones o cambiar los valores hasta que encontreis uno que se adapte a vuestra tarjeta, pero en general deberia ir bien asi.

E) No podeis ni apagar ni reiniciar el ordenador desde la sesion de xgl, para solucionar esto debereis regresar al paso numero 4 y copiar el script que ahi aparece.

Sacado de:
fredcpp.wordpress.com/2006/06/02/instalar-xgl-en-ubuntu-606-lts/
fredcpp.wordpress.com/2006/10/26/si-es-posible-instalar-xgl-en-ubuntu-610-edgy-eft/
ubuntuforums.org/showthread.php?t=244662&page=3

Pertenece a la seccion Manuales





Comments are closed.