KWinFT, o bifurcătură a KWin axată pe Wayland, a fost introdusă

Roman Gilg, participarea în dezvoltarea KDE, Wayland, Xwayland și X Server, a prezentat proiect KWinFT (KWin Fast Track), dezvoltarea unui manager de ferestre compozit flexibil și ușor de utilizat pentru Wayland și X11, bazat pe baza de cod Victorie. Pe lângă managerul de ferestre, proiectul dezvoltă și o bibliotecă învelitoare cu implementarea unei legături peste libwayland pentru Qt/C++, dezvoltarea continuă Kwayland, dar eliberat de legarea la Qt. Codul este distribuit sub licențe GPLv2 și LGPLv2.

Scopul proiectului este de a recicla KWin și KWayland folosind
tehnologii moderne și practici de dezvoltare care vă permit să accelerați dezvoltarea proiectului, să refactorați codul, să adăugați optimizări și să simplificați adăugarea de inovații fundamentale, a căror integrare în KWin în forma sa actuală este dificilă. KWinFT și Wrapland pot fi folosite pentru a înlocui fără probleme KWin și KWayland, dar nu sunt limitate de blocarea KWin a multor produse în care menținerea compatibilității depline este o prioritate care împiedică inovația să avanseze.

Cu KWinFT, dezvoltatorii au libertatea de a experimenta cu noi funcții, menținând în același timp stabilitatea prin utilizarea unor tehnici de dezvoltare mai moderne. De exemplu, pentru a verifica codul KWinFT, se folosește un sistem de integrare continuă, inclusiv verificarea folosind diferite linter, generarea automată a ansamblurilor și testarea avansată. În ceea ce privește dezvoltarea funcționalității, principalul accent al KWinFT va fi furnizarea de suport complet și de înaltă calitate pentru protocol
Wayland, inclusiv reelaborarea caracteristicilor arhitecturale KWin care complică integrarea cu Wayland.

Printre inovațiile experimentale adăugate deja la KWinFT se numără:

  • Procesul de compunere a fost reproiectat, ceea ce a îmbunătățit semnificativ redarea conținutului care rulează X11 și Wayland. În plus, a fost adăugat un temporizator pentru a minimiza întârzierile dintre crearea unei imagini și afișarea acesteia pe ecran.
  • Am implementat o extensie a protocolului Wayland "vizualizator„, permițând clientului să efectueze scalarea și tăierea marginilor suprafeței pe partea de server. Combinată cu următoarea lansare majoră a XWayland, extensia va oferi posibilitatea de a emula modificările rezoluției ecranului pentru jocurile mai vechi.
  • Suport complet pentru ieșirea rotativă și oglindă pentru sesiunile bazate pe Wayland.

Wrapland oferă o interfață de programare în stil Qt care oferă acces la funcțiile libwayland într-o formă ușor de utilizat în proiectele C++. Inițial, Wrapland a fost planificat să fie dezvoltat ca o bifurcație a KWayland, dar din cauza stării nesatisfăcătoare a codului KWayland, acum este considerat un proiect de reproiectare completă a KWayland. Cea mai importantă diferență dintre Wrapland și KWayland este că nu mai este legat de Qt și poate fi folosit separat fără a instala Qt. În viitor, Wrapland poate fi folosit ca bibliotecă universală cu un API C++, eliminând necesitatea ca dezvoltatorii să folosească API-ul libwayland C.

Pachetele gata făcute sunt create pentru utilizatorii Manjaro Linux. Pentru a utiliza KWinFT, trebuie doar să instalați kwinft din depozit și, pentru a reveni la KWin standard, instalați pachetul kwin. Utilizarea Wrapland nu se limitează la KDE, de exemplu, o implementare client a fost pregătită pentru utilizare în wlroots protocol de control al ieșirii, care permite accesul la servere compuse bazate pe wlroots (Balansa, Firefire) utilizați KScreen pentru a personaliza ieșirea.

Între timp, continua actualizările proiectului vor fi publicate KWin-latență scăzută, formând o ediție a managerului compozit KWin cu patch-uri pentru a crește capacitatea de răspuns a interfeței și a remedia unele probleme asociate cu viteza de răspuns la acțiunile utilizatorului, cum ar fi bâlbâiala de intrare. Pe lângă DRM VBlank, KWin-lowlatency acceptă utilizarea glXWaitVideoSync, glFinish sau NVIDIA VSync pentru a oferi protecție împotriva ruperii fără a afecta negativ capacitatea de răspuns (protecția originală la rupere a KWin este implementată folosind un temporizator și poate duce la latențe mari (până la 50 ms). și, ca rezultat, o întârziere a răspunsului la intrare). Noile versiuni ale KWin-lowlatency pot fi utilizate în locul serverului stoc compus în KDE Plasma 5.18.

Sursa: opennet.ru

Adauga un comentariu