Wayland 1.24 está disponible

Tras 13 meses de desarrollo, se ha publicado la versión estable del protocolo Wayland 1.24, el mecanismo de comunicación entre procesos y las bibliotecas. La rama 1.24 es retrocompatible con las versiones 1.x, tanto a nivel de API como de ABI, y contiene principalmente correcciones de errores y actualizaciones menores del protocolo. Los desarrollos del proyecto se distribuyen bajo la licencia MIT. El servidor compuesto de referencia Weston, que proporciona código y ejemplos prácticos para el uso de Wayland en entornos de escritorio y soluciones integradas, se está desarrollando como parte de un ciclo de desarrollo independiente.

Cambios importantes en el protocolo:

  • La interfaz wl_fixes se implementó para solucionar problemas con otras API de protocolo base que no se pueden resolver con las capacidades nativas de dichas interfaces. Por ejemplo, la solicitud "wl_fixes::destroy_registry" permite destruir el objeto wl_registry, tras lo cual el cliente no podrá usarlo y el servidor compuesto dejará de enviar eventos a través de él.
  • La API wl_keyboard::key implementa un pseudoestado "repetido", que indica si una tecla está presionada. Una tecla puede pasar al estado "repetido" solo después de pasar al estado "presionado", pero antes de pasar al estado "liberado". Los eventos asociados con el nuevo estado pueden generarse varias veces mientras la tecla está presionada. Este cambio permite a los servidores compuestos gestionar las pulsaciones repetidas de teclas como estados separados, en lugar de simplemente un flujo de eventos "presionados" repetidos, lo cual puede ser útil para gestionar las pulsaciones de teclas. escritorio remoto.
  • Se agregaron las funciones wl_display_dispatch_queue_timeout() y wl_display_dispatch_timeout() para despachar eventos en una cola teniendo en cuenta el tiempo de espera (las funciones wl_display_dispatch y wl_display_dispatch_queue devuelven 0 solo si no hay eventos, y las variantes *_timeiout también devuelven XNUMX cuando ocurre un tiempo de espera).
  • Se añadieron las funciones wl_shm_buffer_ref() y wl_shm_buffer_unref() para acceder a la memoria compartida asociada al búfer wl_shm_buffer tras su destrucción (por ejemplo, al finalizar el cliente). Estas funciones permiten desvincular el búfer wl_shm_buffer de la duración del recurso wl_buffer subyacente cuando el servidor compuesto necesita retrasar la transición a un nuevo estado.
  • Se agregaron las funciones wl_proxy_get_interface() y wl_resource_get_interface(), que devuelven wl_interface para el recurso especificado, que tiene demanda en los enlaces para lenguajes con tipado dinámico.
  • Se agregó la función wl_resource_post_error_vargs(), que sirve como alternativa a la función wl_resource_post_error() con la capacidad de pasar una lista de argumentos para formatear la cadena (va_list).

Los eventos más notables relacionados con Wayland que han ocurrido desde que se publicó el último número:

  • Compatibilidad mejorada con Wayland en los controladores propietarios de NVIDIA.
  • KDE planea mantener únicamente la compatibilidad con Wayland. Separación del código de kwin_x11 y kwin_wayland.
  • Ubuntu y Kubuntu Solo se mantendrá la compatibilidad con la sesión Wayland en GNOME y KDE.
  • GDM solo admite Wayland de forma predeterminada.
  • GTK ha dejado obsoleto el backend X11.
  • Fedora 43 ha decidido eliminar del repositorio los paquetes utilizados en GNOME para funcionar sobre el servidor X. Todos los usuarios de GNOME con X11 se verán obligados a cambiar a una sesión basada en Wayland.
  • El entorno de escritorio Budgie conservará únicamente la compatibilidad con Wayland.
  • Xfce 4.20 introduce soporte parcial para Wayland.
  • MATE 1.28 con soporte experimental Wayland.
  • Wayback: un servidor compuesto Wayland para ejecutar escritorios basados ​​en X11
  • Valve ha lanzado el Proyecto Frog para acelerar el avance de los nuevos protocolos Wayland.
  • Cosmoe es una biblioteca GUI que utiliza Wayland y una API de estilo BeOS.
  • Habilitar el controlador Wayland de forma predeterminada en Wine.
  • Transición del sistema operativo Raspberry Pi a Wayland.
  • Lanzamiento del kit de herramientas gráficas FLTK 1.4.0 con soporte Wayland.
  • La suite Wayland-Protocols se ha ampliado con una fase de promoción de protocolo adicional, "experimental", destinada a reducir la barrera a la integración de protocolos, acelerar la entrega de protocolos a los desarrolladores y fomentar la implementación temprana en proyectos existentes.
  • AMD está desarrollando su propio servidor compuesto ACS utilizando Wayland.
  • Siete versiones alfa del entorno de escritorio COSMIC.
  • Servidores compuestos actualizados: Weston 14.0, Niri 25.05, Wayland Maker 0.5, miracle-wm 0.5, Hyprland 0.49, labwc 0.8.3, Cage 0.2, Wayfire 0.9, Sway 1.11.

