Arcan 0.7.1 и durden 0.6.3: новый экспериментальный графический стек и десктоп

Вышла новая версия универсального графического стека Arcan 0.7.1 и построенного на его базе десктоп-окружения Durden 0.6.3. Разработка заняла около года, и итоговый результат заметно укрепляет позицию Arcan как экспериментальной, но уже достаточно зрелой платформы, совмещающей в себе дисплейный сервер, мультимедийный фреймворк и игровой движок для трёхмерной графики.

В отличие от классических связок «ядро + Xorg/Wayland + композитор», Arcan изначально задуман как единая модульная среда, которую можно адаптировать под разные сценарии: от компактных интерфейсов для встраиваемых устройств до полноценных настольных окружений. На том же фундаменте построены виртуальная 3D-среда Safespaces для систем VR и настольный рабочий стол Durden, который выступает демонстрацией возможностей движка в роли полноценного десктопа.

Исходный код Arcan написан на Си и распространяется преимущественно под лицензией BSD, при этом отдельные подсистемы выходят под GPLv2+ и LGPL. Такое сочетание даёт возможность как встраивать Arcan в проприетарные продукты, так и использовать его в полностью открытых решениях, не жертвуя гибкостью лицензирования.

Одно из ключевых архитектурных отличий Arcan — отсутствие жёсткой привязки к конкретной графической подсистеме. Движок может запускаться поверх различных системных окружений и ОС: BSD-семейства, Linux, macOS, Windows. За это отвечают подключаемые бэкенды: поддерживаются Xorg, egl-dri, libsdl и AGP (GL/GLES). Такой подход позволяет использовать Arcan и как основной графический стек, и как экспериментальный слой поверх уже существующей системы.

С точки зрения приложений Arcan работает как дисплейный сервер, способный обслуживать клиентов, написанных под X11, Wayland и SDL. Для этого проект развивает собственный форк X.org — сервер xarcan, а также отдельный композитный сервер arcan-wayland (waybridge), обеспечивающий запуск приложений для Wayland. Помимо этого, уделяется внимание совместимости с XWayland, что упрощает запуск традиционного X11-софта в окружениях нового поколения.

При проектировании API разработчики Arcan делают ставку на три ключевых качества: безопасность, производительность и удобство отладки. Безопасность обеспечивается строгим разграничением прав, контролем над ресурсами и минимизацией поверхностей для атаки. Высокая производительность достигается за счёт тесной интеграции с графическим стеком и ориентации на современные GPU. А возможность детальной отладки важна как для разработчиков приложений, так и для тех, кто собирается модифицировать сам движок.

Для описания логики интерфейсов и быстрого прототипирования в Arcan используется язык Lua. Скриптовая надстройка избавляет от необходимости перекомпилировать проект при каждом изменении интерфейса и даёт простор для экспериментов: можно динамически управлять окнами, анимациями, обработкой событий и поведением окружения в целом.

На базе Arcan развивается настольное окружение Durden, релиз которого под номером 0.6.3 вышел одновременно с обновлением самого движка. Предыдущая стабильная версия Durden выходила ещё в 2020 году, так что текущий релиз можно считать крупным шагом вперёд, несмотря на то, что он позиционируется как подготовительный к версии 0.7.

Durden поддерживает два подхода к компоновке окон: мозаичный (tiling), ориентированный на максимальное использование экрана и управление с клавиатуры, и классический, привычный пользователям традиционных десктопов. Оба режима оснащены развитой системой горячих клавиш, что особенно ценят те, кто предпочитает минимизировать использование мыши.

Окружение рассчитано на работу в конфигурациях с несколькими мониторами, в том числе с разным DPI. Это означает корректное масштабирование интерфейса, читабельный текст и предсказуемое поведение окон на сочетании, например, обычного Full HD монитора и экрана с высоким разрешением. Для современных рабочих мест с несколькими дисплеями такая гибкость уже фактически обязательное требование.

Существенное внимание в Durden уделено буферу обмена. Вместо простого «последнего значения» предлагается расширенный буфер с историей изменений. Он существует в двух вариантах: глобальный — общий для всей сессии, и локальный — привязанный к отдельным окнам. Это облегчает работу с несколькими документами и задачами, когда нужно быстро возвращаться к ранее скопированным фрагментам.

