viernes, noviembre 09, 2007

Aceleración con ATI Radeon 9250 en Linux

Bueno como muchos he padecido al tratar de tener aceleración 3D en mi kubuntu con la tarjeta de video ATI Radeon 9250 PCI de 256 Mb.

No había encontrado como lograr mi cometido hasta ahora gracias a varias ideas encontradas en la red y en especial a un post, he aqui pues la solución que encontré:

Como muchos había tratado con X ó Y método que no me funcionó asi que entre otras cosas intenté bajandome a la version Xorg 7.1 (en mi Kubuntu Fesity Fawn viene la 7.2 por defecto), esto no me funcionó pero dejé de momento esa versión (el plan era instalar los drivers propietarios los cuales no me sirvieron).

Tambien intente como algunos lo habran hecho el instalar los drivers fglrx pero esos no sirven para esta tarjeta (en mi experiencia) así que me dí a la tarea de desisntalar todo lo referente a fglrx para tener bueno resultados.

Lo siguiente es tener en mente que vamos a usar los controladores libres (open source) de Radeon que es el que mejor se acomoda a esta tarjeta.

Son varias tarjetas las soportadas por este driver y se detallan en el vinculo siguiente:

http://dri.freedesktop.org/wiki/ATI?highlight=%28CategoryHar dwareVendor%29

Hay que instalar pues el controlador libre mediante los paquetes "xserver-xorg-video-ati", "libgl1-mesa-dri" y "libgl1-mesa-glx" es decir damos un:

$ sudo aptitude install xserver-xorg-video-ati libgl1-mesa-dri libgl1-mesa-glx

El siguiente paso es configurar el archivo xorg.conf para que haga funcionar la tarjeta adecuadamente.

Antes que nada haz un respaldo de tu xorg.conf

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

Bueno, continuemos, en mi caso uso el editor de textos kate asi que seria el comando

$ sudo kate /etc/X11/xorg.conf

Habrá que agregar opciones, modulos y demás:

En la sección "Server Layout" añadimos la opcion "AIGLX" con el valor "true" y deberá quedar algo así:

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen" 0 0
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
Option "AIGLX" "true"
EndSection


La sección "Module" deberá quedar así:

Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "dbe"
Load "GLcore"
Load "extmod"
Load "freetype"
Load "glx"
Load "xtrap"
Load "vbe"
Load "int10"
Load "record"
Load "vbe"
Load "ati"
EndSection

En esta sección tal vez ya tengas algunos módulos, pero así es como he logrado que funcione, si algo sale mal referente a este paso, se puede ir quitando algunos como GLcore, record o freetype.

