Presentado KWinFT, un fork de KWin enfocado en Wayland

Roman Gilg, participante en el desarrollo de KDE, Wayland, Xwayland y X Server, presentó iniciado hace varios años KWinFT (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 KWin.Además del gestor de ventanas, el proyecto también desarrolla la biblioteca wrapland con la implementación de un enlace sobre libwayland para Qt/C++, que continúa el desarrollo de KWayland,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 "viewporter", 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 ( wlroots WayfireSway, ) usar KScreen para ajustar la salida.Mientras tanto,

se publican actualizaciones del proyecto donaciones a través de SPI. El aumento en las donaciones a systemd en 2018 está probablemente relacionado con la adhesión de este proyecto a SPI y la ola informativa que surgió de esto (en el sitio KWin-lowlatency , que forma una edición del gestor de compuestos KWin con parches para aumentar la capacidad de respuesta de la interfaz y corregir algunos problemas relacionados con la velocidad de respuesta a las acciones del usuario, como la disminución de la entrada. Para proporcionar protección contra la aparición de desgarros en la salida (tearing) sin afectar negativamente la capacidad de respuesta, además del DRM VBlank, KWin-lowlatency soporta el uso de glXWaitVideoSync, glFinish o NVIDIA VSync (la protección contra desgarros originalmente presente en KWin se implementó utilizando un temporizador y puede causar grandes retrasos (hasta 50 ms) en la salida y, como consecuencia, retraso en la respuesta de la entrada). Las nuevas versiones de KWin-lowlatency pueden usarse en lugar del servidor de compuestos estándar en KDE Plasma 5.18.El lanzamiento del servidor de pantalla Mir 1.8

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster