KWinFT, як фардкунандаи KWin, ки ба Wayland нигаронида шудааст, муаррифӣ шуд

Роман Гилг, иштироккунанда дар таҳияи KDE, Wayland, Xwayland ва X Server, муаррифӣ кард лоиҳа KWinFT (KWin Fast Track), таҳияи менеҷери равзанаи чандир ва ба осонӣ истифодашаванда барои Wayland ва X11 дар асоси код Квин. Илова ба мудири тиреза, лоиҳа инчунин китобхонаро таҳия мекунад печонидашуда бо татбиқи ҳатмӣ бар libwayland барои Qt / C ++, рушди идома КВэйланд, вале аз ҳатмӣ ба Qt озод. Рамз дар зери иҷозатномаҳои GPLv2 ва LGPLv2 паҳн карда мешавад.

Ҳадафи лоиҳа аз нав коркарди KWin ва KWayland бо истифода аз он мебошад
технологияҳои муосир ва таҷрибаҳои рушд, ки ба шумо имкон медиҳанд, ки рушди лоиҳаро суръат бахшед, кодро рефактор кунед, оптимизатсияро илова кунед ва илова кардани навовариҳои бунёдиро содда кунед, ки ҳамгироии онҳо ба KWin дар шакли ҳозираи он душвор аст. KWinFT ва Wrapland метавонанд барои бефосила иваз кардани KWin ва KWayland истифода шаванд, аммо онҳо бо бастани KWin-и бисёре аз маҳсулотҳо маҳдуд нестанд, ки дар он нигоҳ доштани мутобиқати пурра авлавияте мебошад, ки ба пешравии навоварӣ монеъ мешавад.

Бо KWinFT, таҳиягарон барои озмоиш бо хусусиятҳои нав ва нигоҳ доштани устуворӣ тавассути истифодаи усулҳои муосири рушд дасти озод доранд. Масалан, барои тафтиши коди KWinFT системаи муттаҳидсозии пайваста истифода мешавад, аз ҷумла санҷиш бо истифода аз линтерҳои гуногун, тавлиди автоматии маҷмӯаҳо ва санҷиши пешрафта. Дар робита ба рушди функсионалӣ, тамаркузи асосии KWinFT ба таъмини дастгирии баландсифат ва пурраи протокол равона карда мешавад.
Wayland, аз ҷумла коркарди хусусиятҳои меъмории KWin, ки ҳамгироиро бо Wayland душвор мегардонад.

Дар байни навовариҳои таҷрибавӣ, ки аллакай ба KWinFT илова карда шудаанд, инҳоянд:

  • Раванди таркибсозӣ аз нав кор карда шуд, ки ин намоиши мундариҷаи X11 ва Wayland-ро ба таври назаррас беҳтар кардааст. Илова бар ин, барои кам кардани таъхирҳо байни эҷоди тасвир ва намоиши он дар экран таймер илова карда шудааст.
  • Тамдиди протоколи Wayland татбиқ карда шуд "тамошобин", ба муштарӣ имкон медиҳад, ки миқёси сервер ва буриши кунҷҳои рӯиро иҷро кунад. Дар якҷоягӣ бо нашри навбатии асосии XWayland, васеъшавӣ имкон медиҳад, ки тағиротҳои ҳалли экранро барои бозиҳои кӯҳна тақлид кунанд.
  • Дастгирии пурра барои гардиш ва инъикоси баромад барои сессияҳои дар Wayland асосёфта.

Wrapland интерфейси барномасозии Qt-ро таъмин мекунад, ки дастрасиро ба функсияҳои libwayland дар шакли осон дар лоиҳаҳои C++ таъмин мекунад. Дар аввал ба нақша гирифта шуда буд, ки Wrapland ҳамчун як порчаи KWayland таҳия карда шавад, аммо аз сабаби ҳолати ғайриқаноатбахши рамзи KWayland, он ҳоло ҳамчун лоиҳаи таъмири пурраи KWayland баррасӣ мешавад. Муҳимтарин фарқияти байни Wrapland ва KWayland дар он аст, ки он дигар ба Qt алоқаманд нест ва метавонад бидуни насби Qt алоҳида истифода шавад. Дар оянда Wrapland метавонад ҳамчун китобхонаи универсалӣ бо API C++ истифода шавад, ки зарурати таҳиягаронро барои истифодаи libwayland C API аз байн мебарад.

Бастаҳои тайёр барои корбарони Manjaro Linux сохта шудаанд. Барои истифодаи KWinFT, танҳо kwinft-ро аз анбор насб кунед ва барои баргаштан ба KWin стандартӣ, бастаи kwin-ро насб кунед. Истифодаи Wrapland бо KDE маҳдуд намешавад, масалан, татбиқи муштарӣ барои истифода дар решаҳо Протоколи идоракунии баромад, имкон медиҳад, ки дар серверҳои таркибӣ дар асоси wlroots (Свет, Оташи роҳ) барои танзими натиҷа KScreen-ро истифода баред.

Дар ҳамин ҳол давом додан навсозиҳои лоиҳа нашр карда мешаванд KWin - пастравӣ, ташкили нашри менеҷери таркибии KWin бо часбчаҳо барои баланд бардоштани вокуниши интерфейс ва ислоҳи баъзе мушкилоте, ки бо суръати вокуниш ба амалҳои корбар алоқаманданд, ба мисли кандашавии вуруд. Илова ба DRM VBlank, KWin-lowlatency истифодаи glXWaitVideoSync, glFinish ё NVIDIA VSync-ро барои муҳофизат аз кандашавӣ бидуни таъсири манфии посухдиҳӣ дастгирӣ мекунад (Ҳифзи аслии KWin бо истифода аз таймер амалӣ карда мешавад ва метавонад ба таъхирҳои калон оварда расонад (то 50 мс) ва дар натиҷа, таъхир дар посух ҳангоми вуруд). Варақаҳои нави KWin-lowlatency метавонанд ба ҷои сервери таркибии саҳҳомӣ дар KDE Plasma 5.18 истифода шаванд.

Манбаъ: opennet.ru

Илова Эзоҳ