Выпуск десктоп-движка Arcan 0.6 и пользовательского окружения Durden 0.6

Спустя четыре года с момента публикации прошлого значительного выпуска доступен релиз десктоп-движка Arcan 0.6.0, который объединяет в себе дисплейный сервер, мультимедийный фреймворк и игровой движок для обработки 3D-графики. Arcan может использоваться для создания различных графических систем, от пользовательских интерфейсов для встраиваемых приложений до самодостаточных десктоп-окружений. В том числе на базе Arcan развивается трёхмерный рабочий стол Safespaces для систем виртуальной реальности и десктоп-окружение Durden. Код проекта написан на языке Си и распространяется под лицензией BSD (некоторые компоненты под GPLv2+ и LGPL).

Arcan не привязан к отдельной графической подсистеме и может работать поверх различных системных окружений (BSD, Linux, macOS, Windows), используя подключаемые бэкенды. Например, имеется возможность запуска поверх Xorg, egl-dri, libsdl и AGP (GL/GLES). Под управлением дисплейного сервера Arcan могут выполняться клиентские приложения на базе X, Wayland и SDL2. В качестве ключевых критериев, применяемых при проектировании API Arcan называются безопасность, производительность и пригодность для отладки. Для упрощения разработки интерфейсов предлагается использовать язык Lua.

Особенности Arcan:

  • Сочетание ролей композитного сервера, дисплейного сервера и оконного менеджера.
  • Возможность работы в обособленном режиме, при котором приложение выступает в виде самодостаточного звена.
  • Встроенный мультимедийный фреймворк, предоставляющих средства работы с графикой, анимации, обработки потокового видео и звука, загрузки изображений, работы с устройствами захвата видео.
  • Мультипроцессная модель подключения обработчиков динамических источников данных — от видеопотоков до вывода отдельных программ.
  • Жесткая модель разделения привилегий. Компоненты движка разбиваются на небольшие непривилегированные процессы, взаимодействующие через интерфейс разделяемой памяти shmif;
  • Встроенные средства мониторинга и анализа крахов, в том числе движок может сериализировать внутреннее состояние Lua-скриптов для упрощения отладки;
  • Функция отката (Fallbacks), которая в случае сбоя из-за ошибки в программе может запустить запасное приложение, сохранив те же внешние источники данных и соединения;
  • Расширенные средства совместного доступа, которые можно использовать для записи или вещания отдельных подмножеств источников аудио и видео в процессе реализации совместного доступа к рабочему столу.

При подготовке нового выпуска основное внимание было уделено обеспечению сетевой прозрачности. Предложен первый выпуск графического сервера «arcan-net», который позволяет организовать удалённую работу по сети, используя собственный протокол A12. Поддерживается перенаправление клиента в стиле X11 и удалённое обращение к рабочему столу как в RFB/RDP/SPICE, а также трансляция ввода, передача звука и видео, разделение доступа, live-миграция клиентов и многопоточная обработка. Передаваемые видеоданные в зависимости от типов окон сжимаются с использованием кодеков с потерей и без потерь информации. Для аутентифицированного шифрования каналов связи применяется связка X25519 + Chacha8 + Blake3.

Среди других изменений:

  • Средства для отладки активности клиентов.
  • Консоль в стиле KMSCon/FBCon.
  • Возможность заимствования в приложениях некоторых обработчиков, развиваемых для оконного менеджера.
  • Реализация драйвера для устройства отслеживания движения глаз Tobii 4C.
  • Поддержка изоляции клиентов XWayland.
  • Компонент Arcan-trayicon для размещения пиктограмм в системном лотке.
  • Поддержка синтезаторов речи.
  • Переработка режима работы на системах без мониторов (headless).




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

Имеется возможность отображения меню приложений в панели (глобальное меню) или размещение меню в заголовке окна. На рабочем столе допускается размещение виджетов. Имеется встроенная возможность видеозаписи действий на рабочем столе и в отдельных окнах. Подсистема управления вводом поддерживает смену раскладок клавиатуры и возможность работы с расширенными устройствами, такими как игровые пульты.

В новой версии Durden:

  • Предложен универсальный диалог открытия/сохранения файлов.
  • Переработан код для совместного доступа экрану.
  • Реализована возможность размещения собственных кнопок на панели состояния.
  • Появилась возможность переопределения действия по клику правой кнопкой мыши на заголовке окна.
  • Добавлен компонент для всплывающих окон.
  • Добавлена базовая поддержка управляющих жестов и команд для вращаемых устройств, таких как 'Surface Dial' и 'Griffin PowerMate'.
  • Добавлен компонент для организации автозапуска программ.
  • Добавлена утилита для первичной настойки при первом запуске.
  • Реализована возможность выбора виртуального рабочего стола для открытия новых окон.
  • Добавлены мягкие тени для элементов интерфейса и окон.
  • Добавлены средства для кэширования и совместного использования пиктограмм.
  • Добавлена возможность увеличения области рядом с курсором мыши.
  • Предложена новая утилита streamdeck, для работы с миниэкранами.
  • Добавлена утилита todo для ведения заметок и списков задач, которая интегрирована с системой вывода уведомлений и строкой состояния.
  • Добавлена утилита tracing для отслеживания активности оконного менеджера и генерации логов в формате JSON, совместимых с chrome://tracing.



Источник: http://www.opennet.ru/opennews/art.shtml? num=54152

© OpenNet