Después de ocho meses de desarrollo, se ha publicado la versión estable del servidor compuesto Weston 12.0, que avanza en las tecnologías que facilitan el soporte completo del protocolo Wayland en Enlightenment, GNOME, KDE y otros entornos de usuario. El desarrollo de Weston está orientado a proporcionar una base de código de alta calidad y ejemplos de trabajo para el uso de Wayland en entornos de escritorio y soluciones embebidas, como plataformas para sistemas de infoentretenimiento automotriz, teléfonos inteligentes, televisores y otros dispositivos de consumo. El código del proyecto se distribuye bajo la licencia MIT.
El cambio a un número de versión significativo de Weston se debe a cambios en el ABI que rompen la compatibilidad. Cambios en la nueva rama de Weston:
- Se ha añadido un backend para organizar el acceso remoto al escritorio: backed-vnc, que realiza funciones similares a backend-rpd. El protocolo VNC se implementa mediante aml y neatvnc. Se soporta la autenticación del usuario y la encriptación del canal de comunicación (TLS).
- Se ha añadido un backend para trabajar con multimedia. el servidor PipeWire.
- Cambios en el backend DRM (Direct Rendering Manager):
- Se ha implementado soporte para configuraciones con múltiples GPU. Para utilizar GPUs adicionales, se ha propuesto la opción «—additional-devices lista_de_dispositivos_de_salida».
- Se ha añadido soporte para el protocolo tearing-control para desactivar la sincronización vertical (VSync) con impulsos de eliminación de fotogramas, que se aplica para prevenir la aparición de desgarros en la salida (tearing). En programas de juegos, desactivar VSync permite reducir la latencia en la salida a pantalla, a expensas de la aparición de artefactos debido a desgarros.
- Se ha añadido soporte para la detección de tipos de contenido para HDMI (gráficos, fotos, películas y juegos).
- Se ha añadido y cuando es posible se ha habilitado la propiedad de rotación de superficie.
- Se ha añadido soporte para conectores de retroacción (writeback connector), utilizados para crear capturas de pantalla.
- Se ha añadido una propiedad para definir el nivel de transparencia de la superficie.
- Para el análisis de metadatos EDID se ha utilizado la biblioteca externa libdisplay-info.
- En backend-wayland se han implementado operaciones de cambio de tamaño, utilizando la extensión xdg-shell.
- En el backend de acceso remoto backend-rdp se ha añadido soporte previo para sistemas de múltiples monitores (multi-head).
- En el backend backend-headless, destinado a funcionar en sistemas sin pantalla, se ha añadido soporte para la decoración de salida, utilizada para probar el plugin color-lcms.
- Se ha declarado obsoleto y desactivado por defecto el componente launcher-logind, recomendándose usar en su lugar launcher-libseat, que también es compatible con logind.
- En libweston/desktop (libweston-desktop) se ha implementado el soporte para el estado de espera, que se aplica en la fase previa a la conexión del cliente con el buffer de salida, lo que puede utilizarse, por ejemplo, para organizar el lanzamiento del cliente en modo de pantalla completa desde el principio.
- Se ha implementado el protocolo weston-output-capture, diseñado para crear capturas de pantalla y actuando como un reemplazo más funcional del antiguo protocolo weston-screenshooter.
- Se ha añadido soporte para el protocolo xwayland_shell_v1, que permite crear un objeto xwayland_surface_v1 para una superficie wl_surface específica.
- En la biblioteca libweston se ha implementado el soporte para la autenticación de usuarios a través de PAM y se ha añadido soporte para la versión 4 de la interfaz del programa wl_output.
- En el proceso compositor se ha añadido un modo simplificado para seleccionar el backend, la shell y el renderer, permitiendo usar la sintaxis "—backend=headless", "—shell=foo" y "—renderer=gl|pixman" en lugar de "—backend=headless-backend.so", "—shell=foo-shell.so" y "—renderer=gl-renderer.so".
- En el cliente simple-egl se ha añadido soporte para el protocolo fractional-scale, que permite utilizar valores no enteros para la escala, y se ha implementado un modo de renderizado vertical de la barra.
- En la shell para sistemas de infoentretenimiento en vehículos ivi-shell se ha implementado la activación del foco de entrada del teclado para la superficie xdg-shell, realizada de manera análoga a la activación de entrada en las shells desktop-shell y kiosk-shell.
- La biblioteca compartida libweston-desktop se ha integrado en la biblioteca libweston, permitiendo que las aplicaciones vinculadas a libweston accedan a todas las funciones anteriormente proporcionadas en libweston-desktop.
Fuente: opennet.ru
