Gráficas ATI en Debian

Índice

1. Introducción

1.1. Un poco de historia
1.2. ¿Cuáles son las opciones para usar una tarjeta ATI en GNU/Linux?
1.3. ¿Qué driver utilizar?

2. Instalación

2.1. Driver libre "ati"
2.2. Driver libre "radeonhd"
2.3. Driver privativo "fglrx"
2.3.1. Requisitos previos
2.3.2. Creación e instalación de los paquetes
2.3.3. Creación del módulo

3. Configuración del Xorg

3.1. De forma automática
3.1.1. Lenny
3.1.2. Squeeze/sid
3.1.3. Utilizando el driver propietario.
3.2. De forma manual
3.2.1. Consideraciones previas.
3.2.2. En Debian stable (Debian 5.0 "lenny")
3.2.3. En Debian testing (squeeze)
3.3. Comprobar el éxito
3.4. Afinar el driver

4. Desinstalación

5. Oldstables

5.1. Debian 4.0 "etch"

6. Caracteristicas especiales.

6.1. KMS

7. Problemas comunes

7.1 Con el driver libre





1. Introducción

1.1. Un poco de historia:

ATI es uno de los grandes fabricantes de hardware gráfico, ha estado peleando por el liderazgo con NVIDIA durante años hasta que después de una bajada en las ventas fue comprada por AMD.

Su relación con el software libre siempre ha sido un poco ambigua, no tan amigable como Intel o Matrox pero más que NVIDIA, su primer movimiento importante fue la liberación bajo una NDA de las especificaciones hasta las Radeon 9250. Después de este movimiento, ATI se olvidó del software libre y el desarrollo de su driver propietario dejó mucho que desear; los drivers "fglrx" eran sensiblemente peores que los propietarios de NVIDIA y no tenían visos de mejorar. Pero todo cambió con la compra de la compañía por AMD; primero anunciaron una mejora sensible de su driver propietario, que fue mejorando poco a poco hasta que en septiembre de 2007 AMD liberó las especificaciones para los chipsets R500 o superior.

En este momento, ATI ha anunciado una equiparación de los drivers para todos los sistemas en cuanto al lanzamiento de drivers para sus nuevos dispositivos, mientras tanto, Novell se está encargando de desarrollar juntamente con la comunidad el driver libre "ati" utilizando las especificaciones donadas por AMD, este desarrollo avanza a buen ritmo y se espera que en un relativo corto tiempo sea completamente usable.

En un principio los esfuerzos por crear un driver libre con las especificaciones donadas por AMD se dividieron en dos, el driver "radeonhd" y el existente "ati", después de un tiempo y no sin polémica el driver "radeonhd" se ha dejado de lado y todos los esfuerzos se han centrado en mejorar el driver existente

1.2. ¿Cuáles son las opciones para usar una tarjeta ATI en GNU/Linux?

Ahora mismo en GNU/Linux existen tanto drivers libres como propietarios, pero algunas tarjetas (sobre todo las más modernas) no disfrutan de aceleración 3D con el driver libre actual "ati", aunque después de la liberación de especificaciones el driver libre ha pegado un gran salto cualitativo y gestiona una gran mayoría de tarjetas completamente.

1.3. ¿Qué driver utilizar?

Si no vas a tener que utilizar las capacidades 3D de tu tarjeta es recomendable usar el driver libre "ati" para todos los chipsets; tendrás 2D en todos y 3D en una gran mayoría, para ver si tu tarjeta esta soportada y en que nivel por este driver puedes visitar su wiki oficial.

Si tienes problemas con los driver libres pues no tendrás otro remedio que usar el driver propietario "fglrx".

También se ha de tener en cuenta en que rama de debian nos encontramos si queremos aprovechar las capacidades 3D:

  • lenny. Utilizaremos el driver libre "ati" en las tajetas R400 y anteriores, para el resto usaremos el driver propietario "fglrx".
  • squeeze/sid. Utilizaremos el driver libre "ati" para todas las tarjetas inferiores a las R600 y para las R600 y R700 si deseamos usar este, ya que las soporta plenamente. Usaremos el driver propietario "fglrx" para las tarjetas Evergreen o, de forma opcional, para las R600 y R700, siempre usaremos un versión 10.4 o superior ya que las más antiguas no soportan la versión del xorg actual en esta rama.

