Waylandга багытталган KWin айрысы KWinFT киргизилген

Роман Гилг, катышуу KDE, Wayland, Xwayland жана X Server иштеп чыгууда, берилген долбоору KWinFT (KWin Fast Track), код базасынын негизинде Wayland жана X11 үчүн ийкемдүү жана колдонууга оңой курама терезе менеджерин иштеп чыгуу Жеңиш. Терезе менеджеринен тышкары, долбоор китепкананы да иштеп чыгат оролгон Qt / C ++ үчүн libwayland үстүнөн милдеттүү ишке ашыруу менен, өнүктүрүүнү улантуу KWayland, бирок Qt менен байланышкандан бошотулган. Код GPLv2 жана LGPLv2 лицензиялары боюнча таратылат.

Долбоордун максаты KWin жана KWayland аркылуу кайра иштетүү болуп саналат
долбоордун иштеп чыгуусун тездетүүгө, кодду рефакторлоого, оптималдаштырууларды кошууга жана фундаменталдык инновацияларды кошууну жөнөкөйлөтүүгө мүмкүндүк берген заманбап технологиялар жана иштеп чыгуу практикалары, аларды KWinге азыркы түрүндө интеграциялоо кыйын. KWinFT жана Wrapland KWin менен KWaylandди кынтыксыз алмаштыруу үчүн колдонулушу мүмкүн, бирок алар толук шайкештикти сактоо инновациялардын алдыга жылышына тоскоол болгон приоритет болгон көптөгөн өнүмдөрдүн KWin кулпусу менен чектелбейт.

KWinFT менен иштеп чыгуучулар жаңы мүмкүнчүлүктөр менен эксперимент жүргүзүүгө эркин колу бар, ошол эле учурда заманбап өнүктүрүү ыкмаларын колдонуу аркылуу туруктуулукту сакташат. Мисалы, KWinFT кодун текшерүү үчүн үзгүлтүксүз интеграциялык система колдонулат, анын ичинде ар кандай линтерлерди колдонуу менен текшерүү, ассамблеяларды автоматтык түрдө түзүү жана өркүндөтүлгөн тестирлөө. Функционалдыкты өнүктүрүү жагынан KWinFTтин негизги багыты протоколдук колдоону сапаттуу жана толук камсыздоого бурулат.
Wayland, анын ичинде Wayland менен интеграцияны кыйындаткан KWin архитектуралык өзгөчөлүктөрүн кайра иштетүү.

KWinFTге буга чейин кошулган эксперименталдык инновациялардын арасында:

  • Композиттөө процесси кайра иштетилди, бул X11 жана Wayland иштеткен мазмундун көрсөтүүсүн бир топ жакшыртты. Кошумчалай кетсек, сүрөттү түзүү менен аны экранда көрсөтүүнүн ортосундагы кечигүүлөрдү азайтуу үчүн таймер кошулган.
  • Wayland протоколуна узартуу ишке ашырылды "көрүүчү", кардар сервер тарабында масштабдоону жана бетинин четтерин кыркууну аткарууга мүмкүндүк берет. XWayland кийинки негизги релизинин менен бирге, кеңейтүү эски оюндар үчүн экрандын чечилишинин өзгөртүүлөрүн эмуляциялоо мүмкүнчүлүгүн берет.
  • Wayland негизиндеги сеанстарды айлантуу жана чагылдыруу үчүн толук колдоо.

Wrapland C++ долбоорлорунда колдонууга оңой формада libwayland функцияларына жетүүнү камсыз кылган Qt стилиндеги программалоо интерфейсин камсыз кылат. Wrapland алгач KWayland айрысы катары иштелип чыгуусу пландаштырылган, бирок KWayland кодексинин канааттандырарлык эмес абалынан улам, ал азыр KWayland толук оңдоо долбоору катары каралууда. Wrapland менен KWayland ортосундагы эң маанилүү айырма, ал мындан ары Qt менен байланышпайт жана Qt орнотпостон өзүнчө колдонсо болот. Келечекте Wrapland C++ API менен универсалдуу китепкана катары колдонулушу мүмкүн, бул иштеп чыгуучулардын libwayland C API колдонуу зарылдыгын жокко чыгарат.

Даяр пакеттер Manjaro Linux колдонуучулары үчүн түзүлгөн. KWinFTти колдонуу үчүн, жөн гана репозиторийден kwinft орнотуп, стандарттуу KWinге кайра өтүү үчүн kwin пакетин орнотуңуз. Wrapland колдонуу KDE менен эле чектелбейт, мисалы, кардар ишке ашырууда колдонуу үчүн даярдалган wroots Wlroots негизиндеги композиттик серверлерге уруксат берүүчү чыгууну башкаруу протоколу (Sway, Wayfire) чыгарууну ыңгайлаштыруу үчүн KScreen колдонуңуз.

Ал ортодо, улантуу долбоордун жаңыртуулары жарыяланат KWin-төмөнкү күтүү, интерфейстин жооп берүү жөндөмдүүлүгүн жогорулатуу жана колдонуучунун аракеттерине жооп берүү ылдамдыгы менен байланышкан кээ бир көйгөйлөрдү чечүү үчүн патчтары бар KWin композит менеджеринин чыгарылышын түзүү, мисалы, киргизүү кекечтиги. DRM VBlankтан тышкары, KWin-lowlatency glXWaitVideoSync, glFinish же NVIDIA VSync колдонууну колдойт (KWin'дин оригиналдуу жыртылуудан коргоосу таймердин жардамы менен ишке ашырылат жана чоң кечигүүлөргө алып келиши мүмкүн (50 мс чейин)) жана, натыйжада, киргизүүдө жооп кечигүү). KWin-lowlatency жаңы релиздерин KDE Plasma 5.18.

Source: opennet.ru

Комментарий кошуу