Композитный менеджер Theseus Ship 6.0, нацеленный на использование в KDE вместо KWin

Разработчики композитного оконного менеджера KWinFT, основанного на кодовой базе KWin, объявили о переименовании проекта в Theseus Ship, переводе разработки с GitLab на GitHub и формировании значительного выпуска Theseus Ship 6.0. Theseus Ship поддерживает работу с использование Wayland и X11, нацелен на применение в KDE Plasma и может использоваться в качестве прозрачной замены KWin. Код проекта написан на языке C++ и распространяется под лицензией GPLv2.


От KWin композитный оконный менеджер Theseus Ship отличается значительной внутренней переработкой и использованием библиотек COMO (Compositor Modules), образующих набор модулей комозитинга, которые могут применяться в качестве базовых звеньев для создания композитных менеджеров для Wayland и X11. COMO изначально развивается с оглядкой на интеграцию с KDE, но жёстко не завязан на KDE и может использоваться в других средах рабочего стола. В COMO активно используются шаблоны C++, что упрощает замену функций и внесение изменений в логику работы. Для сведения вывода используется OpenGL.

Развитие функциональности Theseus Ship сосредоточено на обеспечении качественной и полной поддержки протокола Wayland, в том числе переработке архитектурных особенностей KWin, усложняющих интеграцию с Wayland. Например, в Theseus Ship переработан процесс композитинга, реализованы дополнительные расширения протокола Wayland, предоставлена полная поддержка поворота, зеркального отражения вывода и дробного масштабирования для сеансов на основе Wayland.

Новый выпуск примечателен переходом на Qt 6 и адаптацией для использования с KDE Plasma 6, релиз которого ожидается через несколько часов. Добавлена поддержка рендеринга с использованием OpenGL-драйверов Lima (Mali 400), VC4 (VideoCore IV) и V3D (VideoCore 3D). Расширены и переработаны визуальные эффекты. Для выполнения X11-приложений в окружении Wayland обеспечен автоматический запуск Xwayland. Добавлена поддержка Wayland-расширений wlr_output_management_unstable_v1 для настройки устройств вывода и security_context_v1 для sandbox-изоляции.

Одновременно сформирован выпуск развиваемой проектом библиотеки Wrapland 0.600 с реализацией обвязки над libwayland для Qt/C++, продолжающей развитие KWayland, но избавленной от привязки к Qt и доступной для использования отдельно без установки Qt.

Release. Ссылка here.