Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Проекты, сохраняющие X11 для Linux: овервью живых инициатив

Современные популярные окружения рабочего стола и ведущие дистрибутивы Linux постепенно отказываются от использования X11, переходя на протокол Wayland. Тем не менее, для сторонников классических графических сессий разработка не останавливается, и энтузиасты развивают проекты, сохраняющие X11 в различных форматах — от форков X.Org Server до совершенно новых реализаций с нуля.

Традиционная сессия на базе X Window System функционирует благодаря серверу Xorg, который управляет выводом графики и обрабатывает ввод от приложений. Поскольку GNOME и KDE Plasma сводят поддержку подобных конфигураций к минимуму или вовсе исключают их, разработчики создают альтернативные инструменты, поддерживающие работоспособность проверенных временем решений.

1. SonicDE

Окружение рабочего стола SonicDE берет за основу базу кода KDE Plasma 6 и ставит приоритетом работу поверх X11. Инициатива зародилась как патченная версия KWin/X11 под названием kwin-x11-improved, которая впоследствии трансформировалась в собственный оконный менеджер и композитор sonic-win, заимствующий некоторые компоненты из KWin/Wayland.

Реклама

Помимо доработки оконного менеджера, авторы проекта занимаются форкиванием компонентов KDE и удалением кода, ориентированного исключительно на Wayland. В настоящее время ведется разработка бэкенда на Vulkan, а разработчики намерены поддерживать совместимость с X.Org до тех пор, пока это остается технически осуществимым.

Рабочий стол Trinity Desktop Environment в стиле классического KDE
Интерфейс проекта Trinity Desktop Environment (TDE).

Проект предлагает пользователям дополнительные удобства, включая глобальные комбинации клавиш для быстрого отключения микрофона в режиме push-to-talk, переключение записи OBS, а также захват экрана внутри клиентских приложений для удаленного доступа вроде TeamViewer. Готовые пакеты подготовлены для дистрибутивов на базе Arch, Artix, Manjaro, Gentoo, Void и Slackware.

2. Trinity Desktop Environment

Проект Trinity Desktop Environment (TDE) продолжает развивать кодовую базу KDE 3.5 в качестве самостоятельной рабочей среды. Главная задача разработчиков заключается в сохранении привычного внешнего вида и отзывчивости традиционного интерфейса при минимальных системных требованиях к аппаратной части компьютера.

Реклама

В отличие от современных версий GNOME и KDE Plasma, среда TDE изначально проектировалась как классическое решение на базе X11 без миграции на Wayland. Функциональность включает встроенный композитор X11 и постоянное обслуживание необходимых для работы оболочки компонентов.

В рамках апрельского релиза R14.1.6 были исправлены проблемы с тайлингом окон в развернутом режиме, улучшено оформление и решены вопросы с прозрачностью интерфейса. Кроме того, появилась опция трехмерной рамки для панели Kicker и функция быстрого перехода к рабочему столу в файловом менеджере Konqueror. Установка возможна на различные дистрибутивы Linux и операционную систему FreeBSD.

Архитектурная схема работы композитора Wayback
Схема функционирования легковесного композитора Wayback.

3. Wayback

Проект Wayback не заменяет конкретные клиенты или готовые рабочие столы X11, а функционирует на более низком уровне инфраструктуры. Это компактный композитор Wayland, собранный с использованием библиотеки wlroots и содержащий лишь минимально необходимый функционал для запуска Xwayland в корневом режиме.

Подобный подход позволяет запускать целое окружение X11 внутри изолированной среды, избавляя систему от необходимости держать в памяти бинарный файл классического сервера Xorg. Инициатива изначально создавалась для дистрибутива Alpine Linux и пока носит экспериментальный характер, поэтому стабильность гарантируется не во всех сценариях.

4. XLibre

Сообщество разработчиков поддерживает форк X.Org Server под названием XLibre, нацеленный на продление жизненного цикла протокола X11 путем непрерывного совершенствования существующего кода. В проект перенесены улучшения, которые ранее не были выпущены в официальном репозитории Xorg, включая некоторые функции, доступные ранее исключительно в Xwayland.

