Introdotto KWinFT, un fork di KWin focalizzato su Wayland

Roman Gilg, partecipando allo sviluppo di KDE, Wayland, Xwayland e X Server, ha presentato progetto KWinFT (KWin Fast Track), che sviluppa un gestore di finestre composito flessibile e facile da usare per Wayland e X11, basato sul codice sorgente KWin. Oltre al gestore di finestre, il progetto sviluppa anche la libreria wrapland con un'implementazione di un wrapper per libwayland per Qt/C++, continuando lo sviluppo di KWayland,ma priva del legame con Qt. Il codice è distribuito sotto le licenze GPLv2 e LGPLv2.

L'obiettivo del progetto è ristrutturare KWin e KWayland utilizzando
tecnologie moderne e pratiche di sviluppo che consentano di accelerare lo sviluppo del progetto, effettuare un refactoring del codice, aggiungere ottimizzazioni e semplificare l'integrazione di innovazioni fondamentali, il cui sviluppo in KWin nella sua forma attuale è difficoltoso. KWinFT e Wrapland possono essere utilizzati per una sostituzione trasparente di KWin e KWayland, ma non sono limitati dai vincoli che KWin impone a molti prodotti, la cui piena compatibilità è una priorità che frena l'implementazione di novità.

In KWinFT gli sviluppatori hanno piena libertà di sperimentare nuove funzionalità, mantenendo la stabilità attraverso l'adozione di tecniche di sviluppo più moderne. Ad esempio, per il controllo del codice di KWinFT è in atto un sistema di integrazione continua che include verifiche con vari linter, generazione automatica di build e test estesi. Per quanto riguarda lo sviluppo delle funzionalità, KWinFT si concentrerà sulla fornitura di un supporto completo e di qualità per il protocollo
Wayland, inclusa la revisione delle caratteristiche architetturali di KWin che complicano l'integrazione con Wayland.

Tra le innovazioni sperimentali già aggiunte in KWinFT, si notano:

  • Un processo di compositing ristrutturato, che ha permesso di migliorare significativamente il rendering dei contenuti gestiti da X11 e Wayland. Inoltre, è stato aggiunto un timer per ridurre le latenze tra la creazione dell'immagine e la sua visualizzazione sullo schermo.
  • È stata implementata un'estensione del protocollo Wayland "viewporter", che consente al client di eseguire operazioni di scaling e ritaglio dei bordi della superficie lato server. In combinazione con il prossimo significativo rilascio di XWayland, l'estensione permetterà di emulare il cambiamento della risoluzione dello schermo per i vecchi giochi.
  • Supporto completo per la rotazione e il mirroring dell'output per le sessioni basate su Wayland.

Wrapland fornisce un'interfaccia di programmazione progettata in stile Qt, che offre accesso alle funzioni di libwayland in una forma comoda per essere utilizzata in progetti C++. Inizialmente, Wrapland era pianificato come un fork di KWayland, ma a causa dello stato insoddisfacente del codice di KWayland, ora è visto come un progetto di ristrutturazione completa di KWayland. La differenza più importante tra Wrapland e KWayland è l'assenza del legame con Qt e la possibilità di utilizzo autonomo senza installazione di Qt. In futuro, Wrapland potrà essere utilizzato come libreria universale con API C++ che libera gli sviluppatori dalla necessità di usare l'API C di libwayland.

Pacchetti pronti sono stati creati per gli utenti di Manjaro Linux. Per utilizzare KWinFT, è sufficiente installarlo dal repository kwinft, mentre per tornare al KWin standard, si deve installare il pacchetto kwin. L'uso di Wrapland non è limitato a KDE, ad esempio, è stata preparata un'implementazione del client per il protocollo di gestione dell'output, che consente l'uso di KScreen per la configurazione dell'output su server compositi basati su wlroots ( wlroots ).Sway, WayfireNel frattempo,

Nel frattempo, continuano vengono pubblicati aggiornamenti del progetto KWin-lowlatency,che crea una versione del gestore di finestre KWin con patch per aumentare la reattività dell'interfaccia e risolvere alcune problematiche legate alla risposta alle azioni dell'utente, come il ritardo nell'input. Per prevenire il tearing senza compromettere la reattività, oltre al DRM VBlank in KWin-lowlatency è supportato l'uso di glXWaitVideoSync, glFinish o NVIDIA VSync (la protezione dal tearing inizialmente presente in KWin è implementata con l'uso di un timer e può causare latenze elevate, fino a 50 ms, nell'output e, di conseguenza, ritardi nella reazione all'input). Nuove versioni di KWin-lowlatency possono essere utilizzate al posto dell'attuale server composito in KDE Plasma 5.18.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster