Выпуск десктоп-движка Arcan 0.6 и пользовательского окружения Durden 0.6
26 ноября 2020 года
Спустя четыре года с момента публикации прошлого значительного выпуска доступен релиз десктоп-движка 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:/
Источники[править]
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии[править]
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.