Nota:
- Para saber qué chipset corresponde a tu modelo de tarjeta gráfica, puedes consultar la siguiente tabla:
http://en.wikipedia.org/wiki/Radeon#ATI_Radeon_Processor_Generations

- Si no estas seguro todavía de qué tarjeta es la tuya, puedes ejecutar el comando lspci que te dará una salida indicando el modelo de tu tarjeta:

$ lspci | grep VGA

01:00.0 VGA compatible controller: ATI Technologies Inc RV630 [Radeon HD 2600 Series]

* La tarjeta del ejemplo sería una ATI Radeon HD 2600 con el chipset RV630

2. Instalación:

2.1. Driver libre "ati":

El driver libre "ati" viene incluido en todas las ramas de Debian y soporta muchos modelos: todas las tarjetas ATI basadas en los chipsets Mach64, Rage 128, R100, R200, R300, R400, R500, R600 y R700 con soporte total incluido aceleración 3D por hardware (esto depende en gran medida de la versión del driver).

Las versiones del driver en debian son estas:

  • lenny. Tenemos la vesión 6.9.0 que da soporte completo para todas las tarjetas R400 e inferiores. Para el resto solo da caracteristicas 2D.
  • squeeze. Aqui tenemos la versión 6.12.6 que da soporte completo para todos los chipsets excepto los evergreen.

Este driver consta de cuatro paquetes principales:

  • xserver-xorg-video-radeon (radeon).
    - Soporte 2D/3D para los chipsets R100, R200, R300, R400, R500, R600 y R700.
    - Soporte 2D para los evergreen.
  • xserver-xorg-video-mach64 (mach64).
    - Soporte para las tarjetas basadas en el chipset Mach64.
  • xserver-xorg-video-r128 (r128).
    - Soporte para las tarjetas basadas en el chipset Rage 128.
  • xserver-xorg-video-ati (ati).
    - Este es un paquete especial que se encarga de descubrir que hardware poseemos y cargar el driver correcto.

La instalación de este driver es realmente sencilla, sólo debemos instalar el paquete necesario con nuestro gestor de paquetes preferido. Típicamente se instala el "xserver-xorg-video-ati" que tiene como dependencias los otros tres, pero si conocemos cuál es el paquete que da soporte a nuestra tarjeta y no queremos instalarlos todos, sólo es necesario instalar este.

Para mayor seguridad, si queremos utilizar la aceleración 3D es conveniente instalar, además del paquete del driver, también estos otros paquetes que proveen de los módulos necesarios para esta función:

  • libgl1-mesa-dri
  • libgl1-mesa-glx

Además si estamos usando un kernel 2.6.32 o superior necesitaremos instalar los paquetes de firmware para obtener aceleración, evidentemente tendremos que tener activos los repositorios non-free:

  • firmware-linux-nonfree

Antes de instalar un nuevo driver, es aconsejable limpiar nuestro sistema de cualquier rastro existente de drivers anteriormente instalados. Para desinstalarlos podemos acudir a la sección correspondiente de esta página, aquí.

Ahora procedemos a instalar los paquetes necesarios con nuestro gestor de paquetes preferido, por ejemplo con aptitude:

# aptitude install libgl1-mesa-dri libgl1-mesa-glx xserver-xorg-video-ati firmware-linux-nonfree

Nota: A partir de la versión 6.12.192-2 del paquete xserver-xorg-video-ati el KMS viene activado por defecto, entonces es necesario cargar el módulo radeon al inicio añadiendolo en el /etc/modules.

2.2. Driver libre "radeonhd":

El driver libre "radeonhd" esta presente en todas las ramas de Debian desde el lanzamiento como stable de "Lenny" y es el que Novell y la comunidad estaban realizando con las especificaciones liberadas por ATI de los chipsets R500 y superiores. En la actualidad su desarrollo se ha unido al driver "ati" y es este el que debemos usar. Provee 2D para todos los chipsets aunque la aceleración 2D esta desactivada por defecto, en los chipsets r5xx y rs6xx provee DRI (aceleración 3D) siempre y cuando tengamos la versión del driver 1.2.5 (o superior) y una versión del xorg por encima de 1.3 (para x86) o 1.5 para (amd64), para el resto de los chipsets hay una herramienta experimental solo para desarrolladores.

