KWinFT, orita ti KWin lojutu lori Wayland, ti a ṣe

Roman Gilg, kopa ni idagbasoke ti KDE, Wayland, Xwayland ati X Server, ṣafihan igbiyanju KWinFT (Orin Yara KWin), dagbasoke oluṣakoso window apapo ti o rọ ati irọrun-lati lo fun Wayland ati X11 ti o da lori koodu koodu Ṣẹgun. Ni afikun si oluṣakoso window, iṣẹ naa tun ṣe agbekalẹ ile-ikawe kan murasilẹ pẹlu imuse ti a abuda lori libwayland fun Qt / C ++, tesiwaju idagbasoke KWayland, ṣugbọn ominira lati abuda to Qt. Awọn koodu ti pin labẹ GPLv2 ati LGPLv2 iwe-ašẹ.

Idi ti ise agbese na ni lati tunlo KWin ati KWayland ni lilo
awọn imọ-ẹrọ ode oni ati awọn iṣe idagbasoke ti o gba ọ laaye lati yara si idagbasoke iṣẹ akanṣe naa, ṣe atunṣe koodu, ṣafikun awọn iṣapeye ati rọrun afikun ti awọn imotuntun ipilẹ, iṣọpọ eyiti o wa sinu KWin ni fọọmu lọwọlọwọ rẹ nira. KWinFT ati Wrapland le ṣee lo lati rọpo KWin ati KWayland lainidi, ṣugbọn wọn ko ni opin nipasẹ titiipa KWin ti ọpọlọpọ awọn ọja nibiti mimu ibaramu kikun jẹ pataki ti o ṣe idiwọ isọdọtun lati lọ siwaju.

Pẹlu KWinFT, awọn olupilẹṣẹ ni ọwọ ọfẹ lati ṣe idanwo pẹlu awọn ẹya tuntun lakoko mimu iduroṣinṣin nipasẹ lilo awọn ilana idagbasoke ode oni diẹ sii. Fun apẹẹrẹ, lati ṣayẹwo koodu KWinFT, eto iṣọpọ lemọlemọfún ni a lo, pẹlu ijẹrisi nipa lilo awọn linters oriṣiriṣi, iran adaṣe ti awọn apejọ ati idanwo ilọsiwaju. Ni awọn ofin ti idagbasoke iṣẹ ṣiṣe, idojukọ akọkọ ti KWinFT yoo wa lori ipese didara giga ati atilẹyin ilana pipe.
Wayland, pẹlu atunṣiṣẹ KWin awọn ẹya ayaworan ti o diju iṣọpọ pẹlu Wayland.

Lara awọn imotuntun esiperimenta ti a ti ṣafikun tẹlẹ si KWinFT ni:

  • Ilana ikojọpọ naa ti tun ṣiṣẹ, eyiti o ti ni ilọsiwaju si imudara akoonu ti nṣiṣẹ X11 ati Wayland. Ni afikun, a ti ṣafikun aago kan lati dinku awọn idaduro laarin ṣiṣẹda aworan ati ifihan rẹ loju iboju.
  • Ti ṣe itẹsiwaju si Ilana Wayland"oluwo“, gbigba alabara laaye lati ṣe igbelowọn ẹgbẹ olupin ati gige awọn egbegbe dada. Ni idapọ pẹlu itusilẹ pataki ti o tẹle ti XWayland, itẹsiwaju yoo pese agbara lati farawe awọn ayipada ipinnu iboju fun awọn ere agbalagba.
  • Atilẹyin ni kikun fun yiyi ati iṣelọpọ digi fun awọn akoko orisun Wayland.

Wrapland pese a Qt-ara siseto ni wiwo ti o pese wiwọle si libwayland awọn iṣẹ ni a fọọmu rọrun a lilo ninu C ++ ise agbese. Wrapland ti gbero ni akọkọ lati ni idagbasoke bi orita ti KWayland, ṣugbọn nitori ipo aitẹlọrun ti koodu KWayland, o ti wa ni bayi bi iṣẹ akanṣe lati tun KWayland patapata. Awọn pataki iyato laarin Wrapland ati KWayland ni wipe o ti wa ni ko si ohun to so si Qt ati ki o le ṣee lo lọtọ lai fifi Qt. Ni ojo iwaju, Wrapland le ṣee lo bi ile-ikawe gbogbo agbaye pẹlu C++ API, imukuro iwulo fun awọn olupilẹṣẹ lati lo libwayland C API.

Awọn idii ti o ti ṣetan ni a ṣẹda fun awọn olumulo Linux Manjaro. Lati lo KWinFT, kan fi kwinft sori ibi ipamọ, ati lati yi pada si KWin boṣewa, fi package kwin sori ẹrọ. Lilo Wrapland ko ni opin si KDE, fun apẹẹrẹ, imuse alabara kan ti pese sile fun lilo ninu wlroots Ilana iṣakoso iṣelọpọ, gbigba ni awọn olupin akojọpọ ti o da lori wlroots (Sway, Ina ojuonalo KScreen lati ṣe akanṣe iṣelọpọ.

Nibayi, tesiwaju awọn imudojuiwọn ise agbese yoo wa ni atejade KWin-kekere, ṣiṣẹda ẹda ti oluṣakoso akojọpọ KWin pẹlu awọn abulẹ lati mu idahun ti wiwo pọ si ati ṣatunṣe diẹ ninu awọn iṣoro ti o ni nkan ṣe pẹlu iyara ti idahun si awọn iṣe olumulo, gẹgẹ bi stuttering input. Ni afikun si DRM VBlank, KWin-lowlatency ṣe atilẹyin lilo glXWaitVideoSync, glFinish tabi NVIDIA VSync lati pese aabo lodi si yiya laisi ipadabọ ni odi (Idaabobo yiya atilẹba ti KWin ti wa ni imuse nipa lilo aago kan ati pe o le ja si awọn lairi nla (to 50ms) ati, bi abajade, idaduro ni idahun nigbati titẹ sii). Awọn idasilẹ tuntun ti KWin-lowlatency le ṣee lo dipo olupin akojọpọ ọja ni KDE Plasma 5.18.

orisun: opennet.ru

Fi ọrọìwòye kun