Wayland y su influencia en el sistema gráfico de Linux

Wayland y su influencia en el sistema gráfico de Linux

Kristian Høgsberg / Wayland / Linux Foundation

A principios de año les contamos sobre un nuevo sistema gráfico para Linux llamado Wayland. La idea es crear un nuevo sistema gráfico más pequeño, sencillo y eficiente que X, el sistema gráfico actual. Si bien Wayland no ha avanzado tan rápido por si mismo, si ha provocado cambios que afectan en forma positiva a todos los sistemas gráficos que pudieran existir.

X.org, la implementación de X que se usa en Linux, cada vez se reduce más en tamaño y complejidad.  Atrás quedaron los días en donde podíamos hablar de una gran cantidad de código en donde podíamos encontrar desde protocolos de comunicaciones hasta sistemas de render de fonts y control del bus PCI/AGP. Hoy en día, X.org se ha ido simplificando, delegando algunas tareas al kernel y otras a bibliotecas o aplicaciones que funcionan en forma independiente.  Gracias a estos cambios, se ha logrado mejorar enormemente la arquitectura de aceleración, el tipo de aplicaciones que se pueden crear y la convivencia con otras aplicaciones que también necesitan acceder al hardware de video.

Esto ha producido que el código que usa X.org y que se encarga de varios aspectos complejos, ahora esté centralizado y compartido, lo que permite ser reutilizado en Wayland (u otro sistema gráfico).  De esta forma el desarrollo de Wayland se simplifica ya que no es necesario construir y probar código desde cero.

Si se revisa el código de Wayland, se puede ver que no hay mucho avance, pero esto lleva a engaños ya que su principal desarrollador ha estado trabajando en la funcionalidad que ahora es compartida con X.org.  Esto quiere decir que en vez de trabajar en mejoras que afectan a Wayland, se está trabajando en mejoras que afectan a todos los sistemas gráficos, incluyendo a X.org y por supuesto Wayland.

Como parte de este trabajo se está mejorando la forma en que se produce el dibujado de las aplicaciones y el dibujado final en la pantalla visible, con el objetivo de eliminar completamente el dibujado parcial (tearing) que ocurre cuando no hay una sincronización entre lo que se está dibujando y cómo esto se lleva a la pantalla visible.

Gracias a Wayland, en el kernel se han creado los mecanismos necesarios para que las aplicaciones y el sistema gráfico puedan notificar y ser notificados cuando el área de dibujo está lista para ser desplegada y cuando se ha desplegado finalmente.  Esta nueva funcionalidad está planificada para ser integrada en el kernel 2.6.33, por lo que es muy probable que el famoso tearing sea cosa del pasado dentro de los próximos meses.

Presentación de Wayland en Linux Plumbers Conference

Link: Wayland – a new display server for Linux (Linux Foundation)