
16 июля 2026 года состоялся релиз протокола для организации графического сервера, механизма межпроцессного взаимодействия и библиотек Wayland 1.26. Предыдущая стабильная версия проекта вышла в марте 2026 года.
Ветка Wayland 1.26 обратно совместима на уровне API и ABI с выпусками 1.x и содержит в основном исправления ранее обнаруженных ошибок и незначительные обновления протокола. Компоненты исходного кода и наработки проекта распространяются под лицензией MIT.
Эталонный композитный сервер Weston, предоставляющий код и рабочие примеры для использования Wayland в десктоп-окружениях и встраиваемых решениях, развивается сообществом в рамках отдельного цикла разработки.
По данным OpenNET, основные изменения в протоколе в рамках релиза Wayland 1.26:
-
добавлено событие 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 — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона);
-
xx‑zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна;
-
xx‑keyboard‑filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland‑поверхность, на которой установлен фокус ввода;
-
в категорию «staging» добавлен протокол xdg‑session‑management, предоставляющий возможности для восстановления состояния и позиции окон прерванного сеанса в окружениях на основе протокола Wayland, например, после аварийного завершения композитного сервера или приложения;
-
в протокол «linux‑dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать;
-
в протокол color‑management‑v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR‑контент, созданный для Windows.
Источник: habr.com