Wayland 1.23 ya fue liberado y estas son sus novedades
Después de más de un año de desarrollo se dio a conocer el lanzamiento de la nueva versión de Wayland 1.23, versión en la cual se han implementado mejoras en wayland-scanner, asi como también mejoras de soporte, nuevas API, correcciones de errores y más.
Para quienes desconocen Wayland, es importante saber que este protocolo facilita la interacción entre un servidor compuesto y las aplicaciones que trabajan con él. Los clientes gestionan la representación de sus ventanas en un búfer separado y comunican las actualizaciones al servidor compuesto. Este servidor, a su vez, combina los contenidos de los búferes de las aplicaciones individuales para generar el resultado final, considerando aspectos como la superposición de ventanas y la transparencia.
En otras palabras, el servidor compuesto de Wayland no proporciona una API para renderizar elementos individuales, sino que opera sobre ventanas ya formadas. Esto elimina la necesidad de doble almacenamiento en búfer cuando se usan bibliotecas de alto nivel como GTK y Qt, que se encargan de gestionar el contenido de las ventanas.
Principales novedades de Wayland 1.23
La rama 1.23 mantiene compatibilidad con versiones anteriores a nivel de API y ABI con las versiones 1.x, y se enfoca principalmente en correcciones de errores y actualizaciones menores del protocolo y en esta nueva versión que se presenta de una de las novedades que se presenta es en libwayland, ya que se implementa una API que permite al cliente determinar el tamaño máximo del búfer de conexión interna en el lado del servidor.
El tamaño máximo del búfer base se establece a través de la interfaz wl_display
, y la nueva API permite a los clientes ajustarlo según la conexión del cliente. Este cambio permite el uso de búferes más grandes en clientes específicos de Wayland, como Xwayland, que tienen una mayor intensidad de eventos de entrada.
Otro de los cambios que se destaca de esta nueva versión son los cambios en las solicitudes, eventos y enumeraciones, ya que ahora pueden utilizar el atributo XML «deprecated-since» para marcar elementos como obsoletos. En Wayland, las solicitudes son mensajes enviados por un cliente a un servidor; los eventos son mensajes transmitidos desde el servidor al cliente; y las enumeraciones son conjuntos de valores numéricos asociados con un nombre específico que maneja el protocolo.
Además de ello, se ha agregado el modo «enum-header» a la utilidad wayland-scanner
, diseñado para generar archivos de encabezado y código en lenguaje C basados en archivos XML que describen el protocolo, incluyendo solo «enumeraciones» en los archivos de encabezado. También, otro cambio es que wayland-scanner
ahora proporciona generación de funciones de verificación (validador) para «enumeraciones» en el lado del servidor.
Por otra parte, se ha añadido soporte para OpenBSD, se ha añadido la capacidad de asignar nombres a colas de eventos para simplificar la depuración, se han agregado las funciones wl_client_get_user_data()
y wl_client_set_user_data()
para facilitar la asociación de datos arbitrarios con el cliente y se ha agregado la solicitud wl_shm.release
para permitir que el cliente informe al servidor que deje de usar un objeto compartido, permitiendo así al servidor liberar la memoria asociada.
En cuanto a la parte de los cambios relacionados con Wayland en aplicaciones, entornos de escritorio y distribuciones, se destaca lo siguiente:
- XWayland 24.1.0 se ha publicado con soporte para la tecnología Explicit Sync y soporte mejorado para las arquitecturas de aceleración GLAMOUR y EXA 2D.
- El proyecto wprs desarrolla un administrador de sesiones para Wayland, similar a la utilidad de pantalla, pero para aplicaciones gráficas.
- Lanzamiento del entorno de escritorio LXQt 2.0.0 con soporte Wayland en el administrador de archivos PCManFM-Qt, sistema de notificación, escritorio, Runner, panel, interfaz de cierre de sesión, interfaz de configuración LXQt y la mayoría de las aplicaciones.
- Trabajo en la implementación del soporte de Wayland en Xfce.
- Soporte inicial para Wayland en el entorno de escritorio Budgie.
- Soporte inicial para Wayland en el entorno de escritorio Cinnamon.
- La migración del escritorio MATE a Wayland está casi completa.
- KDE 6 ofrece una sesión predeterminada que utiliza el protocolo Wayland. Soporte implementado para extensiones Wayland para gestión de color.
- Soporte de Wayland en el editor de texto GNU Emacs.
- La sesión basada en Wayland de GNOME incluye soporte para el conmutador KVM del software Input Leap, que le permite usar un solo teclado y mouse para controlar múltiples computadoras.
- La edición de escritorio KDE de Fedora dejó de admitir sesiones basadas en X11 en la distribución base.
- Soporte mejorado para entornos basados en Wayland en controladores propietarios de NVIDIA.
- Se ha implementado un controlador que permite utilizar Wine en entornos basados en el protocolo Wayland sin utilizar componentes XWayland y X11.
- Las versiones Linux de Firefox están habilitadas de forma predeterminada para utilizar el servidor compuesto Wayland en lugar de XWayland. Es posible crear ensamblajes que admitan el trabajo solo en Wayland.
Finalmente, para quienes estén interesados en poder probar esta nueva versión pueden descargar el código fuente para su compilación desde el siguiente enlace.