Después de nueve meses de desarrollo, se ha publicado la versión estable del servidor compositor Weston 15.0, que impulsa tecnologías que facilitan el soporte completo del protocolo Wayland en Enlightenment, GNOME, KDE y otros entornos de usuario. El desarrollo de Weston está enfocado en proporcionar una base de código de alta calidad y ejemplos prácticos para utilizar Wayland en entornos de escritorio y soluciones integradas, como plataformas para sistemas de infoentretenimiento en automóviles, smartphones, televisores y otros dispositivos de consumo. El código del proyecto se distribuye bajo la licencia MIT.
Cambios en la nueva rama de Weston:
- Se ha añadido una nueva interfaz gráfica 'lua-shell' (invocada como 'weston --shell=lua'), que permite usar el lenguaje Lua para personalizar el comportamiento de la gestión de ventanas y crear entornos de usuario completamente personalizados. Como ejemplo, se ha implementado un simple sistema de gestión de ventanas en mosaico basado en 'lua-shell'.
- Se ha añadido un backend experimental de renderizado que utiliza la API gráfica Vulkan para la salida (se activa como 'weston --renderer=vulkan'). El backend permite ejecutar Weston sobre otros compositores basados en Wayland y X11, y también trabajar directamente con los controladores de la subsistema DRM del núcleo que soportan Vulkan 1.0. Además del backend, se han añadido clientes de Wayland simple-vulkan y simple-dmabuf-vulkan. servidores Se ha añadido soporte para los protocolos de Wayland commit-timing-v1 y fifo-v1. El protocolo commit-timing permite vincular una restricción de tiempo al contenido de la superficie (el servidor compositor debe reflejar el cambio de contenido tan pronto como sea posible dentro del tiempo especificado, pero no antes). El protocolo fifo implementa un mecanismo FIFO para el procesamiento de la cola de actualización del contenido de la superficie mostrada. Combinados, estos protocolos permiten lograr una salida fluida y una visualización de cuadros teniendo en cuenta el escaneo vertical en aplicaciones como juegos y reproducción de video.
- Se ha agregado soporte para las extensiones de Vulkan VK_KHR_present_id2 y VK_KHR_present_wait2, que permiten la transmisión de cuadros en modo FIFO, pero sin aumentar la latencia.
- Se ha añadido soporte para el protocolo color-representation-v1 de Wayland para la definición de la representación del color de la superficie de Wayland, necesaria para soportar HDR y renderizar correctamente los buffers YUV de color completo. El protocolo permite a los clientes de Wayland transmitir los metadatos necesarios para definir la transparencia, el modelo de color, la submuestreo y el rango de cuantización, aplicándose al convertir el buffer de datos del modelo de color YUV a la representación RGB. Se ha añadido soporte para formatos de píxel con 10 bits por canal, como NV15, NV20, NV30 y P030.
- Se ha añadido la capacidad de utilizar módulos del núcleo KMS (Kernel Mode Setting) para descargar (off-load) operaciones de conversión de color al lado del controlador de la pantalla.
- Se ha proporcionado la posibilidad de utilizar el profiler Perfetto para identificar problemas de rendimiento durante el renderizado, así como para rastrear y visualizar el tiempo de ejecución de diversas operaciones.
- Se ha añadido soporte básico para el mecanismo VRR (Variable Refresh Rate) en el backend de DRM, que cambia adaptativamente la frecuencia de actualización del monitor para garantizar suavidad y ausencia de interrupciones durante juegos y reproducción de video. Se requiere un controlador DRM que soporte VRR.
Fuente: opennet.ru
