domingo, 7 de julio de 2013

El deseable "glamor"

Glamor es un módulo para gráficos 2D opensource para drivers gráficos que soporten OpenGL/EGL/GBM. ¿Alguien pensó en el glamour? El día que sueñe con llevar una manzana pudriéndose en mi bolsillo quizás me refiera a eso xD

Las próximas líneas hablan de drivers gráficos, sobretodo desde mi punto de vista de usuario en GNU/Linux.

¿Porqué es tan deseable?

De antemano debo decir que soy un NO-experto en drivers gráficos, pero si entiendo otras cosas. Por ejemplo, parece que actualmente hay que desarrollar dos versiones de los drivers para una tarjeta gráfica: una para el driver DRI de mesa y otra para el driver 2D DDX.

De verdad me sorprende cómo pueden pasar tantos años con algo así, aunque haya aportaciones al software libre tanto de desarrolladores en su tiempo libre como de desarrolladores contratados por una empresa a nadie debe gustarle perder el tiempo en duplicidades. Asumo que ha sido por culpa de las complicaciones que comportaban crear drivers gráficos libres, tanta ingeniería inversa debe freír más de un cerebro.

Por suerte, la industria de procesadores gráficos ha adoptado el estándar OpenGL para gráficos 3D y también parece que ha abrazado algo más el software libre (algunos...) con lo que aparecen nuevas posibilidades.

Una de ellas trata el siguiente planteamiento: si gran parte del parque de tarjetas gráficas que tienen los usuarios soporta OpenGL, en alguna de sus especificaciones, y los drivers gráficos libres también están trabajando en mejorar el soporte de OpenGL (todo muy estándar) con lograr procesar los gráficos 2D a través de OpenGL no hará falta tanto esfuerzo para soportar las especificidades de cada fabricante.

Con ello, los desarrolladores de drivers pueden centrarse en mejorar el soporte OpenGL, algo que anda atrasado, mientras que por otro lado y maximizando la eficiencia de los recursos humanos cualquier mejora en Glamor beneficia a una cantidad ingente de usuarios y aplicaciones.

A la práctica

Actualmente se puede usar éste método de acceleración en tarjetas Intel y ATI que lo soporten. Por ejemplo, el driver radeon lo permite de forma opcional a partir del chip r300. Bueno, luego depende de qué versión te instale tu distribución linux.

Para activarlo hay que editar la configuración del servidor X (el archivo xorg.conf o alguno dentro de xorg.conf.d/).

Section "Module"
  Load "dri2"
  Load "glamoregl"
EndSection

Section "Device"
  Identifier "intel" # o radeon
  Driver "intel"     # o radeon
  Option "AccelMethod" "glamor"
EndSection

¿Qué podemos esperar de su rendimiento?

Actualmente no es como para echar cohetes, la cosa promete aunque aún no está a la altura de otros métodos como SNA o EXA. En mi radeon HD 3200 no he necesitado hacer test para ver diferencias, reproduciendo vídeos se ralentiza un poco cuando hay mucho movimiento, o al hacer scroll del navegador se ven líneas diagonales del refresco. Lo que más me ha sorprendido ha sido el gestor de ventanas. Con xfwm4 (xfce4) el funcionamiento es correcto, así que pensé que con un gestor más ligero podría obtener algo más... pues con Openbox ha sido alucinantemente lento. Al intentar arrastrar una ventana empieza a moverse como un centímetro por detrás del ratón y la velocidad desde entonces es algo así como un milímetro por segundo.

Por verde que esté, es una nueva herramienta muy a tener en cuenta, tanto es así que ha permitido un soporte y rendimiento de entrada para la nueva serie HD 7000 de ATI bastante decente sin tener que dedicar tiempo y esfuerzo específicamente a la aceleración 2D.

No hay comentarios:

Publicar un comentario