KWinFT, unha bifurcación de KWin centrada en Wayland, presentouse

Roman Gilg, participando no desenvolvemento de KDE, Wayland, Xwayland e X Server, introducido proxecto KWinFT (KWin Fast Track), desenvolvendo un xestor de fiestras compostos flexible e fácil de usar para Wayland e X11 baseado na base de código Gañar. Ademais do xestor de fiestras, o proxecto tamén desenvolve unha biblioteca envoltura coa implementación dunha ligazón sobre libwayland para Qt/C++, continuando o desenvolvemento Kwayland, pero liberado de vinculación a Qt. O código distribúese baixo licenzas GPLv2 e LGPLv2.

O obxectivo do proxecto é reciclar KWin e KWayland utilizando
tecnoloxías modernas e prácticas de desenvolvemento que permiten acelerar o desenvolvemento do proxecto, refactorizar o código, engadir optimizacións e simplificar a adición de innovacións fundamentais, cuxa integración en KWin na súa forma actual é difícil. KWinFT e Wrapland pódense usar para substituír perfectamente a KWin e KWayland, pero non están limitados polo bloqueo de KWin de moitos produtos nos que manter a compatibilidade total é unha prioridade que impide que a innovación avance.

Con KWinFT, os desenvolvedores teñen man libre para experimentar con novas funcións mantendo a estabilidade mediante o uso de técnicas de desenvolvemento máis modernas. Por exemplo, para comprobar o código KWinFT utilízase un sistema de integración continua, que inclúe a verificación mediante diferentes linters, a xeración automática de conxuntos e as probas avanzadas. En termos de desenvolvemento de funcionalidades, o foco principal de KWinFT será proporcionar soporte de protocolo completo e de alta calidade
Wayland, incluíndo a reelaboración das características arquitectónicas de KWin que complican a integración con Wayland.

Entre as innovacións experimentais xa engadidas a KWinFT están:

  • O proceso de composición foi reelaborado, o que mellorou significativamente a representación do contido que executa X11 e Wayland. Ademais, engadiuse un temporizador para minimizar os atrasos entre a creación dunha imaxe e a súa visualización na pantalla.
  • Implementouse unha extensión do protocolo Wayland "espectador", permitindo ao cliente realizar a escala do servidor e o recorte dos bordos da superficie. Combinada coa próxima versión importante de XWayland, a extensión ofrecerá a posibilidade de emular os cambios de resolución da pantalla para xogos máis antigos.
  • Compatibilidade total para xirar e duplicar a saída para sesións baseadas en Wayland.

Wrapland ofrece unha interface de programación de estilo Qt que proporciona acceso ás funcións de libwayland nunha forma fácil de usar en proxectos C++. Wrapland foi orixinalmente planeado para ser desenvolvido como unha bifurcación de KWayland, pero debido ao estado insatisfactorio do código de KWayland, agora considérase como un proxecto para reformar completamente KWayland. A diferenza máis importante entre Wrapland e KWayland é que xa non está ligado a Qt e pódese usar por separado sen instalar Qt. No futuro, Wrapland pódese usar como biblioteca universal cunha API C++, eliminando a necesidade de que os desenvolvedores utilicen a API C de libwayland.

Créanse paquetes preparados para usuarios de Manjaro Linux. Para usar KWinFT, basta con instalar kwinft desde o repositorio e para volver ao KWin estándar, instale o paquete kwin. O uso de Wrapland non se limita a KDE, por exemplo, preparouse unha implementación de cliente para o seu uso wroots protocolo de control de saída, que permite servidores compostos baseados en wlroots (Sway, Firefire) use KScreen para personalizar a saída.

Mentres tanto, continuar publicaranse as actualizacións do proxecto KWin-baixa latencia, formando unha edición do xestor composto KWin con parches para aumentar a capacidade de resposta da interface e solucionar algúns problemas asociados á velocidade de resposta ás accións do usuario, como o tartamudeo de entrada. Ademais de DRM VBlank, KWin-lowlatency admite o uso de glXWaitVideoSync, glFinish ou NVIDIA VSync para proporcionar protección contra rasgaduras sen afectar negativamente a capacidade de resposta (a protección contra rasgaduras orixinal de KWin implétase mediante un temporizador e pode producir grandes latencias (ata 50 ms). e, como resultado, un atraso na resposta cando se introduce). As novas versións de KWin-lowlatency pódense usar en lugar do servidor composto de stock en KDE Plasma 5.18.

Fonte: opennet.ru

Engadir un comentario