Выпуск композитного сервера Weston 13.0
После шести месяцев разработки опубликован стабильный релиз композитного сервера Weston 13.0, развивающего технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств. Код проекта распространяется под лицензией MIT.
Смена значительного номера версии Weston обусловлена наличием изменений, нарушающих совместимость. Изменения в новой ветке Weston:
- Добавлена возможность загрузки сразу нескольких бэкендов, например, вместе с основным бэкендом вывода можно загрузить вторичные бэкенды vnc, rdp и pipewire.
- В бэкенды backend-vnc, backend-pipewire и backend-rdp добавлена поддержка отрисовки с использованием OpenGL.
- В оболочке для создания интернет-киосков (kiosk-shell) улучшена работа в полноэкранном режиме. Добавлена возможность создавать полноэкранные поверхности для приложений, запускаемых через xwayland.
- Добавлена поддержка совмещения (overlapping) вывода, позволяющая размещать элементы на плоскостях, показываемых на нескольких устройствах вывода.
- В оболочке desktop-shell реализована возможность ограничения области перемещения указателя (pointer confinement) на полноэкранных поверхностях.
- В бэкенде drm-backend и различных клиентах прекращена поддержка версий библиотеки libgbm до 21.1.1.
- Добавлена функция weston_view_move_to_layer() для перемещения видимой области (view) на указанный слой или удаления из графа сцены, если в качестве слоя указано значение NULL.
- Функции weston_view_set_position, weston_touch и weston_output, а также оболочки, переведены на использование структуры weston_coord.
- Добавлена функция weston_log_scopes_iterate() для перебора областей в логе.
- Удалён компонент launcher-logind, вместо которого следует использовать launcher-libseat, также поддерживающий systemd-logind.