После девяти месяцев разработки запуск новая версия стабильной версии протокола, механизма межпроцессного взаимодействия и библиотек Вейланд 1.22.
Ветка 1.22 обратно совместима с версиями API и ABI 1.x. и содержит в основном исправления ошибок и незначительные обновления протокола. Weston Composite Server, который предоставляет код и практические примеры использования Wayland в настольных средах и встроенных решениях, разрабатывается в рамках отдельного цикла разработки.
Для тех, кто не знает о Wayland, вы должны знать, что это протокол взаимодействия составного сервера и приложений кто работает с ним. Клиенты сами делают отрисовку своих окон в отдельный буфер, передавая информацию об обновлениях на составной сервер, который объединяет содержимое отдельных буферов приложения для формирования конечного результата с учетом возможных нюансов, таких как перекрытие окон и прозрачность .
Иными словами, композитный сервер не предоставляет API для рендеринга элементов индивидуальный, но работает только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек вроде GTK и Qt, которые берут на себя работу по сортировке содержимого окна.
Wayland решает многие проблемы безопасности X11 потому что, в отличие от последнего, он изолирует ввод и вывод для каждого окна, не позволяет клиенту получить доступ к содержимому окон других клиентов, а также не позволяет перехватывать события ввода, связанные с другими окнами.
Основные новости Wayland 1.22
В представленной новой версии Wayland 1.22 выделяется то, что поддержка событий wl_surface ::preferred_buffer_scale и wl_surface::preferred_buffer_transform к API wl_surface, через который композитный сервер передает информацию об изменении уровня масштаба и параметров трансформации поверхности.
Еще одно важное изменение: добавлено событие wl_pointer::axis к API wl_pointer, чтобы указать физический адрес указателя для определения правильного направления прокрутки в виджетах.
Кроме того, Wayland-сервер добавил метод получения глобального имени и реализовал функцию wl_client_add_destroy_late_listener.
Со стороны Связанные с Wayland изменения в приложениях, окружении рабочего стола и дистрибутивах, выделяется следующее:
- Wine изначально поддерживает использование в средах, основанных на протоколе Wayland, без компонентов XWayland и X11. На текущем этапе были добавлены драйвер winewayland.drv и компоненты unixlib, а также проведена подготовка к обработке файлов определения протокола Wayland системой сборки. В одном из следующих релизов они планируют включить изменения, чтобы включить вывод в среду Wayland.
- Продолжены улучшения поддержки Wayland в KDE Plasma версий 5.26 и 5.27. Реализована возможность отключить вставку из буфера обмена средней кнопкой мыши. Улучшено качество масштабирования окон для приложений, запускаемых с помощью XWayland.
- Предусмотрен автоматический выбор уровня масштабирования экрана.
- Для Xfce подготовлены экспериментальные версии xfce4-panel и рабочего стола xfdesktop, предлагающие начальную поддержку для работы в средах, основанных на протоколе Wayland.
- Пользовательская среда дистрибутива Tails была перемещена с X-сервера на использование протокола Wayland.
- В системе 3D-моделирования Blender 3.4 реализована поддержка протокола Wayland, что позволяет запускать Blender напрямую в средах на основе Wayland без использования слоя XWayland.
- Выпущена настраиваемая среда Sway версии 1.8 с Wayland.
- Доступна пользовательская среда PaperDE 0.2 с использованием Qt и Wayland.
- Firefox улучшил совместное использование экрана в средах Wayland, исправив проблемы с плавной прокруткой контента, запуском события щелчка при нажатии на полосу прокрутки и прокруткой контента в средах на основе Wayland.
- Valve продолжает развивать составной сервер Gamescope (ранее известный как steamcompmgr), который использует протокол Wayland и используется в операционной системе SteamOS 3.
- Разработка lxqt-sway, порта пользовательского пространства LXQt, поддерживаемого Wayland. Кроме того, еще один проект LWQt разрабатывает собственную оболочку LXQt на основе Wayland.Продолжение переноса рабочего стола MATE на Wayland.
- System76 разрабатывает новую версию пользовательской среды COSMIC с использованием Wayland.
- Wayland включен по умолчанию на мобильных платформах Plasma Mobile, Sailfish, webOS Open Source Edition, Tizen и AsteroidOS.
На базе Wayland разрабатывается Ubuntu Framework и своенравные оболочки.
Наконец, для тех, кто заинтересован в возможности попробовать эту новую версию Вы можете скачать исходный код для вашей сборки с по следующей ссылке.