Aceleración 3D de ATI en Linux

Aprovechando que reinstalé el sistema por motivos de ocio, explicaré como obtengo aceleración 3D en Linux con una tarjeta de video ATI All in Wonder Radeon 7200 (aunque también debe ser válido para otros modelos).

Como los controladores propietarios de ATI para Linux no me sirven (es válido a partir de la serie 8500), debo confiar la tarea a mi servidor X junto a los controladores libres. Suponiendo que si llegaste aqui por la aceleración de tu ATI, ya tienes tu X server funcionando con tu gestor de ventanas sin problemas. De lo contrario, debes instalar los paquetes precompilados para tu distribución.

Bueno antes que nada, quiero mostrar como era el rendimiento 3D antes y después del tratamiento realizado al X Window. Para saber si tenemos aceleración 3D por hardware, ejecutamos el siguiente comando: (ojo, haré todo el proceso como superusuario)

glxinfo

Con eso, deberíamos tener un listado con el resultado en el cual nos interesa el principio, en donde dice «direct rendering».

no-drendering.png

En este caso dice «No», o sea, no tenemos aceleración gráfica por hardware. Luego, para probar a ver que tal anda el renderizado indirecto ejecutamos el comando de los «engranajes».

glxgears

Y deberíamos visualizar algo como esto

gears01.png

Y vemos como el promedio de cuadros por segundo es de 180. Debo decir que al correr glxgears el porcentaje de uso de CPU subió a 100%. Claro, el renderizado es por software.

Bien, ahora comienza la labor. Para comenzar la odisea al mundo 3D, debemos probablemente recompilar el kernel Linux. En la configuración del núcleo linux desactivé todos los drivers de ATI, para trabajar sólo con los de Xorg. Luego editas el archivo de configuración de Xorg con el editor de texto que prefieras. En modo consola podría ser:

nano /etc/X11/xorg.conf

Busca el siguiente fragmento de texto y quita el signo # enfrente de las palabras Load (si los hay) para que queden como sigue:

# This loads the GLX module
Load       "glx"
# This loads the DRI module
Load       "dri"

Así cargaremos los módulos GLX y DRI al arrancar el X Server. Guarda los cambios y cierra el archivo. Te aconsejo que, cuando modifiques archivos de configuración, lo hagas de a poco para así hacer un mejor depurado de posibles errores que puedan causar una mala configuración. Reiniciamos el X Server con Ctrl+Alt+Backspace. Al ejecutar nuevamente el comando glxinfo, obtemos:

Lee  Cómo grabar imágenes ISO, IMG, ZIP y más en memorias USB
si-drendering.png

Ahora «direct rendering» dice SÍ, eso, 3D por hardware. Pero hay que probar a ver si funciona. De nuevo el comando de los engranajes:

glxgears
gears02.png

Y vemos como el promedio aumentó hasta 645 aprox. y el uso de CPU cayó a 15%, lo normal en éste AMD Athlon. Bueno, si te ha resultado igual que a mí, entonces ya tienes gráficos acelerados gracias a tu ATI. Pero ¿Se puede exprimir un poco más? Bueno, consegui afinar un poco más el rendimiento de ésta ATI editando nuevamente el xorg.conf, y buscando el siguiente fragmento de texto:

Section "Device"    Identifier  "** ATI Radeon (generic) [radeon]"
 Driver      "radeon"
 VideoRam    32768
 # Insert Clocks lines here if appropriate
EndSection

Por defecto, ésta configuración fija el ancho de banda AGP en 1x. Eso lo puedes ver en toda la información que te dá glxinfo.
En esta placa madre (Asus) se permite AGP hasta 4x y mi ATI también. Entonces agregué una linea debajo de «VideoRam», así:

Section "Device"
 Identifier  "** ATI Radeon (generic)[radeon]"
 Driver      "radeon"
 VideoRam    32768
 Option "AGPMode" "4"
 #Insert Clocks lines here if appropriate
EndSection

Recuerda que tu xorg.conf puede variar dependiendo de tu sistema en general. Reemplaza el número 4 por el ancho de banda del AGP de la tarjeta de video que corresponda en tu caso. Con ese detalle en el xorg.conf, gané cerca de 100 cuadros por segundo. Ahora son cerca de 740FPS:

gears03.png

E hice un segundo truco, aunque más despreciable en cuanto a rendimiento. En xorgconfig, al final de todo el texto encontrarás:

#Section "DRI"
 #Mode 0666
#EndSection

Sólo debes quitar los signos #. En mi caso gané cerca de 10 FPS.
Eso sería todo. En mi caso, queda pendiente el soporte a TV-Out y TV-In. Estos están soportados por los drivers del proyecto GATOS.

3 comentarios sobre «Aceleración 3D de ATI en Linux»

  1. tengo una ati 4350HD consegui ponerle el driver propietario en debian pero en ubuntu no uvo manera

  2. Hola,
    Sé que esta tarjeta es vieja y la informacion ya esta desactualizada, pero esos cuadros por segundo que lograste son mucho mayores de los que yo consegí, podrias volver a subir un post para Debian Wheezy ya que con la desaparicion del xorg.conf no he logrado optimizar mi tarjeta tanto como tu lo hiciste.
    Gracias

Los comentarios están cerrados.