Клавиатурные возможности также проработаны: поддерживается переключение раскладок, включая сложные схемы, удобные для многоязычных пользователей, а также работа с дополнительными устройствами ввода — игровыми геймпадами и другими нестандартными контроллерами. Это открывает простор для альтернативных схем управления, что вписывается в философию Arcan как платформы для экспериментов.

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

Все настройки в Durden — от методов ввода и используемых шрифтов до визуальных эффектов — могут изменяться на лету, без необходимости перезапуска сеанса или перезагрузки конфигурационных файлов. Такой «живой» подход облегчает экспериментирование с интерфейсом: пользователь сразу видит результат и может быстро откатить неудачные решения.

Версия 0.6.3 обозначена как подготовительный этап перед крупным релизом Durden 0.7. В следующем поколении окружения намечен целый ряд заметных нововведений: появятся экранные жесты для более естественного управления, поддержка вертикальных заголовков и панелей, компактный режим их отображения, актуальный для небольших экранов или пользователей, ценящих максимальную площадь для контента.

Кроме того, планируется новый конфигуратор, который упростит настройку системы тем, кто не хочет углубляться в тонкости конфигурационных файлов. Среди других ожидаемых функций — предпросмотр по наведению мыши, экранная клавиатура osdkbd, режим совмещения окон для более гибкого тайлинга, поддержка синтезатора речи для повышения доступности, а также интеграция компонентов a12net и a12_directory, отвечающих за сетевую прозрачность и удалённый доступ к сессии.

Интеграция сетевых компонентов особенно важна для тех сценариев, где требуется удалённая работа с графическими приложениями — будь то администрирование, удалённые рабочие места или совместная работа. Поддержка сетевой прозрачности позволяет рассматривать Arcan и Durden как основу для распределённых рабочих столов, когда физическое расположение пользователя и машины перестаёт быть критичным.

Если рассматривать Arcan и Durden в контексте современной экосистемы Linux и BSD, они занимают нишу экспериментальной, но амбициозной альтернативы традиционным стекам X11/Wayland + композиторы KDE Plasma, GNOME или других окружений. Проект не стремится просто повторять отработанную модель рабочего стола, а предлагает переосмысление: объединение мультимедиа, 3D-графики, скриптовой логики и дисплейного сервера в одной платформе.

Отдельного упоминания заслуживает отношение разработчиков к совместимости: наличие форка X.org (xarcan), поддержка клиентов Wayland через arcan-wayland, работа с XWayland и SDL-приложениями показывают стремление не отрезать пользователей от существующей экосистемы программ, а наоборот — предоставить мягкий переход и возможность обкатывать Arcan без отказа от привычных инструментов.

Интерес вызывает и само название настольного окружения — Durden. На фоне привычных «строгих» имен многие иронизируют, что «хорошую вещь дурдомом не назовут». Однако в данном случае это скорее игра с образом: Durden выступает как «бессердечный» полигон для экспериментов, где можно позволить себе смелые решения в дизайне интерфейса, схемах управления и интеграции графики, не оглядываясь на консервативные ожидания массового рынка.

Практическая ценность связки Arcan + Durden сегодня — в первую очередь для энтузиастов, разработчиков графических систем, исследователей интерфейсов и тех, кто создаёт специализированные рабочие места или встраиваемые решения. Здесь можно не только собрать уникальное окружение под конкретный сценарий, но и глубже понять, как устроены современные графические стеки и какие возможности скрыты за пределами привычного X11 и классического Wayland.

Для пользователей, которые задумываются о переходе на нестандартное окружение, важный момент — готовность мириться с более грубыми краями и периодическими изменениями API и функционала. Arcan и Durden всё ещё развиваются быстрыми темпами, и это не столько «конечный продукт», сколько живая платформа, на базе которой формируется новое представление о рабочем столе и взаимодействии с графикой.

В итоге выпуск Arcan 0.7.1 и Durden 0.6.3 можно рассматривать как очередную серьёзную веху в развитии альтернативных десктоп-технологий. Проект демонстрирует, что даже в сформировавшейся экосистеме графических интерфейсов остаётся пространство для радикальных экспериментов — будь то нестандартные режимы компоновки, глубокая скриптовая настраиваемость, плотная интеграция 3D и мультимедиа или необычный подход к сетевой работе и удалённому доступу.

Прокрутить вверх