Wayland 1.22 ya fue liberado y estas son sus novedades
Después de nueve meses de desarrollo, se dio a conocer el lanzamiento de la nueva versión de una versión estable del protocolo, el mecanismo de comunicación entre procesos y las bibliotecas Wayland 1.22.
La rama 1.22 es compatible con versiones anteriores de API y ABI con las versiones 1.x y contiene principalmente correcciones de errores y actualizaciones de protocolo menores. El servidor compuesto de Weston que proporciona código y ejemplos prácticos para usar Wayland en entornos de escritorio y soluciones integradas, se está desarrollando como parte de un ciclo de desarrollo independiente.
Para quienes desconocen de Wayland, deben saber que este es un protocolo para la interacción de un servidor compuesto y las aplicaciones que trabajan con él. Los clientes hacen su propia representación de sus ventanas en un búfer separado, pasando información sobre las actualizaciones al servidor compuesto, que combina los contenidos de los búferes de aplicaciones individuales para formar el resultado final, teniendo en cuenta los posibles matices, como la superposición de ventanas y la transparencia.
En otras palabras, el servidor compuesto no proporciona una API para renderizar elementos individuales, sino que solo opera en ventanas ya formadas, lo que le permite deshacerse del doble almacenamiento en búfer cuando usa bibliotecas de alto nivel como GTK y Qt, que se hacen cargo del trabajo de ordenar el contenido de las ventanas.
Wayland resuelve muchos problemas de seguridad de X11 porque, a diferencia de este último, aísla la entrada y la salida para cada ventana, no permite que el cliente acceda al contenido de las ventanas de otros clientes y tampoco permite la interceptación de eventos de entrada asociados con otras ventanas.
Principales novedades de Wayland 1.22
En esta nueva versión que se presenta de Wayland 1.22 se destaca que se agregó soporte para los eventos wl_surface ::preferred_buffer_scale y wl_surface::preferred_buffer_transform a la API wl_surface, a través de los cuales el servidor compuesto transmite información sobre un cambio en el nivel de escala y los parámetros de transformación para la superficie.
Otro de los cambios que se destaca, es que se agregó el evento wl_pointer::axis a la API wl_pointer para indicar la dirección física del puntero para determinar la dirección de desplazamiento correcta en los widgets.
Ademas de ello, Wayland-server agregó un método para obtener el nombre global e implementó la función wl_client_add_destroy_late_listener.
Por la parte de los cambios relacionados con Wayland en aplicaciones, entornos de escritorio y distribuciones, se destaca lo siguiente:
- Wine viene con soporte inicial para su uso en entornos basados en el protocolo Wayland sin componentes XWayland y X11. En la etapa actual, se agregaron el controlador winewayland.drv y los componentes unixlib, y se realizaron preparativos para procesar archivos con definiciones de protocolo Wayland por parte del sistema de compilación. En uno de los próximos lanzamientos, planean incluir cambios para habilitar la salida en el entorno de Wayland.
- Mejoras continuas en el soporte de Wayland en las versiones KDE Plasma 5.26 y 5.27. Se implementó la capacidad de deshabilitar el pegado desde el portapapeles con el botón central del mouse. Se mejoró la calidad del escalado de ventanas para aplicaciones iniciadas con XWayland.
- Proporcionó selección automática del nivel de zoom para la pantalla.
- Se han preparado versiones experimentales del escritorio xfce4-panel y xfdesktop para Xfce que ofrecen soporte inicial para trabajar en entornos basados en el protocolo Wayland.
- El entorno de usuario de la distribución Tails se ha movido de un servidor X para usar el protocolo Wayland.
- El sistema de modelado 3D Blender 3.4 implementa compatibilidad con el protocolo Wayland, lo que le permite ejecutar Blender directamente en entornos basados en Wayland sin utilizar la capa XWayland.
- Se ha publicado la versión del entorno personalizado de Sway 1.8 con Wayland.
- Está disponible un entorno PaperDE 0.2 personalizado, utilizando Qt y Wayland.
- Firefox ha mejorado el uso compartido de pantalla en los entornos de Wayland, ya que se solucionaron problemas con el desplazamiento fluido del contenido, la activación de un evento de clic cuando se hace clic en la barra de desplazamiento y el desplazamiento fuera del contenido en entornos basados en Wayland.
- Valve continúa desarrollando el servidor compuesto Gamescope (anteriormente conocido como steamcompmgr), que usa el protocolo Wayland y se usa en el sistema operativo SteamOS 3.
- Desarrollo de lxqt-sway, un puerto del espacio de usuario LXQt que admite Wayland. Además, otro proyecto de LWQt está desarrollando una envoltura LXQt personalizada basada en Wayland.Se continuó con la migración del escritorio MATE a Wayland.
- System76 está desarrollando una nueva versión del entorno de usuario de COSMIC utilizando Wayland.
- Wayland está habilitado de forma predeterminada en las plataformas móviles Plasma Mobile , Sailfish, webOS Open Source Edition , Tizen y AsteroidOS .
Basado en Wayland, se están desarrollando Ubuntu Frame y wayward shells .
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.