Este driver consta de un solo paquete:

  • xserver-xorg-video-radeonhd (radeonhd).
    - Da soporte 2D para las tarjetas basadas en chipset R500 y superiores.

Para instalar este driver simplemente instalaremos el paquete con nuestro gestor preferido:

# aptitude install xserver-xorg-video-radeonhd

2.3. Driver privativo "fglrx":

El driver propietario es el desarrollado directamente por ATI. Es un driver de código cerrado que ofrece soporte 2D/3D para todos los chipsets ATI Radeon pero con forme han ido aumentando las capacidades del driver libre "ati" AMD ha eliminado el soporte para muchas tajetas:

  • 8.28. A partir de esta versión se dejo de dar soporte a los chipsets inferiores al R300 (inferiores a la 9250 inclusive)
  • 9.3. A partir de esta versión se dejo de dar soporte a los chipsets inferiores al R600 (inferiores a la X2100 inclusive)

Nota: Si estamos usando squeeze debemos instalar la versión 10.4 (o superior) de este driver para tener compatibilidad con el xorg incluido en esta rama.

2.3.1. Requisitos previos:

Antes de empezar a instalar estos driver hemos de tener en cuenta una serie de requisitos previos:

- Si en nuestro sistema hacemos uso de un kernel precompilado Debian debemos instalar los headers pertenecientes a la versión del kernel. Por lo tanto desde consola ejecutamos:

# uname -r
Este comando nos devuelve la versión del kernel.

Ahora estamos prontos para instalar los headers:

# aptitude install linux-headers-resultado del comando anterior

Nota: los comandos anteriores pueden ser invocados en uno solo:

# aptitude install linux-headers-`uname -r`

Atención: Antes de comenzar es aconsejable limpiar nuestro sistema de cualquier rastro existente de drivers anteriormente instalados, para desinstalarlos podemos acudir a la sección correspondiente de esta página, aquí.

2.3.2. Creación e instalación de los paquetes:.

Ahora procederemos a instalar el driver propiamente dicho, tenemos dos opciones principales:

Utilizar los repositorios oficiales Debian:

Este es el método recomendado para Debian, el que menos problemas puede ocasionar y también el más rápido y cómodo para el usuario, para utilizarlo tendremos que activar los repositorios non-free para proceder a la instalación.

- Los paquetes necesarios son:

  • fglrx-driver.
    - El driver propiamente dicho.
  • fglrx-glx.
    - El "libgl" propietario para el driver "fglrx".

También necesitaremos uno de los siguetes paquetes dependiendo si queremos crear el módulo usando module-assistant o dkms. La mayor diferencia entre los dos métodos es que dkms se encarga de reconstruir el módulo automáticamente cada vez que actualizamos o cambiamos el kernel, mientras que con m-a somos nosotros los encargados de crear cada vez el módulo.

  • fglrx-source.
    - Fuentes (sources) para poder crear el paquete con el módulo a cargar mediante module-assistant.
  • fglrx-modules-dkms
    - Paquete para crear el módulo automaticamente mediante dkms.

*Otros paquetes recomendados:

  • fglrx-control.
    - Proporciona un centro de control gráfico para el driver.
  • fglrx-atieventsd
    - Proporciona un demonio que controla ciertos eventos externos: acpi, etc...

Por lo tanto, sólo necesitaremos instalar los paquetes con nuestro gestor de paquetes preferido, p.e para Debian "lenny" sería:

# aptitude install fglrx-driver fglrx-source fglrx-glx fglrx-control fglrx-atieventsd

Para que todo se configure correctamente, especialmente después de la primera instalación.

# aticonfig --initial

Utilizar el instalador oficial descargado desde la página de ATI.

Utilizando el instalador oficial tenemos dos opciones, instalarlo directamente o crear los paquetes para instalarlos de forma manual y que sean más fáciles de gestionar.

Primero hemos de bajar el instalador desde la página de oficial de ATI:

http://ati.amd.com/support/drivers/linux/linux-radeon.html