Реклама
Логотип или элемент интерфейса проекта XLibre
Проект XLibre, продолжающий развитие кодовой базы Xorg.

Изменения носят прикладной характер: по умолчанию в конфигурации активирован режим TearFree modesetting, а атомарный режим доступен в качестве опции. Также внедрено расширение Xnamespace для изоляции клиентских приложений и добавлена поддержка управления сеансами через seatd как альтернатива systemd-logind. Авторы поддерживают сборки непрерывной интеграции для Linux, BSD, macOS и Windows.

5. Yserver

Проект yserver представляет собой полностью написанный на языке Rust сервер X11, созданный разработчиком Йосом Дехасом (Jos Dehaes) под лицензией MIT. Архитектура не стремится в точности повторять весь функционал оригинального сервера Xorg, поэтому из нее исключены такие элементы, как косвенный GLX, интерфейс драйверов DDX, неканонические форматы TrueColor и поддержка клиентов с измененным порядком байтов.

По умолчанию клиентские приложения подключаются через Unix-сокеты, а сетевой транспорт TCP и поддержка протокола XDMCP вынесены в опциональные параметры сборки. Несмотря на сокращенную область применения, yserver успешно запускает полноценные сеансы рабочих столов MATE, Xfce и Cinnamon, а также тестировался с оконными менеджерами FVWM3, Window Maker, Openbox, i3 и Enlightenment.

Окно приложения XQuartz в операционной системе macOS
Интерфейс XQuartz для запуска приложений X11 на компьютерах Mac.

6. XQuartz

Проект XQuartz занимает обособленную позицию, поскольку его целью не является сохранение X11-окружения в Linux или замена сервера Xorg принципиально новым аналогом. Программное обеспечение адаптирует оконную систему X Window System от X.Org для работы в операционной системе macOS, позволяя запускать традиционные приложения параллельно с нативными программами в рамках одной графической сессии.

В стабильном релизе версии 2.8.6 были обновлены встроенные компоненты для устранения уязвимостей в безопасности, а также исправлены ошибки рендеринга на компьютерах Mac с процессорами Apple Silicon. Пакет совместим с macOS начиная с версии 10.13.

7. Phoenix

Сервер X11 под названием Phoenix разработан с чистого листа на языке программирования Zig и распространяется под лицензией GPL-3.0-only. Основная концепция заключается в создании более простой альтернативы Xorg за счет реализации лишь подмножества протокола X11 с упором на современное железо и актуальные приложения.

Планы развития охватывают вопросы безопасности и графической подсистемы. Сообщения протокола парсируются автоматически, приложения по умолчанию изолируются друг от друга, а доступ к буферу обмена планируется ограничить активным окном с возможностью возврата к поведению стандартного Xorg. Среди прочих целей значатся безразрывный рендеринг, встроенный композитор, улучшенная работа с несколькими мониторами при разной частоте обновления экрана и поддержка HDR.

Процесс разработки сервера Phoenix на языке Zig
Новый X-сервер Phoenix, создаваемый с нуля.

На текущем этапе разработки Phoenix функционирует исключительно вложенным в уже запущенный X-сервер, обеспечивая аппаратное ускорение для приложений на базе GTK 3, GLX, EGL и Vulkan, и пока не предназначен для повседневного использования.

8. Frame

Завершает список X-сервер Frame, написанный для архитектуры x86_64 Linux полностью на ассемблере NASM. Программный код напрямую взаимодействует с протоколом X11 и обменивается данными с ядром операционной системы через подсистемы DRM/KMS и evdev, минуя стандартные зависимости пользовательского пространства вроде libc и Xlib.

Структура проекта Frame для архитектуры x86_64
Специализированный X-сервер Frame на ассемблере.

Проект создан для графического окружения CHasm с расчетом на параллельное обслуживание обычных клиентов X11. Текущая реализация способна одновременно поддерживать до 128 подключенных клиентов и включает поддержку расширений SHAPE, RANDR, XInput2 и MIT-SHM. Проект распространяется на условиях свободной лицензии Unlicense.

01.