Roman Gilg, en el desarrollo de KDE, Wayland, Xwayland y X Server, iniciado hace varios años (KWin Fast Track), que está desarrollando un gestor de ventanas compuesto flexible y fácil de usar para Wayland y X11, basado en el código de Además del gestor de ventanas, el proyecto también desarrolla la biblioteca con la implementación de un enlace sobre libwayland para Qt/C++, que continúa el desarrollo de pero sin la vinculación a Qt. El código se distribuye bajo las licencias GPLv2 y LGPLv2.
El objetivo del proyecto es rediseñar KWin y KWayland utilizando
tecnologías y prácticas de desarrollo modernas, que permitan acelerar el progreso del proyecto, realizar refactorización del código, añadir optimizaciones y facilitar la incorporación de innovaciones fundamentales, cuya integración en KWin en su forma actual es problemática. KWinFT y Wrapland pueden usarse como reemplazos transparentes de KWin y KWayland, pero no están limitados por las restricciones impuestas a KWin por muchos productos, mantener la plena compatibilidad con los cuales es una prioridad que obstaculiza el avance de las innovaciones.
En KWinFT, los desarrolladores tienen libertad para experimentar con nuevas características, logrando mantener la estabilidad mediante el uso de técnicas de desarrollo más modernas. Por ejemplo, se implementa un sistema de integración continua para verificar el código de KWinFT, que incluye comprobaciones mediante diferentes linters, generación automática de compilaciones y pruebas ampliadas. En cuanto al desarrollo de la funcionalidad, se prestará especial atención a garantizar un soporte de calidad y completo del protocolo
Wayland, incluida la revisión de las características arquitectónicas de KWin que dificultan la integración con Wayland.
Entre las innovaciones experimentales ya añadidas a KWinFT se encuentran:
- Se ha reestructurado el proceso de composición, lo que ha permitido mejorar significativamente el renderizado del contenido bajo X11 y Wayland. Además, se ha añadido un temporizador para minimizar los retrasos entre la creación de la imagen y su salida a la pantalla.
- Se ha implementado la extensión del protocolo Wayland "", que permite al cliente realizar acciones de escalado y recorte de los bordes de la superficie del lado del servidor. Junto con la siguiente versión importante de XWayland, la extensión permitirá emular el cambio de resolución de pantalla para juegos antiguos.
- Soporte completo para rotación y reflexión de salida en sesiones basadas en Wayland.
Wrapland ofrece una interfaz de programación diseñada al estilo Qt, que proporciona acceso a las funciones de libwayland de una manera fácil de usar en proyectos de C++. Inicialmente, Wrapland se planeaba desarrollar como un fork de KWayland, pero debido al estado insatisfactorio del código de KWayland, ahora se considera un proyecto de rehacer completamente KWayland. La distinción más importante de Wrapland respecto a KWayland es la eliminación de la dependencia de Qt, permitiendo su uso de forma independiente sin la necesidad de instalar Qt. En el futuro, Wrapland podrá utilizarse como una biblioteca universal con una API de C++, liberando a los desarrolladores de la necesidad de utilizar la API de C de libwayland.
Los paquetes listos están disponibles para los usuarios de Manjaro Linux. Para utilizar KWinFT, simplemente instala desde el repositorio kwinft, y para revertir a KWin estándar, instala el paquete kwin. El uso de Wrapland no se limita a KDE; por ejemplo, se ha preparado una implementación de cliente para el protocolo de control de salida, que permite en servidores compuestos basados en wlroots ( Wayfire, Mientras tanto,
se publican actualizaciones del proyecto KWin-lowlatency El lanzamiento del servidor de pantalla Mir 1.8
Fuente: opennet.ru
