KWinFT, eng Gabel vu KWin konzentréiert op Wayland, agefouert

Roman Gilg, matmaachen an der Entwécklung vu KDE, Wayland, Xwayland an X Server, agefouert Projet KWinFT (KWin Fast Track), entwéckelt e flexibelen an einfach ze benotzen Kompositfenstermanager fir Wayland an X11 baséiert op der Codebase Kwin. Nieft dem Fënstermanager entwéckelt de Projet och eng Bibliothéik wrapland mat der Ëmsetzung vun engem verbindlechen iwwer libwayland fir Qt / C ++, weider Entwécklung KWayland, mee befreit vun verbindlechen ze Qt. De Code gëtt ënner GPLv2 an LGPLv2 Lizenzen verdeelt.

D'Zil vum Projet ass KWin a KWayland ze recycléieren
modern Technologien an Entwécklungspraktiken, déi Iech erlaben d'Entwécklung vum Projet ze beschleunegen, de Code ze refactoréieren, Optimisatiounen ze addéieren an d'Zousatz vu fundamentalen Innovatiounen ze vereinfachen, d'Integratioun vun deenen an KWin a senger aktueller Form schwéier ass. KWinFT a Wrapland kënne benotzt ginn fir KWin a KWayland nahtlos ze ersetzen, awer si sinn net limitéiert duerch de KWin-Spär vu ville Produkter, wou d'Erhalen vun der voller Kompatibilitéit eng Prioritéit ass, déi d'Innovatioun verhënnert no vir ze kommen.

Mat KWinFT hunn d'Entwéckler eng fräi Hand fir mat neie Fonctiounen ze experimentéieren wärend Stabilitéit duerch d'Benotzung vu méi modernen Entwécklungstechniken behalen. Zum Beispill, fir de KWinFT Code z'iwwerpréiwen, gëtt e kontinuéierleche Integratiounssystem benotzt, inklusiv Verifizéierung mat verschiddene Linters, automatesch Generatioun vu Versammlungen a verlängert Tester. Wat d'Funktionalitéitsentwécklung ugeet, wäert den Haaptfokus vu KWinFT op qualitativ héichwäerteg a komplett Protokoll Ënnerstëtzung sinn
Wayland, dorënner KWin architektonesch Fonctiounen ëmgebaut, déi d'Integratioun mat Wayland komplizéiere.

Ënnert den experimentellen Innovatiounen déi scho bei KWinFT bäigefüügt sinn:

  • De Kompositiounsprozess gouf ëmgeschafft, wat d'Rendering vum Inhalt deen X11 a Wayland laaft wesentlech verbessert huet. Zousätzlech ass en Timer bäigefüügt fir Verzögerungen tëscht der Schafung vun engem Bild a senger Display um Bildschierm ze minimiséieren.
  • Ëmgesat eng Verlängerung vum Wayland Protokoll "viewporter", erlaabt dem Client Server-Säit Skaléieren an Trimmen vun Uewerflächekanten auszeféieren. Kombinéiert mat der nächster grousser Verëffentlechung vum XWayland, gëtt d'Extensioun d'Fäegkeet fir Écran Resolutioun Ännerungen fir eeler Spiller ze emuléieren.
  • Voll Ënnerstëtzung fir Rotatioun a Spigelen Output fir Wayland-baséiert Sessiounen.

Wrapland stellt eng Qt-Stil programméiere Interface datt Zougang zu libwayland Funktiounen an enger Form gëtt einfach an C ze benotzen ++ Projeten. Wrapland war ursprénglech geplangt als Gabel vu KWayland entwéckelt ze ginn, awer wéinst dem onzefriddenen Zoustand vum KWayland Code gëtt et elo als e Projet ugesinn fir KWayland komplett ze iwwerschaffen. De wichtegsten Ënnerscheed tëscht Wrapland an KWayland ass, datt et net méi un Qt gebonnen ass a kann separat benotzt ginn ouni Qt installéiert. An Zukunft kann Wrapland als universal Bibliothéik mat enger C ++ API benotzt ginn, eliminéiert d'Notzung fir d'Entwéckler fir d'libwayland C API ze benotzen.

Fäerdeg Pakete gi fir Manjaro Linux Benotzer erstallt. Fir KWinFT ze benotzen, installéiere just kwinft aus dem Repository, a fir zréck op de Standard KWin ze rullen, installéiert de kwin Package. D'Benotzung vu Wrapland ass net limitéiert op KDE, zum Beispill, eng Clientimplementatioun gouf virbereet fir ze benotzen an wlroots Output Kontrollprotokoll, erlaabt a Composite Server baséiert op wlroots (Sway, Wayfire) benotzt KScreen fir d'Ausgab ze personaliséieren.

Mëttlerweil, weider Projet Aktualiséierungen wäert publizéiert ginn KWin-lowlatency, Bildung vun enger Editioun vum KWin Composite Manager mat Patches fir d'Reaktiounsfäegkeet vun der Interface ze erhéijen an e puer Probleemer ze fixéieren, déi mat der Geschwindegkeet vun der Äntwert op Benotzeraktiounen verbonne sinn, wéi zB Input stuttering. Zousätzlech zu DRM VBlank ënnerstëtzt KWin-Lowlatency d'Benotzung vu glXWaitVideoSync, glFinish oder NVIDIA VSync fir Schutz géint Tréine ze bidden ouni d'Reaktiounsfäegkeet negativ ze beaflossen (KWin säin ursprénglechen Tréineschutz gëtt mat engem Timer implementéiert a kann zu grousse latencies (bis zu 50ms) Output féieren an, als Resultat, eng Verspéidung vun der Äntwert beim Input). Nei Verëffentlechunge vu KWin-Lowlatency kënnen amplaz vum Stock Composite Server am KDE Plasma 5.18 benotzt ginn.

Source: opennet.ru

Setzt e Commentaire