Extensiones de protocolo agregadas durante el último año que complementan el protocolo base Wayland y se suministran en un conjunto separado de Protocolos Wayland:

  • gestión del color: capacidades de gestión del color y compatibilidad con un rango dinámico extendido de brillo (HDR, alto rango dinámico).
  • color-representation-v1: especifica la representación del color de la superficie Wayland.
  • xdg-toplevel-tag: permite que los clientes de Wayland adjunten etiquetas a superficies de nivel superior que el servidor de composición puede usar para identificar ventanas después de reiniciar la aplicación.
  • ext-background-effect: aplica efectos a partes semitransparentes de una superficie Wayland, como el desenfoque de fondo.
  • pointer-warp: permite que una aplicación mueva instantáneamente el puntero a una posición específica.
  • xx-session-management: restaura el estado de las ventanas para sesiones interrumpidas (por ejemplo, después de una falla del administrador de composición).
  • xx-input-method: desarrollo de un nuevo protocolo para utilizar métodos de entrada de texto. ext-data-control: permite a los clientes privilegiados controlar el manejo de datos, por ejemplo, para implementar administradores de portapapeles.
  • ext-workspace — implementa el concepto escritorios virtuales y ofrece eventos con información sobre el estado de los escritorios, así como la posibilidad de activar y desactivar escritorios.
  • xdg-system-bell: le permite emitir una campana del sistema, que puede usarse, por ejemplo, como advertencia en un emulador de terminal.
  • xdg-toplevel-icon: para adjuntar un icono a una ventana de nivel superior.
  • ext-image-capture-source y ext-image-copy-capture: capturan el contenido que se muestra en la pantalla.
  • fifo — implementa un mecanismo FIFO (primero en entrar, primero en salir) para procesar la cola para actualizar el contenido de la superficie mostrada.
  • commit-timing: le permite vincular un límite de tiempo al contenido superficial (el servidor compuesto debe reflejar el cambio de contenido si es posible después del tiempo especificado, pero no antes).

Recordemos que Wayland es un protocolo para la interacción entre un servidor compuesto y las aplicaciones que trabajan con él. Los clientes representan sus propias ventanas en un búfer separado, pasando actualizaciones al servidor compuesto, que combina el contenido de los búferes de aplicaciones individuales para producir un resultado final que tiene en cuenta posibles matices como la superposición de ventanas y la transparencia. En otras palabras, el servidor compuesto no proporciona una API para representar elementos individuales, sino que solo funciona en ventanas ya formadas, lo que le permite deshacerse del doble almacenamiento en búfer cuando se utilizan bibliotecas de alto nivel como GTK y Qt, que asumen la Trabajo de composición del contenido de Windows.

Wayland resuelve muchos de los problemas de seguridad de X11, ya que, a diferencia de X11, aísla la entrada y la salida para cada ventana, impide que un cliente acceda al contenido de las ventanas de otros clientes y evita la interceptación de eventos de entrada relacionados con otras ventanas. La compatibilidad para trabajar directamente con Wayland está implementada para la mayoría de los sistemas operativos utilizados en Linux Bibliotecas gráficas como GTK, Qt, SDL, FLTK, wxWidgets, Clutter y EFL (Enlightenment Foundation Library).

La interacción con el hardware en Wayland/Weston, como la inicialización, el cambio de modo de vídeo (DRM modesetting) y la gestión de memoria (GEM para i915 y TTM para Radeon y Nouveau) para tarjetas gráficas, se puede realizar directamente a través de un módulo a nivel de kernel, eliminando la necesidad de privilegios de superusuario. Para garantizar la ejecución de aplicaciones X11 estándar en un entorno basado en Wayland, se utiliza el componente DDX XWayland (Device-Dependent X), que es similar en funcionamiento a Xwin y Xquartz para Win32 y macOS.

 Wayland 1.24 está disponible  Wayland 1.24 está disponible


Fuente: opennet.ru
Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster