Roman Gilg, la dezvoltarea KDE, Wayland, Xwayland și X Server, proiect (KWin Fast Track), care dezvoltă un manager de feronerie compozit flexibil și ușor de utilizat pentru Wayland și X11, bazat pe codul sursă . În afară de managerul de feronerie, proiectul dezvoltă și biblioteca cu o implementare a unui wrapper peste libwayland pentru Qt/C++, continuând dezvoltarea , dar fără a fi legat de Qt. Codul este distribuit sub licențele GPLv2 și LGPLv2.
Scopul proiectului este reproiectarea KWin și KWayland folosind
tehnologii și practici moderne de dezvoltare, care să permită accelerarea dezvoltării proiectului, refactorizarea codului, adăugarea de optimizări și simplificarea integrării inovațiilor fundamentale, integrarea căroria în KWin în forma actuală este dificilă. KWinFT și Wrapland pot fi utilizate pentru a înlocui KWin și KWayland în mod transparent, dar ele nu sunt limitate de constrângerile impuse de KWin de către multe produse, păstrarea compatibilității totale cu care este o prioritate, împiedicând avansarea inovațiilor.
În KWinFT, dezvoltatorii au libertatea de a experimenta cu noi funcționalități, menținând stabilitatea prin utilizarea unor tehnici moderne de dezvoltare. De exemplu, pentru verificarea codului KWinFT este utilizat un sistem de integrare continuă, care include verificări cu diferite linter, generarea automată de build-uri și teste extinse. În ceea ce privește dezvoltarea funcționalității, KWinFT se va concentra pe asigurarea unei suporturi complete și de calitate pentru protocolul
Wayland, inclusiv reproiectarea caracteristicilor arhitecturale ale KWin, care complică integrarea cu Wayland.
Printre inovațiile experimentale deja adăugate în KWinFT se numără:
- Reproiectarea procesului de compunere, care a permis îmbunătățirea semnificativă a redării conținutului sub controlul X11 și Wayland. De asemenea, a fost adăugat un temporizator pentru a minimiza întârzierile între crearea imaginii și afișarea acesteia pe ecran.
- A fost implementat un extension al protocolului Wayland „”, care permite clientului să realizeze acțiuni de scalare și tăiere a marginilor suprafeței pe partea serverului. Împreună cu următoarea lansare semnificativă a XWayland, extensia va permite emularea schimbării rezoluției ecranului pentru jocuri mai vechi.
- Suport complet pentru rotirea și oglindirea ieșirii pentru sesiuni bazate pe Wayland.
Wrapland oferă o interfață de programare concepută în stil Qt, care oferă acces la funcțiile libwayland într-o formă ușor de utilizat în proiectele C++. La început, Wrapland a fost planificat ca un fork al KWayland, dar din cauza stării nesatisfăcătoare a codului KWayland, acum este considerat un proiect de revizuire completă a KWayland. Cea mai importantă diferență dintre Wrapland și KWayland este eliminarea dependenței de Qt și capacitatea de a fi utilizat separat fără a instala Qt. În viitor, Wrapland va putea fi folosit ca o bibliotecă universală cu API C++, eliberând dezvoltatorii de necesitatea de a utiliza API-ul C al libwayland.
Pachetele gata sunt formate pentru utilizatorii Manjaro Linux. Pentru a utiliza KWinFT, este suficient să-l instalați din repository-ul kwinft, iar pentru a reveni la KWin-ul standard, să instalați pachetul kwin. Utilizarea Wrapland nu este restricționată la KDE, de exemplu, a fost pregătită o implementare a clientului pentru aplicat în protocolul de gestionare a ieșirii, permițând în serverele compozite bazate pe wlroots (, ) să folosească KScreen pentru configurarea ieșirii.
Între timp, publicarea actualizărilor proiectului , care formează o ediție a managerului de compozitare KWin cu patch-uri pentru creșterea reacției interfeței și corectarea unor probleme legate de viteza de reacție la acțiunile utilizatorului, cum ar fi întârzierea introducerii. Pentru a preveni apariția ruperilor în ieșire (tearing) fără a afecta negativ reacția, pe lângă DRM VBlank, KWin-lowlatency suportă utilizarea glXWaitVideoSync, glFinish sau NVIDIA VSync (protejația împotriva ruperilor inițial prezentă în KWin este implementată folosind un temporizator și poate provoca întârzieri mari (până la 50ms) în ieșire și, ca urmare, întârzieri în reacția la introducere). Noile versiuni KWin-lowlatency pot fi utilizate în locul serverului de compozitare standard în KDE Plasma 5.18.
Sursa: opennet.ro
