Desde Linux David Naranjo  

Wayland 1.18 llega con soporte para meson, nueva API y mas

wayland-gnome

Hace poco fue anunciada la liberación de la nueva versión estable del protocolo Wayland 1.18, en la cual esta nueva versión es compatible con versiones anteriores a nivel API y ABI con las versiones 1.x, pero además contiene una parte de las mejoras.

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 representan de forma independiente sus ventanas por separado, pasando información sobre actualizaciones a un servidor compuesto, que combina el contenido de las ventanas de aplicaciones individuales para formar la salida final, teniendo en cuenta posibles matices como la superposición de ventanas y la transparencia.

En otras palabras, un servidor de compuesto no proporciona una API para la prestación de los elementos individuales y opera sólo con las ventanas ya formadas eliminando la doble búfer utilizando las bibliotecas de alto nivel tales como GTK + y el Qt.

Sobre Wayland

Actualmente, el soporte para el trabajo directo con Wayland ya está implementado para GTK3+, Qt 5, SDL, Clutter y EFL (Enlightenment Foundation Library).

La interacción con el hardware en Wayland/Weston, por ejemplo, la inicialización, el cambio de modos de video (configuración de modo drm) y la administración de memoria (GEM para i915 y TTM para radeon y nouveau) de tarjetas gráficas, se puede hacer directamente a través de un módulo a nivel de núcleo, que permite prescindir de privilegios de superusuario.

El servidor compuesto Weston puede funcionar no solo usando el módulo DRM del kernel de Linux, sino también sobre X11, otro servidor compuesto Wayland, framebuffer y RDP. Además, se están desarrollando proyectos para garantizar el trabajo en la parte superior de la pila de gráficos de la plataforma Android.

Como parte del proyecto Weston, se está desarrollando una de las implementaciones de servidores compuestos.

Cualquier otro producto que admita el protocolo Wayland también puede actuar como un servidor compuesto.

Por ejemplo, actualmente se está trabajando para proporcionar apoyo a Wayland en KWin. En su forma actual, Weston ya ha ido más allá del alcance de un conjunto de ejemplos para probar el protocolo Wayland y puede adquirir funcionalidad a través de complementos. Ademas de que se propone implementar shells personalizados y funciones avanzadas de administración de ventanas en forma de backends externos a Weston.

Para garantizar la ejecución de aplicaciones X11 ordinarias en un entorno basado en Wayland, se utiliza el componente XWayland DDX (X dependiente del dispositivo), que es similar en organización a trabajar en Xwin y Xquartz para las plataformas Win32 y OS X.

El soporte para el lanzamiento de aplicaciones X11 está planeado para integrarse directamente en el servidor compuesto Weston, que cuando se trata de la aplicación completa de X11-iniciará el lanzamiento del servidor X y componentes relacionados XWayland.

Con este enfoque, el proceso de lanzamiento de aplicaciones X11 será sencillo e indistinguible para el usuario del lanzamiento de aplicaciones que funcionan directamente con Wayland.

Mejoras importantes en Wayland 1.18

De sus novedades, en el anuncio se menciona que se agregó el soporte para el sistema de construcción Meson, mientras que la capacidad de construir usando autotools aún se conserva, pero se eliminará en una versión futura.

Otro de los cambios que se destacan de esta nueva versión de Wayland 1.18 es la nueva API agregada para separar objetos proxy basados ​​en etiquetas. Esto permite que las aplicaciones y los kits de herramientas compartan una conexión Wayland.

Además, se agregó la función wl_global_remove () que distribuye un evento de eliminación de objeto global sin limpiarlo.

La nueva característica permite eliminar la ocurrencia del “race condition” al eliminar objetos globales. Ya que podrían ocurrir condiciones de carrera similares porque los clientes no pudieron confirmar la recepción del evento de eliminación. La función wl_global_remove () hace posible enviar primero un evento de eliminación y solo después de un cierto retraso borra el objeto.

También se garantizó el seguimiento de los temporizadores del servidor wayland en el espacio del usuario, lo que eliminó la creación de demasiados descriptores de archivos.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.