Даступны Wayland 1.26

Пасля чатырох месяцаў распрацоўкі прадстаўлены стабільны рэліз пратакола, механізма міжпрацэснага ўзаемадзеяння і бібліятэк Wayland 1.26. Ветка 1.26 зваротна сумяшчальная на ўзроўні API і ABI з выпускамі 1.x і ўтрымоўвае ў асноўным выпраўленні памылак і малаважныя абнаўленні пратаколу. Напрацоўкі праекту распаўсюджваюцца пад ліцэнзіяй MIT. Эталонны кампазітны сервер Weston, які прадстаўляе код і працоўныя прыклады для выкарыстання Wayland у дэсктоп-акружэннях і ўбудавальных рашэннях, развіваецца ў рамках асобнага цыклу распрацоўкі.

Асноўныя змены ў пратаколе:

  • Дададзена падзея wl_pointer.warp, праз якую можна атрымліваць апавяшчэнні аб новай пазіцыі паказальніка без апрацоўкі падзеі wl_pointer.motion, генераванага пры актыўнасці карыстальніка.
  • Дададзены запыт wl_fixes.ack_global_remove, прызначаны для адпраўкі кампазітнаму мэнэджэра пацверджання таго, што кліент спыніў апрацоўку падзеі для выключэння стану гонкі пры выдаленні глабальных падзей. Пасля атрымання пацверджання ад усіх кліентаў кампазітны менеджэр можа выдаліць звязаны з падзеяй апрацоўшчык на сваім баку.
  • Дададзена функцыя wl_display_remove_socket_fd() для выдалення сокетаў, да гэтага дададзеных праз выклік wl_display_add_socket_fd().
  • У адладкавым рэжыме WAYLAND_DEBUG забяспечаны выснова ў лог часу ў фармаце «HH:MM:ss.xxxxxx», які спрашчае разбор і параўнанне логаў.

Дададзеныя пасля рашлага выпуску Wayland пашырэнні пратаколаў, якія дапаўняюць базавы пратакол Wayland і пастаўляюцца ў асобным наборы Wayland-Protocols:

  • xx-fractional-scale - для маштабавання сістэмы лагічных каардынат, значэння ў якой задаюцца цэлымі лікамі, для павышэння дакладнасці пазіцыянавання і павелічэння дазволу лагічных каардынат да асобных пікселяў. Падобная магчымасць вырашае праблему з абмежаваным дазволам сістэмы лагічных каардынат, недастатковым для пазіцыянавання на ўзроўні асобных пікселяў, неабходнага для паўнавартаснай рэалізацыі дробавага маштабавання.
  • xx-cutouts - для атрымання інфармацыі аб выразах на экране (напрыклад, вобласці пад франтальную камеру на экране смартфона).
  • xx-zones - для стварэння і даданні вокнаў верхняга ўзроўня ў "зоны" - асяроддзі са сваёй прасторай каардынат. Пратакол дазваляе арганізаваць лагічную расстаноўку вокнаў, у якой кожнае акно размяшчаецца адносна іншага акна.
  • xx-keyboard-filter - для перахопу кліентам выбраных падзей клавіятуры, змены падзей уводу або блакавання перадачы пэўных падзей у Wayland-паверхня, на якой усталяваны фокус уводу.
  • У катэгорыю "staging" дададзены пратакол xdg-session-management, які прадстаўляе магчымасці для аднаўлення стану і пазіцыі вокнаў перапыненага сеансу ў асяроддзі на аснове пратаколу Wayland, напрыклад, пасля аварыйнага завяршэння кампазітнага сервера або прыкладанні.
  • У пратакол "linux-dmabuf" дададзеная падтрымка працы на сістэмах з некалькімі GPU. На падобных сістэмах кліент можа ўзгадніць з кампазітнымі серверам які з GPU варта выкарыстоўваць.
  • У пратакол color-management-v1 дададзеная падтрымка метададзеных малюнкаў у фармаце BT.2100 для ўжывання ў кампазітным серверы спецыфічных апрацоўшчыкаў, якія дазваляюць карэктна адлюстроўваць HDR-кантэнт, створаны для Windows.

Найбольш прыкметныя падзеі, звязаныя з Wayland і адбыліся пасля публікацыі мінулага выпуску:

  • У Cinnamon рэалізавана паўнавартасная падтрымка Wayland.
  • У бібліятэку ANGLE, якая выкарыстоўваецца ў Chrome і Android, дададзеная падтрымка Wayland.
  • У KDE пры выкарыстанні Wayland рэалізавана падтрымка аднаўлення сеансаў і рэалізаваны Wayland-пратакол xx-fractional-scale-v2 для дробавага маштабавання.
  • Створаны порт X.Org-драйвера Synaptics для акружэнняў на базе Wayland.
  • Ініцыяваная праверка гатоўнасці платформаў VFX і анімацыі да замены X11 на Wayland.
  • Пачалося тэсціраванне кампазітнага сервера Xfwl4 ад праекта Xfce.
  • На базе Wayfire і Libadwaita адноўлена карыстацкая абалонка Unity.
  • Абноўлены кампазітныя серверы і асяроддзі працоўнага стала: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker . 26/04, LXQt 2.4.0, Cage 0.3.

Нагадаем, што Wayland уяўляе сабой пратакол узаемадзеяння кампазітнага сервера і якія працуюць з ім прыкладанняў. Кліенты самастойна выконваюць адмалёўку сваіх вокнаў у асобным буферы, перадаючы інфармацыю аб абнаўленнях кампазітнаму серверу, які камбінуе змесціва буфераў асобных прыкладанняў для фармавання выніковай высновы з улікам магчымых нюансаў, такіх як перакрыцце вокнаў і празрыстасць. Іншымі словамі, кампазітны сервер не падае API для адмалёўкі асобных элементаў, а аперуе толькі з ужо сфармаванымі вокнамі, што дазваляе пазбавіцца ад падвойнай буферызацыі пры выкарыстанні высокаўзроўневых бібліятэк, такіх як GTK і Qt, якія бяруць на сябе працу па кампаноўцы змесціва вокнаў.

Wayland вырашае шматлікія праблемы з бяспекай X11 у X.Org Server, бо ў адрозненне ад апошняга ізалюе ўвод і выснова для кожнага акна, не дазваляе кліенту атрымаць доступ да змесціва вокнаў іншых кліентаў, а таксама не дапушчае перахоп злучаных з іншымі вокнамі падзей уводу (у XLibre XServer рэалізавана X11-пашырэнне імёнаў). Падтрымка прамой працы з Wayland рэалізавана для большасці ужывальных у Linux графічных бібліятэк, у тым ліку GTK, Qt, SDL, FLTK, wxWidgets, Clutter і EFL (Enlightenment Foundation Library).

Узаемадзеянне з апаратным забеспячэннем у Wayland/Weston, напрыклад, правядзенне ініцыялізацыі, пераключэнне відэарэжымаў (drm modesetting) і кіраванне памяццю (GEM для i915 і TTM для radeon і nouveau) графічных карт, можа вырабляцца напроста праз модуль, які працуе на ўзроўні ядра, што дазваляе абыйсціся без. Для забеспячэння выканання звычайных X11-прыкладанняў у асяроддзі на базе Wayland выкарыстоўваецца DDX-кампанент XWayland (Device-Dependent X), падобны па арганізацыі працы на Xwin і Xquartz для платформ Win32 і macOS.

Крыніца: opennet.ru

Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы 🔥 Купіць надзейны хостынг для сайтаў з абаронай ад DDoS, VPS VDS серверы | ProHoster