Volver al inicio

Wayland 1.25: actualizaciones de protocolo y protocolos

Wayland 1.25 se centra en estabilidad, documentación y extensiones para entrada de texto y color. Añadido `wl_surface.get_release`, `dispatch_pending_single()` y protocolos xx-input-method, xx-text-input. Mejora del soporte HDR e IME.

Wayland 1.25 lanzado con IME y gestión de color
Advertisement 728x90

Wayland 1.25: Actualizaciones clave del protocolo y extensiones

El 19 de marzo de 2026, se lanzó la versión 1.25 del protocolo Wayland: un protocolo gráfico que proporciona comunicación interprocesos y bibliotecas para compositores. La actualización es retrocompatible con las versiones anteriores 1.x a niveles de API y ABI. El enfoque principal está en correcciones de errores, mejoras en la documentación y la adición de características específicas del protocolo. Se mantiene la licencia MIT para todos los componentes.

El compositor de referencia Weston continúa evolucionando de forma independiente, ofreciendo ejemplos de integración de Wayland en escritorios y sistemas empotrados.

Cambios en el protocolo principal

Los desarrolladores han renovado por completo la documentación: el formato DocBook ha sido reemplazado por mdBook basado en Markdown. Cubre completamente el dialecto XML de Wayland, el modelo de actualización de contenido y la gestión de color.

Google AdInline article slot

Nuevos elementos añadidos:

  • El atributo frozen para interfaces con múltiples padres: simplifica el manejo del estado en jerarquías complejas.
  • La solicitud wl_surface.get_release: genera una notificación para liberar el buffer adjunto mediante wl_surface.attach. A diferencia de wl_buffer.release, el evento está ligado a un ciclo de renderizado específico, lo que mejora la predictibilidad en el renderizado.
  • La función wl_display_dispatch_pending_single(): recupera y procesa exactamente un evento de la cola, a diferencia de wl_display_dispatch_pending(), que vacía toda la cola.

La salida de depuración de WAYLAND_DEBUG ahora admite resaltado de color para mejorar la legibilidad de los registros.

Nuevos y refinados protocolos de Wayland

Desde el lanzamiento, se han añadido extensiones para complementar el protocolo principal. Se distribuyen por separado y se centran en la entrada de texto y la gestión de color.

Google AdInline article slot

Protocolos para entrada de texto

  • xx-input-method: Permite que las aplicaciones formen texto para los compositores. Se utiliza en teclados virtuales e IME (Input Method Editor). Los clientes generan eventos de entrada y el servidor los agrega.
  • xx-text-input: El servidor envía texto a las aplicaciones. Estandariza:

- La transmisión de entrada de texto.

- El manejo del foco de entrada.

- Idioma, selección y tipo de campo (contraseña, multilínea, etc.).

Google AdInline article slot

Gestión de color

Los protocolos color-management-v1 y color-representation-v1 han sido refinados:

  • Soporte para HDR.
  • Definición del espacio de color para superficies Wayland.
  • Integración con buffers para la transmisión precisa del perfil de color.

Estas extensiones simplifican la implementación en compositores como Weston o Mutter.

Uso práctico para desarrolladores

Las actualizaciones van dirigidas a desarrolladores de nivel intermedio y senior que trabajan con compositores personalizados. El nuevo atributo frozen resulta útil en escenarios con padres dinámicos, como administradores de superposiciones.

La función wl_display_dispatch_pending_single() resuelve problemas en arquitecturas orientadas a eventos, donde procesar completamente la cola puede bloquear la IU.

Para el desarrollo de IME, los protocolos xx-input-method y xx-text-input estandarizan las interacciones, minimizando trucos específicos del proveedor.

Ejemplo de integración de wl_surface.get_release en un cliente (pseudocódigo):

wl_surface_add_listener(surface, &surface_listener, data);

static void surface_release(void *data, struct wl_surface *surface, uint32_t serial) {
    // Buffer released after commit
    buffer_pool_release(buffer);
}

Esto asegura la limpieza oportuna de recursos sin condiciones de carrera.

Puntos clave

  • La documentación mdBook y la cobertura completa de XML/color aceleran la incorporación de nuevos desarrolladores.
  • wl_surface.get_release vincula los eventos a fotogramas, mejorando la precisión del renderizado.
  • wl_display_dispatch_pending_single() proporciona un control granular sobre los eventos.
  • Los nuevos protocolos de entrada estandarizan IME para compatibilidad entre compositores.
  • Las mejoras en gestión de color fortalecen el soporte para HDR en el ecosistema Wayland.

— Editorial Team

Advertisement 728x90

Leer después