Una vez tenemos el archivo descargado, tenemos que darle permisos de ejecución:

$ chmod +x ati-driver-installer-....run

Ahora vamos a listar las diferentes opciones que posee este instalador:

Opciones de información y ayuda.

-h | --help Muestra la ayuda.
-i | --info Muestra la información del paquete descargado.
-l | --list Muestra una lista de los archivos contenidos dentro del instalador.
-c | --check Comprueba que la descarga no esté dañada.
--extract NewDirectory Descomprime el .run en el directorio seleccionado.

Opciones de ejecución.

--keep No borra el directorio creado por el instalador para hacer su trabajo.
--install Instala directamente el driver en el sistema (es lo mismo que ejecutarlo sin argumentos).
--listpkg Muestra una lista de todas las distros para las cuales puede crear los paquetes el instalador.
--buildpkg distro Crea el paquete para la distro seleccionada.
--buildandinstallpkg distro Como la opción anterior pero además instala el paquete.

Hasta aquí las opciones que nos da el instalador propietario de ATI, ahora pasamos a instalar el driver propiamente dicho.

Si no queremos crear los paquetes deb para poder gestionarlos con el gestor de paquetes y decidimos instalarlo directamente, sólo hemos de ejecutarlo como root:

# ./ati-driver-installer...

Después de unos minutos ya tendremos el driver instalado. (Usando este método ya hemos terminado, pasa a la sección de configuración)

Si elegimos crear los paquetes deb para instalarlos por nosotros mismos, primero necesitamos conocer qué paquetes podemos crear.

# ./ati-driver-installer...run --listpkg | grep Debian Añadiendo el túnel a grep nos ahorramos toda la salida

Created directory fglrx-install.UUUWul
Debian Packages:
        Debian/sarge
        Debian/oldstable
        Debian/sid
        Debian/unstable
        Debian/etch
        Debian/stable
        Debian/lenny
        Debian/testing
        Debian/experimental
For example, to build a Debian Etch package, run the following:
% ./ati-driver-installer-<version>-<architecture>.run --buildpkg Debian/etch

Con estos datos ya podemos crear los paquetes:

# ./ati-driver-installer...run --buildpkg Debian/rama

Después de un par de minutos obtendremos la siguiente salida indicando que nuestros paquetes ya están creados:

Created directory fglrx-install.l13606                                                 
Verifying archive integrity... All good.
Uncompressing ATI Proprietary Linux Driver-8.501..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
==================================================
ATI Technologies Linux Driver Installer/Packager
==================================================
Generating package: Debian/lenny
Package /home/user/fglrx-driver_8.501-1_i386.deb has been successfully generated
Package /home/user/fglrx-driver-dev_8.501-1_i386.deb has been successfully generated
Package /home/user/fglrx-kernel-src_8.501-1_i386.deb has been successfully generated
Package /home/user/fglrx-amdcccle_8.501-1_i386.deb has been successfully generated
Removing temporary directory: fglrx-install.l13606

Ahora tenemos los paquetes y sólo falta instalarlos usando dpkg, realmente sólo son necesarios estos dos:

  • fglrx-driver...deb
    - El driver propiamente dicho.
  • fglrx-kernel-src...deb
    - Sources para poder crear el módulo.

De los otros dos paquetes es recomendable instalar también el panel de control; el de desarrollo es raro que nos haga falta:

  • fglrx-driver-dev...deb
    - Archivos de desarrollo del driver.
  • fglrx-amdcccle...deb
    - Paquete que provee el panel de control para el driver.

Para instalar los paquetes usaremos dpkg:
# dpkg -i fglrx-driver...deb fglrx-kernel-src...deb fglrx-amdcccle...deb

2.3.3. Creación del módulo:

Si hemos optado por utilizar dkms no tendremos que hacer nada, encargándose el sistema de crear el módulo por nosotros. Asimismo si hemos usado el instalador de ATI tampoco tendremos que hacer nada más.

Por otro lado si usamos por el module-assistant debemos crear el paquete e instalarlo:

# m-a prepare
# m-a update
# m-a build fglrx
# m-a install fglrx
o sustituimos los dos anteriores por este:
# m-a a-i fglrx
# depmod -a

3. Configuración del Xorg:

La configuración del Xorg ha cambiado mucho con las nuevas versiones y esto se refleja en la configuración en debian cambiando según la versión que estemos utilizando. En la actual testing y sid nisiquiera es necesario la existencia del xorg.conf a no ser que vayamos a configurar el driver propietario o colocar darle alguna configuración especial a nuestras X.

Una vez instalado el driver que vayamos a utilizar, si es necesario, debemos crear o modificar nuestro xorg para que nuestro sistema pueda utilizarlo. Para hacer esta tarea tenemos varias opciones:

Atención. Sea cual sea el método utilizado para configurar el xorg.conf no olvides hacer un respaldo de este (si existe) por si algo sale mal.

3.1. De forma automática:

3.1.1. Lenny.

Para dejar un xorg.conf simple donde nuestro servidor X elegira el driver por nosotros solo tenemos que ejecutar:

# dpkg-reconfigure xserver-xorg

Nota: En Debian "lenny" no te pregunta nada del driver porque su xorg se autoconfigura en el inicio; esto funciona correctamente pero sólo con el driver libre, si quieres usar el driver propietario tendrás que editar igualmente el xorg.conf a mano.

Si queremos crear un xorg completo podemos usar la orden que nos dejan las X para ello como root y sin nigún servidor X activo:

# X -configure

Esto nos creara un archivo xorg.conf.new bajo /root que solo tendremos que copiar en su sitio.

3.1.2. Squeeze/sid

En esta versión no necesitamos ningún archivo xorg.conf ya que el mismo servidor se configura al iniciarse. De todas formas si necesitamos crear un xorg.conf podemos crearlo de 0 o utilizar, como en lenny, la opción X -configure.

3.1.3. Utilizando el driver propietario.

En el caso especial que hayamos instalado el driver propietario de ATI tenemos una herramienta proporcionada por el fabricante:

# aticonfig --initial Inicializa el xorg.conf y lo configura correctamente
# aticonfig --overlay-type=Xv

Nota: Este método no es muy recomendable, ya que crea un xorg.conf confuso y difícil de editar para afinarlo más tarde.

3.2. De forma manual:

3.2.1 Consideraciones previas:

Para configurar el xorg.conf debemos editarlo con nuestro editor preferido y como root:

# nano /etc/X11/xorg.conf

Los drivers disponibles en Debian son los siguientes:

  • Driver "ati" Con esto utilizaremos el wrapper del driver libre para que este seleccione el más adecuado de los tres.
  • Driver "radeon" Con esto utilizaremos el driver libre "radeon" directamente.
  • Driver "r128" Con esto utilizaremos el driver libre "r128".
  • Driver "mach64" Con esto utilizaremos el driver libre "mach64".
  • Driver "radeonhd" Con esto utilizaremos el driver libre "radeonhd".
  • Driver "fglrx" Con esto utilizaremos el driver propietario "fglrx".

3.2.2 En Debian stable (Debian 5.0 "lenny"):

Los cambios realizados por el equipo de xorg en aras de conseguir una más fácil configuración del hardware en estas primeras etapas han añadido alguna pequeña dificultad adicional para la configuración del hardware gráfico y Debian "lenny" se ha visto afectado de pleno por estos cambios; esta es una pequeña ayuda para activar los diferentes drivers en estos nuevos xorg tras la configuración de "lenny".

El nuevo xorg auto-detecta nuestros dispositivos y activa todas las opciones disponibles para nuestro hardware utilizando el driver libre. Si nuestra tarjeta está plenamente soportada por el driver libre, o nos conformamos con las características que nos brinda este driver para nuestra tarjeta, no tenemos que hacer nada porque aunque este así de vacío el xorg.conf, el xorg activará por si mismo todas las opciones disponibles así como detectará la resolución óptima para nuestro monitor.

Para seleccionar un driver diferente al driver libre "ati", o asegurarnos que estamos utilizando este, debemos modificar la sección "Device" del xorg.conf que presentará un aspecto parecido a este antes de hacer nada:

Section "Device"
Identifier  "Configured Video Device"
EndSection

Ahora, elegimos el driver que prefiramos y añadimos una linea nueva al xorg con un aspecto parecida a esta:

