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

Подготовлен выпуск десктоп-движка Arcan 0.5.5, который объединяет в себе дисплейный сервер, мультимедийный фреймворк и игровой движок для обработки 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), которая в случае сбоя из-за ошибки в программе может запустить запасное приложение, сохранив те же внешние источники данных и соединения;
  • Расширенные средства совместного доступа, которые можно использовать для записи или вещания отдельных подмножеств источников аудио и видео в процессе реализации совместного доступа к рабочему столу.

0_1464629950.png

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

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

Основные новшества Durden 0.5:

  • Добавлено приложение vrviewer, позволяющее протестировать работу трёхмерного рабочего стола Safespaces в окне на двумерном рабочем столе, без использования шлема виртуальной реальности. Приложение также позволяет просматривать или формировать стереоскопический вывод для объёмных видео и фотографий;
  • Во встроенный интерфейс командной строки (browser) добавлена возможность предпросмотра видео во всплывающем окне;
  • Все настройки и элементы взаимодействия в пользовательском интерфейсе, включая содержимое меню, теперь доступны в виде иерархии файлов (файловое представление настроек формируется при помощи псевдо-ФС на базе FUSE);
  • Добавлена возможность подрезки краёв окон (например, для убирания скруглённых углов в приложениях с декорированием окон на стороне клиента) и переопределения заголовка;
  • Добавлен виджет для вывода уведомлений;
  • Добавлен виджет для работы с emoji;
  • Улучшена поддержка OpenBSD.

© OpenNet