Wlroots — это набор самостоятельных компонентов и модулей для создания своего уникального композитного менеджера Wayland.
Изначально был написан для разработки SwayWM, но позже набрал популярность и стал использоваться при написании других WM: River, DWL, Cage, Wayfire и т.д. (с полным списком проектов можно ознакомиться здесь).
Основные изменения:
- добавлена поддержка новых протоколов: ext-session-lock-v1, idle-notify-v1 и single-pixel-buffer-v1;
- API сцены оптимизирован и добавлены новые функции;
- реализована отрисовка с помощью Vulkan;
- переработан API устройств ввода;
- wlr_damage_ring заменяет wlr_output_damage, что уменьшает нагрузку на процессор;
- реализована минорная версия xdg-shell, позволяющая изменять положение и размер всплывающих окон;
- реализована высокая точность прокрутки колесом мыши;
- реализована дополнительная версия 4 wlr_output_management-v1, в которой добавлена поддержка управления адаптивной синхронизацией (VRR);
- сделан рефакторинг кода wl_surface и DRM.
Критические изменения:
- произведён рефакторинг xdg-shell и устройств ввода;
- разделены реализации wl_compositor и wl_subcompositor;
- исправлены типы в layer-shell и добавлена поддержка v3;
- xdg-positioner — обновлена и переписана логика.
Изменения отрисовки и внутреннего устройства:
- новый механизм отрисовки разрешает создание текстур во время рендеринга;
- новая реализация wlr_buffer;
- замена wlr_texture_write_pixels и update_from_buffer.
Изменений много, полный список по ссылке ниже.
Сейчас происходит обновление проектов, зависящих от Wlroots. Разработчики описывают изменения как позитивно влияющие на производительность. Уже рекомендуют пробовать пользоваться своими WM.
>>> Подробности