Wayland 1.26 je dostupan

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

Glavne promjene u protokolu:

  • Добавлено событие 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-izrezi — za dobivanje informacija o izrezima na zaslonu (na primjer, područje ispod prednje kamere na zaslonu pametnog telefona).
  • xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
  • xx-keyboard-filter — za klijenta koji presreće odabrane događaje tipkovnice, mijenja ulazne događaje ili blokira prosljeđivanje određenih događaja fokusiranoj Wayland površini.
  • Protokol xdg-session-management dodan je u kategoriju staging-a, pružajući mogućnost vraćanja stanja i položaja prozora iz prekinute sesije u okruženjima temeljenim na Waylandu, na primjer nakon pada složenog poslužitelja ili aplikacije.
  • Protokol "linux-dmabuf" ažuriran je kako bi podržao sustave s više grafičkih procesora (Multi-GPU). Na takvim sustavima klijent može pregovarati s kompozitnim poslužiteljem o tome koji GPU će koristiti.
  • Protokol za upravljanje bojama v1 ažuriran je kako bi podržao metapodatke slike u BT.2100 formatu za korištenje specifičnih rukovatelja u kompozitnom poslužitelju, omogućujući ispravan prikaz HDR sadržaja stvorenog za Windows.

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

  • В Cinnamon реализована полноценная поддержка Wayland.
  • U ANGLE biblioteci koja se koristi u Chromeu i 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 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.

Podsjetimo, Wayland je protokol za interakciju između kompozitnog poslužitelja i aplikacija koje rade s njim. Klijenti renderiraju vlastite prozore u zasebnom međuspremniku, prosljeđujući ažuriranja kompozitnom poslužitelju, koji kombinira sadržaj pojedinačnih međuspremnika aplikacije kako bi proizveo konačni izlaz koji uzima u obzir moguće nijanse kao što su preklapanje prozora i transparentnost. Drugim riječima, kompozitni poslužitelj ne pruža API za renderiranje pojedinačnih elemenata, već samo radi na već formiranim prozorima, što vam omogućuje da se riješite dvostrukog međuspremnika kada koristite biblioteke visoke razine kao što su GTK i Qt, koje preuzimaju rad na sastavljanju sadržaja prozora.

Wayland решает многие проблемы с безопасностью X11 в X.Org Server, так как в отличие от последнего изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не допускает перехват связанных с другими окнами событий ввода (в XLibre XServer реализовано X11-расширение Xnamespace, обеспечивающее изоляцию клиентов через разделение на уровне пространств имён). Поддержка прямой работы c Wayland реализована для большинства применяемых в Linux grafičke biblioteke, uključujući GTK, Qt, SDL, FLTK, wxWidgets, Clutter i EFL (Enlightenment Foundation Library).

Interakcija s hardverom u Waylandu/Westonu, poput inicijalizacije, prebacivanja video načina rada (DRM modesetting) i upravljanja memorijom (GEM za i915 i TTM za Radeon i Nouveau) za grafičke kartice, može se izvoditi izravno putem modula na razini kernela, eliminirajući potrebu za privilegijama superkorisnika. Kako bi se osiguralo izvršavanje standardnih X11 aplikacija u Wayland okruženju, koristi se XWayland (Device-Dependent X) DDX komponenta, koja je slična radu Xwina i Xquartza za Win32 i macOS.

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster