Выпуск десктоп-движка 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