Tras el comentario donde explico mas o menos como utilizar el sistema Xgl con las virguerías de Compiz me toca exponer mis reflexiones acerca de los sistemas gráficos en Linux

Desde hace unos años estoy viendo cómo el hardware de los procesadores va creciendo a ritmos impresionantes y cada vez que he ido a probar un sistema mas potente he tenido la pequeña esperanza de que me iba a encontrar un sistema gráfico impresionante de rápido... vaya decepción. Año tras año he ido viendo la evolución de las X-Windows sin ver ningún avance importante, nada mas que adaptaciones, drivers, parches, etc.

Conociendo el comportamiento de Windows, MacOSX y Linux en el mismo sistema físico he podido comprobar cómo es realmente necesaria la renovación del sistema gráfico de Linux.

De Windows solo tengo que decir que es impresionante cómo ha ido creciendo su sistema de componentes COM y cómo hoy día se están implementando en Linux ideas bastante antiguas de Windows (como puede ser DBUS).

Realmente la razón por la que me puse a pensar en la necesidad de un cambio en las X fué la de ver la velocidad de funcionamiento de MacOSX, es impresionante ver su entorno gráfico tan cargado de elementos visuales y lo fluido que va. Cuando vi eso mi primera reacción fué pensar "¡yo quiero esta sensación en Linux!" y la segunda fué buscar en google mil maneras de optimizar mi sistema Linux e intentar acelerar las X-Windows. Esta búsqueda no dió fruto alguno y mi sistema Linux sigue siendo mucho mas lento que MacOSX, con el agravante de que MAC estaba empezando en Intel.

Dentro de mi búsqueda de alternativas a las X-Windows recordé que Gtk+ tuvo un "backend" para FrameBuffer, ese sistema gráfico que tanta expectación y que tanta ilusión me dió el día que lo presentaron. Pues las versiones mas modernas de Gtk+ no funcionan sobre FrameBuffer y, por desgracia, freedesktop está creando módulos dentro de las X para que los escritorios sean mas compatibles. Digo "por desgracia" porque esto hace mucho mas dificil el adaptar un escritorio de un sistema X11 a otro que no lo sea (como FrameBuffer).

Llegando a un punto práctico me planteo que es necesario realmente en un sistema gráfico. Dando los primeros pasos, sin pensar en nada de escritorios, lo esencial en un sistema gráfico es un subsistema que permita manejar las tarjetas gráficas de una forma mas o menos abstracta. Con respecto a este punto veamos, por ejemplo, OpenGL como base gráfica (tanto en sus extensiones 2D como 3D). Tras esto solo es necesario el concepto de "Ventana" por el tema de la protección entre aplicaciones... que una aplicación no dibuje encima de otras sino solo dentro de las ventanas concedidas. No creo que implementar el concepto de Ventana sea tan grave como para tener que levantar un pedazo de sistema X11. Ya se que hasta ahora la cosa queda un poco limitada pero añadiendo "eventos" (teclado, ratón, etc...) ya tenemos un sistema completo, osea que resumiendo solo necesitamos una librería gráfica (ejemplos: Gtk+ sobre DirectFB, OpenGL/MESA sobre DRI), un gestor de eventos externos (anda, el kernel tiene drivers de teclado, ratón y demás) y un manejador de recursos gráficos para impedir la intrusión de aplicaciones (no sabría decir si el propio DirectFB lo tiene, pero no creo que su implementación fuera muy complicada).

Mi intención no es definir nada completo sino mostrar que no es necesario un sistema complejo que nos haga tener (y mantener) el doble de drivers para todo. Hoy día es necesario tener para cada dispositivo un driver para el kernel y otro para las X. Esto no hace mas que consumir recursos y no permitir una buena evolución de los escritorios en Linux. LLamemosle "LASTRE X-WINDOWS".

Ahora veamos la ventaja de un sistema X. Mmmmmm ¿homogeneidad de red?. Pues si, pero me gustaría saber quien utiliza hoy día este tipo de homogeneidad y para el que la use basta con decirle que un sistema X11 se podría implementar sobre el teórico sistema gráfico que planteo. He visto algunos sistemas X11 para windows que son invisibles, ni siquiera se ejecutan en una ventana sino que quedan en el "tray" y muestran las ventanas remotas. Por otro lado, si este sistema gráfico fuera FrameBuffer se podría utilizar el que hay hoy día pero no obligaría a todo el mundo a utilizar un sistema tan sobrecargado como es el X11 de cuyas características solo necesitan utilizar unas pocas.

En conclusión opino que es una pena que FrameBuffer no triunfara y que los drivers "buenos" que hay para las tarjetas gráficas no estuvieran disponibles para este sistema gráfico, que es mas que factible un cambio y que las X11 necesitan jubilarse parcialmente.

Ya comentaré mas cosas que se me ocurran.