El siguiente paso es con la seccion "Device" que es la más importante pues es todo lo referente a nuestra tarjeta y lo que nos dará o no la aceleración gráfica (si fallas es probable que no inicie el servidor X. Esta es la configuración es la que me funcionó, así que de igual manera si no funciona es quitar o poner opciones.

Para los que tengan la tarjeta en su version para puerto AGP es algo como esto:

Section "Device"
identifier "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
boardname "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
busid "PCI:0:11:0"
driver "radeon"
screen 0
VideoRam 256000
Option "UseFBDev" "true"
Option "XAANoOffscreenPixmaps" "True"
Option "AddARGBGLXVisuals" "True"
Option "DRI" "true"
Option "AGPMode" "8"
Option "AGPFastWrite" "1"
Option "GARTSize" "64"
Option "EnablePageFlip" "64"
Option "ColorTiling" "1"
Option "AccelMethod" "XXA"
EndSection

Para los que tenan la tarjeta en su version para puerto PCI es algo como esto:

Section "Device"
identifier "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
boardname "ATI Technologies Inc RV280 [Radeon 9200 PRO]"
busid "PCI:0:11:0"
driver "radeon"
screen 0
VideoRam 256000
Option "UseFBDev" "true"
Option "XAANoOffscreenPixmaps" "True"
Option "AddARGBGLXVisuals" "True"
Option "DRI" "true"
Option "GARTSize" "64"
Option "EnablePageFlip" "64"
Option "ColorTiling" "1"
Option "AccelMethod" "XXA"
EndSection

NOTAS IMPORTANTES: No modificar la linea "identifier", "boardname" ni "busid", solo añade las opciones en negrita y ve que el controlador sea "ati" o "radeon". Sí modificas las dos primeras, entonces en la sección "Screen" debes poner idénticamente tal y como nombraste a tu "Device" en caso que hayas querido modificarlo.
En la parte de "VideoRam" se pone 256000 porque en mi caso tengo 256 mb de memoria en mi Radeon, pero puedes tener 128 mb asi que pondrias 128000.

En la sección "Screen" solo modificar si te has decidido cambiar el nombre del "Device" (no tiene caso pero bueno yo lo hice jeje).

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies Inc RV280 [Radeon 9200 PRO]" #COMO EN EL "IDENTIFIER" DE TU SECCION DEVICE
Monitor "Monitor genérico" #COMO EN EL "IDENTIFIER" DE TU SECCION MONITOR
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection



El siguiente paso es añadir esto al final:

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

Section "DRI"
Mode 0666
EndSection


Teniendo Composite como habilitado (enable), se podran observar transparencias y sombras.

Lo siguiente es guardar y cerrar nuestro archivo y reiniciar el servidor X con un "Ctrl+Alt+Backspace" o cerrar sesion y estando en KDM o GDM presionando "Alt+E"

Bueno si no pasó nada malo e inició el servdor X hay que iniciar sesion y en una terminal (teniendo instalado previamente el paquete mesa-utils) hay que dar el siguiente comando para comprobar si hay aceleración:

$ glxinfo

Si en las primeras lineas donde dice "direct rendering:" te da un "Yes" ¡¡¡FELICIDADES ya tienes aceleracion 3D!!!

Con el siguiente comando podrás ver los engranes corriendo a una velocidad decente entonces:

$ glxgears

NOTA: En caso que hayas tenido un error y no te inicie el servidor X no hay problema, seguro se queda tu pantalla en negro, en ese caso con "Ctrl+Alt+F4" tendras lugar a loguearte en modo texto, ahora a restaurar nuestra copia de seguridad de xorg.conf:

$ sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf

y luego:

$ startx

y a ver que fue lo que pasó.

Crédito a: huguinhosolari
por su post http://www.espaciolinux.com/foros-tema-t32356.html que fue el que completó el milagro.

Gracias.

7 comentarios:

caligulaelsanto web dijo...

bueno ante agradesco tu manual
yo tengo la misma tarjeta que vos incluso de 256
la pregunta es
tengo 3d y compiz funcionado bien
como se que esatoy usando 256 mb reales?

te paso mi xorg,algunos datos los puse de este tuto

Section "Device"
BoardName "RV280 5960"
BusID "1:0:0"
Driver "radeon"
Identifier "Device[0]"
Option "GARTSize" "64"
Screen 0
VideoRam 256000
VendorName "ATI"
Option "XAANoOffscreenPixmaps" "True"
Option "AddARGBGLXVisuals" "True"
Option "DRI" "true"
Option "EnablePageFlip" "64"
Option "ColorTiling" "1"
EndSection


Section "Module"
Load "dbe"
Load "type1"
Load "freetype"
Load "extmod"
Load "glx"
Load "dri"

tal cual esta funciona compiz sin errore
se puede mejorar??

gracias
sergio

kRoNbUs dijo...

Hola, gracias por tu comentario, con respecto a la RAM usará hasta los 256MB que tienes, por eso no tienes que preocuparte. Con respecto a si se puede mejorar, yo lo intenté y obtuve algunos fallos en el rendimiento o se caian las X, yo te recomendaría utilizar como está la configuración ya que te dará la estabilidad y rendimiento necesarios para no preocuparte más por eso.

Sí en algún momento llegas a notar algo como parpadeos en la pantalla lo que te puede ayudar es ver que tengas la siguiente configuracion:

Section "Extensions"
Option “RENDER” “0″
EndSection

Actualmente estoy utilizando la tarjeta con un Kubuntu 7.10, con ésta versión me da el 3D por defecto, con algunas opciones que usaba cuando hice el post no funciona bien, siempre puedes modificar algunas cosas y ver como te funciona, pero por experiencia propia con las ATI, es mejor cuando te da el 3D y tienes un rendimiento aceptable es dejar así la configuración.

Una opción aventurada sería usar:

Option “AccelMethod” “EXA” en vez de:
Option “AccelMethod” “XXA”

Aunque no lo recomiendo, para que veas mas a fondo las configuraciones te puedo recomendar: http://nadock.wordpress.com/2007/08/08/como-optimizar-el-rendimiento-de-una-ati-radeon-92009250-en-ubuntu-gnulinux/

Saludos

caligulaelsanto web dijo...

bueno gracias por responder
efectivamente ,funciona tal cual esta
el unico detalle es que al girar cubo se pierde la imagen del video en reproduccion por ejemplo kafeine
de todos modos una trivialidad

gracias de nuevo

kRoNbUs dijo...

Si es una trivialidad mas o menos pero es molesto, cuando usas Kaffeine o Totem con Xine, esto es lo que tienes que hacer.

Ejecuta Xine
Archivo -> Configuración -> Preferencias
En experience_level selecciona “Master of the Known Universe” para que todas las opciones esten visibles
seleccionas Video y en el driver elige “xshm” luego reinicia Xine

Para reproducir videos te recomiendo bajarte el Mplayer y usar como interfaz el KMplayer

Saludos

kRoNbUs dijo...

Por cierto si al usar Mplayer te pasa en MPlayer con clic derecho en la pantalla te vas a Preferencias y luego seleccionas Video, en el driver selecionas X11 (XImage/Shm) guardas los cambios y reinicias el Mplayer

caligulaelsanto web dijo...

muchas gracias
probare y posteare

caligulaelsanto web dijo...

solo agregar como para seguir con la utilidad de este hilo.
que las mismas configuraciones son validas
segun este hilo para la nueva suse 11 que estoy testeando
por si algun lector le sirve


saludos