Wayland 1.26 este disponibil

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

Modificări majore în protocol:

  • Добавлено событие 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 — pentru a obține informații despre decupajele de pe ecran (de exemplu, zona de sub camera frontală de pe ecranul smartphone-ului).
  • xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
  • xx-keyboard-filter — pentru ca clientul să intercepteze evenimentele selectate de la tastatură, să modifice evenimentele de intrare sau să blocheze transmiterea anumitor evenimente către suprafața Wayland focalizată.
  • Protocolul xdg-session-management a fost adăugat la categoria de staging, oferind posibilitatea de a restaura starea și poziția ferestrelor dintr-o sesiune întreruptă în mediile bazate pe Wayland, de exemplu după ce un server compozit sau o aplicație se blochează.
  • Protocolul „linux-dmabuf” a fost actualizat pentru a suporta sisteme cu mai multe GPU-uri. Pe astfel de sisteme, clientul poate negocia cu serverul compozit ce GPU să utilizeze.
  • Protocolul color-management-v1 a fost actualizat pentru a accepta metadatele imaginilor în format BT.2100 pentru utilizarea unor handlere specifice în serverul compozit, permițând afișarea corectă a conținutului HDR creat pentru Windows.

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

  • В Cinnamon реализована полноценная поддержка Wayland.
  • În biblioteca ANGLE utilizată în Chrome ș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.

Să ne amintim că Wayland este un protocol de interacțiune între un server compus și aplicațiile care lucrează cu acesta. Clienții își redă propriile ferestre într-un buffer separat, trimițând actualizări către serverul compus, care combină conținutul bufferelor individuale ale aplicației pentru a produce o ieșire finală care ia în considerare posibilele nuanțe, cum ar fi suprapunerea ferestrelor și transparența. Cu alte cuvinte, serverul compozit nu oferă un API pentru randarea elementelor individuale, ci operează doar pe ferestre deja formate, ceea ce vă permite să scăpați de tamponarea dublă atunci când utilizați biblioteci de nivel înalt precum GTK și Qt, care preiau munca de compunere a conținutului ferestrelor.

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

Interacțiunea cu hardware-ul în Wayland/Weston, cum ar fi inițializarea, comutarea modului video (setarea modului DRM) și gestionarea memoriei (GEM pentru i915 și TTM pentru Radeon și Nouveau) pentru plăcile grafice, poate fi efectuată direct printr-un modul la nivel de kernel, eliminând necesitatea privilegiilor de superutilizator. Pentru a asigura execuția aplicațiilor X11 standard într-un mediu bazat pe Wayland, se utilizează componenta DDX XWayland (Device-Dependent X), care funcționează similar cu Xwin și Xquartz pentru Win32 și macOS.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster