KWinFT-ը՝ KWin-ի պատառաքաղը՝ կենտրոնացած Ուեյլենդի վրա, ներկայացվեց

Ռոման Գիլգ, մասնակցող KDE, Wayland, Xwayland և X սերվերի մշակման մեջ, ներկայացրեց նախագիծ KWinFT (KWin Fast Track), մշակելով ճկուն և հեշտ օգտագործվող կոմպոզիտային պատուհանների կառավարիչ Wayland-ի և X11-ի համար՝ հիմնված կոդերի բազայի վրա: Քվին. Բացի պատուհանների կառավարիչից, նախագիծը մշակում է նաև գրադարան փաթաթան Qt/C++-ի նկատմամբ libwayland-ի հետ կապված՝ շարունակական զարգացումով Կվեյլենդ, բայց ազատվել է 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-ը կարող է օգտագործվել որպես C++ API-ով ունիվերսալ գրադարան՝ վերացնելով մշակողների կողմից libwayland C API-ն օգտագործելու անհրաժեշտությունը:

Պատրաստի փաթեթներ են ստեղծվում Manjaro Linux-ի օգտատերերի համար։ KWinFT-ն օգտագործելու համար պարզապես տեղադրեք kwinft-ը պահոցից, իսկ ստանդարտ KWin-ին վերադառնալու համար տեղադրեք kwin փաթեթը: Wrapland-ի օգտագործումը չի սահմանափակվում KDE-ով, օրինակ, հաճախորդի ներդրումը պատրաստվել է օգտագործման համար wlroots ելքային կառավարման արձանագրություն, որը թույլ է տալիս կոմպոզիտային սերվերների վրա հիմնված wlroots (Sway, Վայֆիր) օգտագործեք KScreen ելքը հարմարեցնելու համար:

Մինչդեռ շարունակել Ծրագրի թարմացումները կհրապարակվեն KWin- ցածր լատենտություն, ձևավորելով KWin կոմպոզիտային մենեջերի թողարկումը պատչերով՝ ինտերֆեյսի արձագանքողությունը բարձրացնելու և օգտագործողի գործողություններին արձագանքելու արագության հետ կապված որոշ խնդիրներ, ինչպիսիք են մուտքային կակազությունը: Ի լրումն DRM VBlank-ի, KWin-lowlatency-ն աջակցում է glXWaitVideoSync, glFinish կամ NVIDIA VSync-ի օգտագործումը՝ պատռվելուց պաշտպանություն ապահովելու համար՝ առանց բացասական ազդեցության արձագանքման (KWin-ի սկզբնական պատռման պաշտպանությունն իրականացվում է ժամանակաչափի միջոցով և կարող է հանգեցնել մեծ ուշացումների (մինչև 50) և, որպես հետևանք, մուտքագրման ժամանակ պատասխանի ուշացում): KWin-lowlatency-ի նոր թողարկումները կարող են օգտագործվել KDE Plasma 5.18-ի ֆոնդային կոմպոզիտային սերվերի փոխարեն:

Source: opennet.ru

Добавить комментарий