Достъпен е Wayland 1.25

След осем месечна разработка е представена стабилна версия на протокола, механизма за междупроцесно взаимодействие и библиотеките Wayland 1.25. Клонът 1.25 е обратно съвместим на ниво API и ABI с изданията 1.x и основно съдържа поправки на грешки и незначителни актуализации на протокола. Резултатите от проекта се разпространяват под лицензия MIT. Референтният композитен сървър Weston, който предоставя код и работни примери за използване на Wayland в десктоп среди и вградени решения, се развива в рамките на отделен цикъл на разработка.

Основни промени в протокола:

  • Документацията е преобразувана от формата DocBook в mdBook (Markdown).
  • Пълно документирани са диалектът Wayland XML, моделът за актуализиране на съдържанието и възможностите за управление на цветовете.
  • Добавен е нов атрибут „frozen“ за интерфейси с няколко родителски интерфейса.
  • Добавена е нова заявка wl_surface.get_release за получаване на уведомление за освобождаване на буфера, прикачен от клиента чрез wl_surface.attach. За разлика от wl_buffer.release, в wl_surface.get_release уведомлението е свързано с конкретен момент на рендериране.
  • Добавена е функция wl_display_dispatch_pending_single(), която позволява да се извлече от опашката на събития и да се обработи само едно събитие, а не всички натрупали се събития, както прави wl_display_dispatch_pending().
  • Обезпечено е цветово кодиране на отладъчния изход WAYLAND_DEBUG.

Добавените от момента на издаването на Wayland 1.25 разширения на протоколите, които допълват основния протокол Wayland и се доставят в отделен пакет Wayland-Protocols:

  • xx-input-method — позволява на приложенията да реализират методи за въвеждане на текст за композитни сървъри и да форматират въведения текст, който може да бъде използван, например, за създаване на виртуални клавиатури и IME-прослойки (Input Method Editor) за обработка на входа.
  • xx-text-input — позволява на композитните сървъри да реализират методи за въвеждане и да изпращат текст в приложенията. Протоколът стандартизира взаимодействието между композитните сървър и приложенията, и позволява управление на такива възможности като предаване на въвеждания текст, обработка на събития за промяна на фокуса и отчитане на спецификата на полетата за въвеждане (език, маркиране на текст, тип съдържание).
  • Допълнени са протоколите color-management-v1 и color-representation-v1, предоставящи възможности за управление на цветовете, поддръжка на HDR и определяне на цветово представяне на Wayland повърхността.

Най-забележителните събития, свързани с Wayland и настъпили след публикуването на предишния брой:

  • В GNOME 50 е премахната поддръжката на X11. В KDE Plasma 6.8 е решено да се прекрати поддръжката на X11.
  • JetBrains прехвърля IDE IntelliJ да използва Wayland по подразбиране.
  • Xfce обяви композитен сървър Xfwl4, използващ Wayland.
  • Работната среда Budgie 10.10 е преместена на Wayland.
  • QNX Developer Desktop, базиран на Wayland.
  • Marathon OS — мобилна ОС на базата на Wayland.
  • Издание на Wayback, прослойка за стартиране на работни桌 X11, използваща компоненти на Wayland.
  • В Cinnamon е добавена опционална възможност за инсталиране на сесийни файлове за Wayland и е реализирана възможност за превключване на клавиатурната подредба при работа с Wayland.
  • В драйвера wine при работа в среди на базата на Wayland е реализирана поддръжка на буфера за обмен, методи за въвеждане, неправоъгълни прозорци и прозрачност.
  • В Cairo-Dock е добавена поддръжка за Wayland.
  • Актуализация на композитните сървъри: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.

Напомняме, че Wayland представлява протокол за взаимодействие между композитен сървър и работещи с него приложения. Клиентите самостоятелно извършват визуализацията на своите прозорци в отделен буфер, предавайки информация за обновленията на композитния сървъра, който комбинира съдържанието на буферите на отделните приложения за формиране на крайния изход с оглед на възможни нюанси, като припокриване на прозорци и прозрачност. С други думи, композитният сървър не предоставя API за рисуване на отделни елементи, а оперира само с вече формулирани прозорци, което позволява да се избегне двойната буферизация при използване на високоуровневи библиотеки, като GTK и Qt, които поемат работата по компоновка на съдържанието на прозорците.

Wayland решава много проблеми със сигурността на 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.

Достъпен е Wayland 1.25Достъпен е Wayland 1.25

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster