Прадстаўлены KWinFT, форк KWin, сфакусаваны на Wayland

Раман Гілг (Roman Gilg), які ўдзельнічае у распрацоўцы KDE, Wayland, Xwayland і X Server, прадставіў праект KWinFT (KWin Fast Track), які развівае гнуткі і просты ў выкарыстанні кампазітны аконны мэнэджар для Wayland і X11, заснаваны на кодавай базе KWin. Апроч аконнага мэнэджара праект таксама развівае бібліятэку. wrapland з рэалізацыяй абвязкі над libwayland для Qt/C++, якая працягвае развіццё KWayland, Але пазбаўленай ад прывязкі да Qt. Код распаўсюджваецца пад ліцэнзіямі GPLv2 і LGPLv2.

Мэтай праекту з'яўляецца перапрацоўка KWin і KWayland з выкарыстаннем
сучасных тэхналогій і практык распрацоўкі, якія дазваляюць паскорыць развіццё праекта, правесці рэфактарынг кода, дадаць аптымізацыі і спрасціць даданне фундаментальных навін, інтэграцыя якіх у KWin у бягучым выглядзе абцяжарана. KWinFT і Wrapland могуць выкарыстоўвацца для празрыстай замены KWin і KWayland, але яны не абмежаваныя рамкамі, якія накладвае завязка на KWin шматлікіх прадуктаў, захаванне поўнай сумяшчальнасці з якімі з'яўляецца прыярытэтам, якія перашкаджаюць пасоўванню навін.

У KWinFT у распрацоўнікаў развязаныя рукі і яны могуць эксперыментаваць з новымі магчымасцямі, дамагаючыся захавання стабільнасці за кошт ужывання больш сучасных тэхнік распрацоўкі. Напрыклад, для праверкі кода KWinFT задзейнічана сістэма бесперапыннай інтэграцыі, якая ўключае праверку пры дапамозе розных linter, аўтаматычнае фарміраванне зборак і пашыранае тэсціраванне. Што да развіцця функцыянальнасці, асноўная ўвага ў KWinFT будзе надавацца забеспячэнню якаснай і поўнай падтрымкі пратаколу.
Wayland, у тым ліку перапрацоўцы архітэктурных асаблівасцяў KWin, якія ўскладняюць інтэграцыю з Wayland.

Сярод ужо дададзеных у KWinFT эксперыментальных навін, адзначаюцца:

  • Перапрацаваны працэс кампазітынгу, што дазволіла значна палепшыць адмалёўку кантэнту пад кіраваннем X11 і Wayland. Дадаткова дададзены таймер для мінімізацыі затрымак паміж стварэннем выявы і яго высновай на экран.
  • Рэалізавана пашырэнне пратаколу Wayland «viewporter«, якое дазваляе кліенту выконваць дзеянні па маштабаванні і абразанні краёў паверхні на баку сервера. У спалучэнні з наступным значным выпускам XWayland пашырэнне дасць магчымасць эмуляваць змену дазволу экрана для старых гульняў.
  • Поўная падтрымка павароту і люстранога адлюстравання вываду для сеансаў на аснове Wayland.

Wrapland падае спраектаваны ў стылі Qt праграмны інтэрфейс, які прадстаўляе доступ да функцый libwayland у форме зручнай для выкарыстання ў праектах на З++. Спачатку Wrapland планавалі развіваць як форк KWayland, але з-за нездавальняючага стану кода KWayland ён зараз разглядаецца як праект па поўнай перапрацоўцы KWayland. Найбольш важным адрозненнем Wrapland ад KWayland з'яўляецца збавенне ад прывязкі да Qt і магчымасць выкарыстання асобна без усталёўкі Qt. У будучыні Wrapland зможа прымяняцца як універсальная бібліятэка з З++ API, якая пазбаўляе распрацоўшчыкаў ад неабходнасці выкарыстання З API libwayland.

Гатовыя пакеты сфарміраваны для карыстальнікаў Manjaro Linux. Для задзейнічання KWinFT дастаткова ўсталяваць з рэпазітара kwinft, а для адкату на штатны KWin - усталяваць пакет kwin. Выкарыстанне Wrapland не абмяжоўваецца KDE, напрыклад, падрыхтавана рэалізацыя кліента для прымяняецца ў карані пратаколу кіравання высновай, якая дазваляе ў кампазітных серверах на базе wlroots (Улада, Шляховы агонь) выкарыстоўваць KScreen для налады вываду.

Тым часам, працягваюць публікавацца абнаўлення праекта KWin-lowlatency, Які фармуе рэдакцыю кампазітнага мэнэджара KWin з патчамі для павелічэння спагадлівасці інтэрфейсу і выпраўленні некаторых праблем, злучаных са хуткасцю рэакцыі на дзеянні карыстача, такіх як прытармажванне ўводу. Для прадастаўлення абароны ад з'яўлення парываў пры выснове (tearing) без негатыўнага ўплыву на спагадлівасць акрамя DRM VBlank у KWin-lowlatency падтрымліваецца выкарыстанне glXWaitVideoSync, glFinish або NVIDIA VSync (першапачаткова прысутная ў KWin абарона ад парываў рэалізаваная з выкарыстаннем тай. да 50мс) высновы і, як следства, да запазнення рэакцыі пры ўводзе). Новыя выпускі KWin-lowlatency могуць выкарыстоўвацца замест штатнага кампазітнага сервера ў KDE Plasma 5.18.

Крыніца: opennet.ru

Дадаць каментар