Домой Статьи и аналитика Технологии Wayfire 0.11: композитный сервер для Wayland с поддержкой HDR и Vulkan

Wayfire 0.11: композитный сервер для Wayland с поддержкой HDR и Vulkan

Композитный сервер для Wayland стал стабильнее, получил поддержку HDR, Vulkan и новые инструменты для управления плагинами.

Интерфейс Wayfire с открытыми окнами
Работа Wayfire в актуальной версии Источник: linux.org.ru

Состоялся релиз Wayfire 0.11 — модульного композитного сервера для Wayland, который базируется на библиотеке wlroots и развивает идеи легендарного Compiz. Проект позволяет пользователям создавать легковесные графические окружения с гибкой настройкой плагинов, эффектными анимациями, 3D-переключением рабочих столов и деформацией окон. Исходный код доступен под лицензией MIT. Команда разработчиков отмечает, что этот выпуск может стать одним из последних перед выходом знаковой версии 1.0.

Улучшение масштабирования и работа с HiDPI

Ключевой задачей в этой итерации стало совершенствование дробного масштабирования. Разработчики перевели внутренние геометрические вычисления с целых чисел на числа с плавающей точкой, выполняя округление только на финальном этапе вывода изображения. Эти изменения призваны устранить досадные эффекты, такие как размытие шрифтов или смещение элементов интерфейса в современных приложениях на базе GTK4, Qt, а также в браузерах Firefox и Google Chrome. Кроме того, появился экспериментальный режим HiDPI для XWayland, обеспечивающий корректную отрисовку окон X11 в физическом разрешении дисплея.

Поддержка HDR и Vulkan

В Wayfire 0.11 внедрено управление цветом и добавлена поддержка HDR с 10-битной глубиной цвета. Пользователи теперь могут подключать ICC-профили для отдельных мониторов или конкретных поверхностей. Важно отметить, что полная цепочка HDR-вывода на данный момент функционирует только при использовании Vulkan-рендерера и по умолчанию отключена. На мощностях Vulkan теперь также работают эффекты преобразования окон, переключатель задач и фирменный эффект «желеобразных» окон Wobbly, однако этот функционал пока носит экспериментальный характер и требует отдельной активации при сборке.

Командный инструмент для плагинов

Для упрощения работы со сторонними дополнениями была представлена команда wayfire-plugin. С её помощью можно устанавливать плагины напрямую из Git-репозиториев, обновлять их, удалять, пересобирать или просматривать список установленных модулей. Утилита размещает расширения в директории $XDG_DATA_HOME, а при активном использовании плагинов ipc и ipc-rules новые дополнения можно вводить в работу без необходимости перезапуска композитора.

Технические улучшения и новые протоколы

Среди прочих значимых изменений в версии 0.11:

  • Внедрена явная синхронизация через linux-drm-syncobj-v1, что позволило избавиться от гонок отрисовки, мерцания и визуальных артефактов, критичных для владельцев видеокарт NVIDIA.
  • Добавлены протоколы ext-image-copy-capture для современных инструментов записи экрана и создания скриншотов.
  • Реализован ext-foreign-toplevel-list-v1, открывающий панелям и док-панелям доступ к стандартному списку окон.
  • Появился стандартизированный интерфейс ext-data-control-v1 для взаимодействия с менеджерами буфера обмена.
  • Внедрен протокол security-context-v1, ограничивающий доступ изолированных приложений к привилегированным интерфейсам Wayland.
  • Доработаны сенсорные жесты, мозаичная раскладка, экранные декорации и логика работы с конфигурациями из нескольких мониторов.
  • Появилась возможность выбора режима отображения с максимальным разрешением или частотой обновления.
  • Расширен IPC-интерфейс для управления окнами ещё до их вывода на экран, а также для динамического изменения свойств приложений в процессе работы.

Параллельно ведется развитие оболочки wf-shell, включающей панель задач, док и менеджер обоев рабочего стола. Её полностью перевели на GTK4, дополнили виджетами, блокировщиком экрана и инструментом выбора окна для демонстрации. Авторы подчеркивают, что внедрение автоматического тестирования заметно повысило стабильность Wayfire, делая композитор пригодным для использования в самых разных сценариях.

Источник: https://www.linux.org.ru