Mi nombre es Fernando Briano y soy programador.

Driver Radeon en Debian Squeeze y KMS

Ati Radeon en Debian

Ati Radeon en Debian

A pesar de haberme pasado a ArchLinux en mi PC de escritorio, sigo usando Debian Squeeze a diario en mi laptop de trabajo. En ella estoy usando linux en su versión 2.6.32-trunk-686. La placa de video es una ATI Mobility Radeon:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400

Hasta hace un tiempo usaba el driver fglrx en Debian. Pero ATI dejó de dar soporte a placas antiguas en las versiones más nuevas del driver, y el driver libre Radeon viene mejorando mucho en los últimos tiempos. Así que en algún momento decidí probar Radeon y quedarme con él en vez de usar versiones antiguas de Fglrx.

El fin de semana hice una actualización del sistema con un apt-get dist-upgrade. Cuando prendí la PC el lunes, noté que la aceleración de video 2D andaba demasiado lenta, igual que si el driver no existiera. KDE se volvió inusable, la decoración de ventanas era inservible, no había forma de trabajar así.

Por un rato me pasé a Openbox. Estaba instalado en mi computadora como recurso para usar Flex Builder para GNU/Linux, ya que éste consume todos los recursos de la máquina. Así que opté por usar un entorno de escritorio sumamente liviano para estas ocasiones. En Openbox podía usar más fluidamente las aplicaciones gráficas, pero aún tenía problemas. Así que mientras esperaba que mi código compilara, busqúe solución a mi problema.

Me fijé el log del servidor X, para ver si algo andaba mal:

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

Las entradas del log que comiencen con “(EE)” significan error, por lo que filtramos las entradas con “EE” con el comando grep.  Fue así que encontré el siguiente mensaje respecto al driver Radeon:

RADEON(0): [dri] RADEONDRIGetVersion failed because of a version mismatch.

Busqué un poco por los foros de Debian y me encontré con este post. Estoy usando la versión trunk del kernel 2.6.32, lo que según tengo entendido, sería la versión más reciente. (Trunk es la rama de desarrollo de un proyecto de software bajo control de versiones con Subversion). A partir de la versión 2.6.32-5 del kernel en Squeeze, se introduce el Kernel Mode Setting (KMS).

Esto implica que el código para establecer el modo (resolución y profundidad de color) de la pantalla en la tarjeta gráfica de la computadora pasa a estar dentro del núcleo Linux. Alguna de las ventajas que esto supone son una secuencia de booteo más limpia y rápida, soporte mejorado para suspender y resumir, y más.

Bastante lo nuevo que aprendí cuando me tocó arreglarlo. Algunas fuentes para leer más: Phoronix, WikiPedia

En fin, si bien para algunos la transición es transparente, y no notan cambio alguno, en mi caso fue caótico. En ese mismo post del foro de Debian encontré la solución: deshabilitar KMS para el driver Radeon. Para esto, editar el archivo /etc/modprobe.d/radeon-kms.conf y cambiar el valor a 0.

Al reiniciar las cosas volvieron a la normalidad, con aceleración gráfica y demás. Uno de los comentarios que hacen en el foro de Debian que me pareció interesante:

Cada tanto, Linux toma un gran paso como hacer el cambio de XF86 a Xorg y de Grub a Grub2. Estas cosas siempre se acompañan de una buena cantidad de “dolores de crecimiento”. KMS parece ser uno de esos grandes cambios. Ha llegado para quedarse y necesitamos ajustarnos. A la larga, KMS parece ser una mejora mayor y necesitamos aprender cómo aprovecharlo.

Por ahora lo he desactivado, estaré atento a futuras versiones del kernel donde el driver Radeon funcione mejor con KMS. Eso si no migro a ArchLinux en la laptop también…  o a Sid. Cuando Squeeze pase a ser la versión estable de Debian, pasaré a usar la versión de Debian 7, la que siga siendo testing. Pero últimamente me he venido cuestionando si pasar a Sid, o pegar el salto a ArchLinux…

Feed de comentarios | Url para Trackbacks | Suscribirse a los posts por correo electrónico

Un comentario en este post

    1. WordPress Driver Catalyst para tarjetas de video ATI en ArchLinux | Picando Código | 18 junio. 2011 - 6:23 pm

      […] primeros pasos con Debian [1] [2], fui aprendiendo a pelearme con estos drivers. Ya más adelante seguí aprendiendo al respecto en mi laptop que todavía conserva Debian Testing. Sin embargo, parece que en breve voy […]

    Dejar un comentario

    Toasty!