Driver "Driver que prefiramos"

Quedando la sección "Device" del xorg.conf de la siguiente manera (este es un ejemplo usando el driver propietario):

Section "Device"
Identifier  "Configured Video Device"
Driver      "fglrx"
EndSection

Si hemos elegido el driver propietario "fglrx" es conveniente configurar la resolución y la profundidad de color en la sección "Screen" (también si el xorg ha tenido dificultades para detectar la resolución o dicha profundidad de color).

Un ejemplo podría ser este, (debemos adaptarlo a nuestras circunstancias):

Section "Screen"
        Identifier      "Default Screen"
        Monitor    "Configured Monitor"
        DefaultDepth    24
        SubSection "Display"
                Modes           "1024x768" "800x600" "640x480"
        EndSubSection
EndSection

Si la tasa de refresco también esta equivocada, debemos configurarla en la sección "Monitor", esto no es necesario normalmente pero si ocurre debemos dejar esta sección de una forma parecida a esta (otra vez, tenemos que adaptar la tasa de refresco a nuestro monitor):

Section "Monitor"
Identifier   "Configured Monitor"
HorizSync       28-64           
VertRefresh     43-60 
EndSection

No es necesario tocar ninguna otra sección para un funcionamiento correcto del driver, aunque las veamos vacías no pasa nada, el xorg se encargara de adoptar las opciones necesarias y cargar los módulos correspondientes. Pero si queremos mejorar el desempeño del driver podemos añadir las opciones que deseemos a la sección "Device", estas opciones podemos consultarlas en los man del xorg y del respectivo driver, por ejemplo radeon. Un ejemplo de una sección "Device" para el driver libre "radeon" es el siguiente:

Section "Device"
...
Option "AccelMethod" "XAA"
Option "AGPMode" "8"
Option "GARTSize" "64"
Option "EnablePageFlip" "1"
Option "ColorTiling" "1"
Option "XAANoOffscreenPixmaps" "true"
...
EndSection

Si hemos activado la opción para activar framebufer del kernel agregar el módulo/driver radeonfb en el archivo /etc/modules.

3.2.2. En Debian testing (squeeze)

La configuración del xorg se hace igual que en la versión estable. El único problema es que no existe el archivo, una solución facil es colocar un xorg.conf básico para luego modificarlo.

Para ello solo tienes que copiar el siguiente código en el archivo:

Section "Files"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection

Section "Device"
Identifier "Configured Video Device"
EndSection

Section "Monitor"
Identifier   "Configured Monitor"

EndSection

Section "Screen"
Identifier "Default Screen"
Monitor    "Configured Monitor"
EndSection

Ahora ya podemos modificar el archivo a nuestra conveniencia.

3.3. Comprobar el éxito:

Una vez instalado y configurado el driver podemos comprobar si hemos tenido éxito en nuestro intento de configuración, para ello tenemos varias herramientas y trucos:

Reiniciamos las X (o simplemente reiniciamos la computadora) y empezamos nuestras pruebas:

La primera y la más evidente es si las X levantan, si es así podemos continuar comprobando si las diferentes opciones que hemos configurado lo han hecho correctamente.

Vamos a comprobar si tenemos aceleración 3D (si la hemos configurado esta opción en nuestro xorg.conf y nuestro driver los permite).

Nota: Para hacer algunas de estas pruebas necesitamos tener instalado el paquete mesa-utils

$ glxinfo | grep direct

Si la salida es esta:

direct rendering: Yes

Si aparece "yes" tenemos la aceleración activada, si aparece un "no" debemos repasar que hemos hecho mal o si hemos equivocado el driver.

Ahora comprobamos que también este activado el módulo AIGLX.

cat /var/log/Xorg.0.log | grep -i aiglx

Nos sacara una salida como esta:

(**) Option "AIGLX" "true"
(**) AIGLX enabled

Para comprobar la aceleración 3D tenemos también unos bonitos engranajes que podemos invocar con un par de ordenes:
glxgears
fgl_glxgears Esta orden sólo se utiliza en caso del driver propietario "fglrx"

Nota: Hay que tener en cuenta que glxgears no es precisamente una herramienta de benchmark. Así que es posible tener un pobre resultado con ella y tener aceleración 3D perfectamente funcional. Un buen método en estos casos es probar con un programa que utilize de forma intensiva opengl. P.e. stellarium

Para comprobar la existencia de aceleración con el driver propietario también tenemos una herramienta especial:
fglrxinfo
Obtendremos una salida similar a esta:

display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: MOBILITY RADEON X600
OpenGL version string: 2.0.5879 (8.35.18)

Si en lugar de ATI aparece Mesa, quiere decir que algo no anduvo correctamente.

3.4. Afinar el driver:

Para afinar la aceleración 3D de nuestro driver tenemos varias opciones según el driver usado:

Si hemos instalado el driver libre "ati" podemos instalar driconf, una pequeña herramienta que nos permite de configurar el driver con opciones óptimas para el uso que le daremos.
# aptitude install driconf

Si estamos usando el driver propietario "fglrx" podemos usar el panel de control gráfico que nos provee el fabricante.

4. Desinstalación:

Si hemos instalado cualquiera de los drivers desde un paquete o de los repositorios, sólo tenemos que purgar dichos paquetes desde nuestro gestor preferido. A continuación, un ejemplo para desinstalar el driver privativo "fglrx" (los nombres de los paquetes pueden diferir para otro driver):

# aptitude purge fglrx-driver fglrx-kernel-src fglrx-control fglrx-kernel-versión-actual

Para comprobar si ha habido una instalación automática del instalador propietario de ATI hemos de verificar la existencia del directorio /usr/share/fglrx/ (o /usr/share/ati/ para versiones modernas del instalador). Si lo está, quiere decir que existe una anterior instalación del driver propietario "fglrx".

Para eliminar esta instalación automática anterior sólo hay que ejecutar el script guardado en esa carpeta con este nombre:

# fglrx-uninstall.sh

5. Oldstables:

5.1 Debian 4.0 "etch":

La instalación y configuración es básicamente como en la rama stable, excepto por unas pequeñas diferencias que pasamos a ver:

5.1.1 Instalación

La instalación es similar a la de stable excepto por unas pequeñas diferencias en la versiones del driver fglrx desde los repositorios:

En Debian "etch", la versión de los repositorios del driver fglrx es la 8.28.8, por lo tanto no posee la característica AIGLX y no soporta los modelos más modernos de las tarjetas ATI (sólo hasta el modelo X1900).

- Los paquetes del driver privativo son estos:

  • fglrx-driver.
    - El driver propiamente dicho.
  • fglrx-control.
    - Proporciona un centro de control gráfico para el driver
  • fglrx-kernel-src.
    Sources para poder crear el paquete con el modulo a cargar.

5.1.1 Configuración del xorg:

La configuración automática es la recomendada, en esta versión el xorg queda completo y permite elegir las opciones adecuadas. Si queremos modificar nosotros mismo las comunicación deberemos hacerlo de esta forma:

Dentro del xorg.conf debemos primero buscar en sección device una linea llamada "Driver" que tendrá un aspecto parecido a este:

Section "Device"
  ...
  Driver "Driver actual"
  ...
EndSection

Editamos esta sección y colocamos el driver que queramos utilizar, dejándolo de forma parecida a esta (esto es un ejemplo para el wrapper del driver libre):

Section "Device"
  ...
  Driver "ati"
  ...
EndSection

Ahora pasamos a configurar el resto del xorg:

La sección "Module" deberemos dejarla de forma parecida a esto (aunque normalmente ya estará así):

Section "Module"
Load  "dbe"
Load  "ddc"
Load  "dri"    <<< importante para la aceleración
Load  "extmod"
Load  "freetype"
Load  "glx" 
Load  "bitmap"
Load  "int10"
Load  "vbe"
EndSection

Si deseamos usar la aceleración 3D debemos asegurarnos de poseer esta sección en nuestro xorg.conf:

Section "DRI"
  Mode 0666
EndSection

Si deseamos activar el soporte AIGLX para los nuevos escritorios 3D debemos activar el composite y la opción AIGLX:

Nota: Si hemos instalado el driver desde los repositorios, no tenemos disponible la opción AIGLX, para poseer esta característica debemos instalarlos desde el instalador oficial.

Primero debemos añadir a la "Section ServerLayout" esta opción, quedando así:

Section "ServerLayout"
...
Option "AIGLX" "true"
...
EndSection

También debemos activar el soporte para el composite:

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

6. Caracteristicas especiales.

6.1. KMS

El driver libre "radeon" tiene soporte kernel-mode-setting desde el kernel 2.6.31, aunque ahora se esta volviendo usable en debian desde la versión 2.6.32 del kernel y se completara en la versión 2.6.33. Esta tecnologia presenta muchas ventajas internas para el funcionamiento del sistema gráfico, pero cara al usuario no notaremos especial diferencia, cambio más rápido entre tty, mayor facilidad para suspender el sistema, etc...

Activar KMS

Para activar esta caracteristica tenemos que indicarle al módulo "radeon" al cargarse que la active, la forma recomendada es cargar el módulo radeon al inicio del sistema y decirle a modprobe que lo active.

Desde la versión 6.12.192-2 del driver "radeon" el KMS viene activado por defecto, solo tendremos que añadir el módulo para que se carge en el inicio del sistema.

Para ello debemos crear un archivo (en caso de que no exista) llamado /etc/modprobe.d/radeon-kms.conf con este contenido.

options radeon modeset=1

Después solo queda añadir el módulo "radeon" en el /etc/modules.

Para comprobar que se ha activado con éxito solo falta buscar en log de las X su activación con este comando:

cat /var/log/Xorg.0.log | grep KMS

Dandonos esta salida:

(II) [KMS] Kernel modesetting enabled.

Nota: Para aprovechar totalmente esta tecnología tendremos que instalar el driver "radeon" desde experimental en la versión 6.12.192.

Desactivar KMS

En el caso de que tengamos activado por defecto esta función, para desactivarlo solo tenemos que editar el archivo /etc/modprobe.d/radeon-kms.conf y dejarlo de esta forma:

options radeon modeset=0

7. Problemas comunes:

En esta sección se encuentran los problemas comunes con estos drivers.

7.1. Con el driver libre:

  1. Está todo instalado, el xorg configurado, mi tarjeta soporta aceleración 3D, pero no tengo aceleración 3D.
    • Si en el log del xorg aparece un error como este:
      (WW) RADEON(0): [agp] AGP not available
      (EE) RADEON(0): [agp] AGP failed to initialize. Disabling the DRI.
      (II) RADEON(0): [agp] You may want to make sure the agpgart kernel module
      is loaded before the radeon kernel module.

      Primero debemos probar a cambiar el orden de carga de los módulos. Editamos el /etc/modules y añadimos esto:

      agp_intel (el driver de tu placa, cambia por el que necesites)
      agpgart
      radeon
      radeonfb

      Reinicias, si todavía no tienes aceleración te queda probar otra cosa:

      Editas tu /etc/X11/xorg.conf y en la sección device fuerzas la tarjeta en modo pci añadiendo esto:

      Option "BusType" "PCI"

      Reinicias el servidor gráfico y prueba.

    • Si el problema que tienes es que al ejecutar:

      # glxinfo | grep render

      te devuelve algo como esto (específicamente direct rendering: No...):

      direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
      OpenGL renderer string: Mesa DRI R300 (RV350 4153) 20090101 AGP 8x x86/MMX/SSE2 TCL

      entonces necesitas ejecutar:

      # apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri

      Esto parece ser necesario cuando el driver privado de ATI ha estado instalado anteriormente.

  2. Tengo el driver libre configurado con KMS y al iniciar las X se quedan en negro

    Para solucionar esto existen dos caminos, cargar el módulo "radeon" al inicio del sistema o desactivar el KMS, para mas detallas acudir a la sección correspondiente para hacerlo.

  3. Uso el driver libre y la placa de video se calienta demasiado

    Para solucionar esto basta con agregar una linea al /etc/rc.local

    # echo "low" > /sys/class/drm/card0/device/power_profile

    Al reiniciar esto deberia ayudar a bajar la temperatura de la placa de video en unos grados.

    Obs: En algunas placas ATI/AMD moviles puede llegar a dar problemas la linea anterior, en ese caso cambiar "low", por "mid".