KWinFT – forku KWin, skupiającego się na Waylandzie

Roman Gilg, uczestniczący w rozwoju KDE, Waylanda, Xwaylanda i serwera X, przedstawił projekt KWinFT (KWin Fast Track) rozwija elastyczny i łatwy w użyciu menedżer okien dla Waylanda i X11, oparty na kodzie źródłowym KWin.Oprócz menedżera okien projekt rozwija również bibliotekę wrapland z implementacją opakowania dla libwayland dla Qt/C++, kontynuując rozwój KWayland,ale pozbawioną powiązania z Qt. Kod jest udostępniany na licencjach GPLv2 i LGPLv2.

Celem projektu jest przekształcenie KWin i KWayland z zastosowaniem
nowoczesnych technologii i praktyk programistycznych, które umożliwiają przyspieszenie rozwoju projektu, refaktoryzację kodu, dodanie optymalizacji oraz uproszczenie integracji fundamentalnych innowacji, których wprowadzenie do KWin w obecnej formie jest utrudnione. KWinFT i Wrapland mogą być używane jako przezroczyste zamienniki KWin i KWayland, ale nie są ograniczone ramami, które nakłada powiązanie z KWin wielu produktów, zachowanie pełnej zgodności z którymi jest priorytetem utrudniającym wprowadzanie innowacji.

W KWinFT deweloperzy mają swobodę działania i mogą eksperymentować z nowymi możliwościami, zachowując stabilność dzięki zastosowaniu nowocześniejszych technik programowania. Na przykład, do weryfikacji kodu KWinFT wykorzystano system ciągłej integracji, obejmujący sprawdzanie przy pomocy różnych narzędzi linter, automatyczne generowanie kompilacji oraz rozszerzone testowanie. Jeśli chodzi o rozwój funkcjonalności, w KWinFT szczególną uwagę poświęci się zapewnieniu wysokiej jakości i pełnej obsługi protokołu
Wayland, w tym przeróbce architektonicznych cech KWin, które utrudniają integrację z Wayland.

Wśród już dodanych do KWinFT eksperymentalnych nowości wyróżniają się:

  • Zrewidowano proces kompozycji, co znacznie poprawiło renderowanie treści zarządzanej przez X11 i Wayland. Dodatkowo dodano timer, aby zminimalizować opóźnienia między tworzeniem obrazu a jego wyświetlaniem na ekranie.
  • Wdrażane jest rozszerzenie protokołu Wayland „viewporter«, umożliwiające klientowi skalowanie i przycinanie krawędzi na serwerze. W połączeniu z nadchodzącą wersją rozszerzenia XWayland umożliwi emulację zmiany rozdzielczości ekranu dla starszych gier.
  • Pełne wsparcie dla rotacji i lustrowania wyjścia dla sesji opartych na Wayland.

Wrapland to zaprojektowany w stylu Qt interfejs programowania, który zapewnia dostęp do funkcji libwayland w formie przyjaznej dla projektów w C++. Początkowo Wrapland planowano rozwijać jako fork KWayland, ale z powodu niezadowalającego stanu kodu KWayland, teraz jest postrzegany jako projekt mający na celu pełną przebudowę KWayland. Najważniejszą różnicą między Wrapland a KWayland jest pozbycie się zależności od Qt i możliwość korzystania z niego niezależnie od instalacji Qt. W przyszłości Wrapland będzie mógł być używany jako uniwersalna biblioteka z API C++, eliminując konieczność korzystania z API C libwayland.

Gotowe pakiety są dostępne dla użytkowników Manjaro Linux. Aby używać KWinFT, wystarczy zainstalować go z repozytorium kwinft, a aby wrócić do standardowego KWin — zainstalować pakiet kwin. Użycie Wrapland nie ogranicza się do KDE, na przykład, przygotowano realizację klienta dla używanego w wlroots protokół zarządzania wyjściem, który pozwala na wykorzystanie KScreen do konfiguracji wyjścia w serwerach kompozytowych opartych na wlroots (Sway, Wayfire)

W międzyczasie, nadal publikowane są aktualizacje projektu KWin-lowlatency, formującego edycję menedżera kompozycji KWin z łatkami poprawiającymi responsywność interfejsu oraz rozwiązującymi niektóre problemy związane z czasem reakcji na działania użytkownika, takie jak opóźnienia w wprowadzaniu. Aby zapewnić ochronę przed występowaniem zrywania (tearing) bez negatywnego wpływu na responsywność, poza DRM VBlank w KWin-lowlatency wspierane jest użycie glXWaitVideoSync, glFinish lub NVIDIA VSync (początkowa ochrona przed zrywaniem w KWin jest zrealizowana z użyciem timera i może powodować znaczne opóźnienia (do 50 ms) wyjścia oraz, w konsekwencji, opóźnienie w reakcji na wprowadzanie). Nowe wydania KWin-lowlatency mogą być stosowane zamiast standardowego serwera kompozytowego w KDE Plasma 5.18.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną przed DDoS, VPS VDS serwery 🔥 Kup niezawodny hosting stron z ochroną przed DDoS, VPS VDS serwery | ProHoster