Прощай, X11: Wayland 1.24 окончательно меняет правила игры для Linux-десктопов
NewsMakerПротокол обновлён: расширения, API и поддержка буферов.
Спустя 13 месяцев разработки опубликован стабильный релиз протокола Wayland 1.24 — механизма межпроцессного взаимодействия и набора библиотек, обеспечивающих работу современных графических окружений в Linux. Новый выпуск полностью совместим на уровне API и ABI с предыдущими версиями 1.x, при этом включает преимущественно исправления и умеренные обновления. Исходный код проекта доступен под лицензией MIT на GitLab , а спецификация — на официальном сайте .
Главным новшеством версии стал интерфейс wl_fixes , позволяющий решать несовместимости в реализации базовых протоколов. К примеру, метод "destroy_registry" позволяет удалить объект
Во взаимодействии с клавиатурой добавлено новое псевдо-состояние
В библиотеке появились функции wl_display_dispatch_queue_timeout() и wl_display_dispatch_timeout() , обеспечивающие диспетчеризацию с учётом таймаутов. Это дополнение позволяет композитным серверам гибко реагировать на отсутствие событий.
Для управления памятью теперь предусмотрены функции wl_shm_buffer_ref() и
Также появилась функция wl_resource_post_error_vargs() , работающая с
Параллельно развиваются и дополнительные протоколы , включающие поддержку HDR ( color-management ), размытие фона ( ext-background-effect ), перенос состояния окон ( xx-session-management ) и системные сигналы ( xdg-system-bell ).
За прошедший год экосистема Wayland заметно изменилась. Библиотека GTK перевела X11-бэкенд в статус устаревшего, Fedora 43 исключает поддержку X11 в GNOME, а Ubuntu и Kubuntu по умолчанию используют только Wayland. KDE, Budgie и MATE готовят или уже внедрили аналогичные изменения. Композитные серверы вроде Weston, Niri, Hyprland, Sway и других активно обновляются и реализуют новые возможности Wayland.
Wayland реализует модель, в которой отрисовка интерфейса выполняется клиентом, а композитный сервер отвечает за объединение буферов. Это повышает безопасность, изоляцию ввода/вывода и снижает накладные расходы на рендеринг. Проект развивается в связке с Weston, референсной реализацией , а поддержка Wayland реализована в большинстве популярных графических библиотек — от GTK и Qt до SDL и EFL.
Наконец, для запуска X11-приложений поверх Wayland используется компонент XWayland , аналогичный Xwin и XQuartz.

Спустя 13 месяцев разработки опубликован стабильный релиз протокола Wayland 1.24 — механизма межпроцессного взаимодействия и набора библиотек, обеспечивающих работу современных графических окружений в Linux. Новый выпуск полностью совместим на уровне API и ABI с предыдущими версиями 1.x, при этом включает преимущественно исправления и умеренные обновления. Исходный код проекта доступен под лицензией MIT на GitLab , а спецификация — на официальном сайте .
Главным новшеством версии стал интерфейс wl_fixes , позволяющий решать несовместимости в реализации базовых протоколов. К примеру, метод "destroy_registry" позволяет удалить объект
wl_registry
, исключив его из дальнейшего использования клиентами и остановив передачу событий. Во взаимодействии с клавиатурой добавлено новое псевдо-состояние
repeated
, позволяющее композитному серверу отличать удержание клавиши от множественных одиночных нажатий. Это особенно важно для систем удалённого доступа и игр. В библиотеке появились функции wl_display_dispatch_queue_timeout() и wl_display_dispatch_timeout() , обеспечивающие диспетчеризацию с учётом таймаутов. Это дополнение позволяет композитным серверам гибко реагировать на отсутствие событий.
Для управления памятью теперь предусмотрены функции wl_shm_buffer_ref() и
wl_shm_buffer_unref()
, которые дают доступ к разделяемой памяти даже после удаления основного объекта. А новые методы wl_proxy_get_interface() и wl_resource_get_interface()
улучшают интеграцию с языками с динамической типизацией. Также появилась функция wl_resource_post_error_vargs() , работающая с
va_list
и расширяющая возможности по регистрации ошибок. Параллельно развиваются и дополнительные протоколы , включающие поддержку HDR ( color-management ), размытие фона ( ext-background-effect ), перенос состояния окон ( xx-session-management ) и системные сигналы ( xdg-system-bell ).
За прошедший год экосистема Wayland заметно изменилась. Библиотека GTK перевела X11-бэкенд в статус устаревшего, Fedora 43 исключает поддержку X11 в GNOME, а Ubuntu и Kubuntu по умолчанию используют только Wayland. KDE, Budgie и MATE готовят или уже внедрили аналогичные изменения. Композитные серверы вроде Weston, Niri, Hyprland, Sway и других активно обновляются и реализуют новые возможности Wayland.
Wayland реализует модель, в которой отрисовка интерфейса выполняется клиентом, а композитный сервер отвечает за объединение буферов. Это повышает безопасность, изоляцию ввода/вывода и снижает накладные расходы на рендеринг. Проект развивается в связке с Weston, референсной реализацией , а поддержка Wayland реализована в большинстве популярных графических библиотек — от GTK и Qt до SDL и EFL.
Наконец, для запуска X11-приложений поверх Wayland используется компонент XWayland , аналогичный Xwin и XQuartz.