19 de noviembre de 2011

Glamor, el nuevo Glucose

En 2006, Zack Russin, trabajador en QT en el área de gráficos, hizo unos parches muy interesantes llamados "Glucose", que consistían en una nueva arquitectura alternativa para X.org en la que todas las operaciones gráficas del servidor (desde las más básicas a las de la extensión Xrender) se realizaban vía OpenGL. Su objetivo era que los drivers de X.org desaparecieran, y fueran sustituidos por una especie de driver único OpenGL. De ese modo todos los flujos de código se unificarían en una sola ruta gráfica, y la hierba verde brillaría bajo los rayos del Sol. Desgraciadamente, Glucose no llegó a ningún lado (al igual que Xgl, con el cual estaba relacionado, y que desapareció para dar paso a AIXGL).

En las últimas semanas se ha oído hablar, vía Phoronix, de Glamor, un proyecto de gente de Intel para hacer algo esencialmente similar a Glucose.

A primera vista, esto podría parecerles un buen paso. Pero eso sería porque no conocen a fondo el maravilloso mundo gráfico linuxero, que a pesar de los grandes cambios logrados en los últimos años sigue en continua batalla consigo mismo:

· Intel está trabajando en una nueva arquitectura de aceleración para su driver optimizada para plataformas SandyBridge y posteriores. De tener éxito, Glamor haría que todo ese trabajo fuera obsoleto.

· Intel no está interesado en Gallium3D. Siguen trabajando con su modelo Mesa de-toda-la-vida porque opinan que reescribir el driver de nuevo daría mucho trabajo.

· Pero hay un driver Gallium3D para chips Intel no oficial, desarrollado por VMWare, Google y otras compañías interesadas en ello.

Con lo cual, el plan de Glamor consistiría, en un principio, en cambiar el driver X.org actual de Intel, ya sea con la arquitectura de aceleración normal o con la nueva optimizada para Sandybridge, por un modelo OpenGL, pero no con un driver Gallium3D, que se supone que es el futuro de Mesa, sino con el tradicional soportado por Intel. O con el de Gallium3D, si a alguna distro le parece más bonito.

Y si lo anterior les resulta complicado, recuerden que las GPUs programables modernas, a pesar de todo su poderío, no siempre son rápidas con operaciones 2D tradicionales, lo cual quiere decir que aunque mover todo el flujo de operaciones gráficas a OpenGL acelerará muchas cosas, habrá operaciones en los que no será tan competitivo, y menos con el modelo de dibujado no-QML + X11/Xrender.

Lo que quiero decir con todo esto es que espero que un día Wayland venga, arrase con todo, y todo rastro de existencias pasadas quede erradicada de la faz de Internet.

2 comentarios:

  1. Difícil lo tiene Gallium3d sin el apoyo de los 3 grandes, porque ninguno de ellos quiere reescribir su driver privativo para la nueva arquitectura. Y no los culpo, porque les ha tomado varios años llevarlos a un nivel comparable al de Windows y cuesta tirar todo ese trabajo a la basura.

    ResponderEliminar
  2. Realmente en Linux el tema de la aceleración 3D es desastrosa en cuanto a integración. Yo espero tambien que Wayland ponga un poco de orden. A ver si las distros empujan y consiguen que AMD y nvidia hagan drivers potables.

    No creo que haya que tirar todo el trabajo a la basura, lo que no puede ser es que cada uno ande por su lado.

    ResponderEliminar