Se presenta KWinFT, una bifurcación de KWin centrada en Wayland

Gilg romano, participativo en desarrollo de KDE, Wayland, Xwayland y X Server, presentado proyecto KWinFT (KWin Fast Track), desarrollando un administrador de ventanas compuesto flexible y fácil de usar para Wayland y X11 basado en el código base Kganar. Además del administrador de ventanas, el proyecto también desarrolla una biblioteca. tierra envolvente con la implementación de un enlace sobre libwayland para Qt/C++, desarrollo continuo K Wayland, pero libre de vinculación a Qt. El código se distribuye bajo licencias GPLv2 y LGPLv2.

El objetivo del proyecto es reciclar KWin y KWayland utilizando
tecnologías modernas y prácticas de desarrollo que le permiten acelerar el desarrollo del proyecto, refactorizar el código, agregar optimizaciones y simplificar la adición de innovaciones fundamentales, cuya integración en KWin en su forma actual es difícil. KWinFT y Wrapland se pueden utilizar para reemplazar sin problemas a KWin y KWayland, pero no están limitados por el bloqueo de KWin de muchos productos donde mantener la compatibilidad total es una prioridad que impide que la innovación avance.

Con KWinFT, los desarrolladores tienen vía libre para experimentar con nuevas funciones mientras mantienen la estabilidad mediante el uso de técnicas de desarrollo más modernas. Por ejemplo, para verificar el código KWinFT se utiliza un sistema de integración continua, que incluye verificación mediante diferentes linters, generación automática de ensamblajes y pruebas avanzadas. En términos de desarrollo de funcionalidad, el objetivo principal de KWinFT será proporcionar soporte de protocolo completo y de alta calidad.
Wayland, incluida la reelaboración de las características arquitectónicas de KWin que complican la integración con Wayland.

Entre las innovaciones experimentales ya agregadas a KWinFT se encuentran:

  • Se ha reelaborado el proceso de composición, lo que ha mejorado significativamente la representación del contenido que ejecuta X11 y Wayland. Además, se ha agregado un temporizador para minimizar los retrasos entre la creación de una imagen y su visualización en pantalla.
  • Implementó una extensión del protocolo Wayland "visor“, lo que permite al cliente realizar escalado y recorte de bordes de superficie en el lado del servidor. Combinada con la próxima versión importante de XWayland, la extensión brindará la capacidad de emular cambios en la resolución de pantalla para juegos más antiguos.
  • Soporte completo para rotar y reflejar la salida para sesiones basadas en Wayland.

Wrapland proporciona una interfaz de programación estilo Qt que brinda acceso a las funciones de libwayland en una forma fácil de usar en proyectos C++. Originalmente se planeó que Wrapland se desarrollara como una bifurcación de KWayland, pero debido al estado insatisfactorio del código de KWayland, ahora se está considerando como un proyecto para reformar completamente KWayland. La diferencia más importante entre Wrapland y K Wayland es que ya no está vinculado a Qt y se puede usar por separado sin instalar Qt. En el futuro, Wrapland se podrá utilizar como una biblioteca universal con una API de C++, eliminando la necesidad de que los desarrolladores utilicen la API de libwayland C.

Se crean paquetes listos para usar para los usuarios de Manjaro Linux. Para usar KWinFT, simplemente instale kwinft desde el repositorio y, para volver al KWin estándar, instale el paquete kwin. El uso de Wrapland no se limita a KDE, por ejemplo, se ha preparado una implementación de cliente para su uso en raíces protocolo de control de salida, permitiendo en servidores compuestos basados ​​en wlroots (Influencia, Camino de fuego) use KScreen para personalizar la salida.

Mientras tanto continuar Se publicarán actualizaciones del proyecto. KWin-baja latencia, formando una edición del administrador compuesto KWin con parches para aumentar la capacidad de respuesta de la interfaz y solucionar algunos problemas asociados con la velocidad de respuesta a las acciones del usuario, como la tartamudez de la entrada. Además de DRM Vblank, KWin-lowlatency admite el uso de glXWaitVideoSync, glFinish o NVIDIA VSync para brindar protección contra el desgarro sin afectar negativamente la capacidad de respuesta (la protección contra el desgarro original de KWin se implementa mediante un temporizador y puede generar grandes latencias de salida (hasta 50 ms). y, como resultado, un retraso en la respuesta cuando se ingresa). Se pueden utilizar nuevas versiones de KWin-lowlatency en lugar del servidor compuesto estándar en KDE Plasma 5.18.

Fuente: opennet.ru

Añadir un comentario