После года разработки опубликован релиз десктоп-движка Arcan 0.6.2, который объединяет в себе дисплейный сервер, мультимедийный фреймворк и игровой движок для обработки 3D-графики. Arcan может использоваться для создания различных графических систем, от пользовательских интерфейсов для встраиваемых приложений до самодостаточных десктоп-окружений. В том числе на базе Arcan развивается трёхмерный рабочий стол Safespaces для систем виртуальной реальности и десктоп-окружение Durden. Код проекта написан на языке Си и распространяется под лицензией BSD (некоторые компоненты под GPLv2+ и LGPL).
В новом выпуске продолжена разработка средств для удалённой работы с рабочим столом по сети. Доступ по сети обеспечивает графический сервер «arcan-net», реализующий протокол A12, который объединяет в себе возможности таких технологий, как mDNS (определение локальных сервисов), SSH (интерактивная текстовая оболочка), X11/VNC/RDP (интерактивная графическая оболочка), RTSP (потоковая передача мильтимедийных данных) и HTTP (загрузка ресурсов и синхронизация состояния).
Arcan не привязан к отдельной графической подсистеме и может работать поверх различных системных окружений (BSD, Linux, macOS, Windows), используя подключаемые бэкенды. Например, имеется возможность запуска поверх Xorg, egl-dri, libsdl и AGP (GL/GLES). Под управлением дисплейного сервера Arcan могут выполняться клиентские приложения на базе X, Wayland и SDL2. В качестве ключевых критериев, применяемых при проектировании API Arcan называются безопасность, производительность и пригодность для отладки. Для упрощения разработки интерфейсов предлагается использовать язык Lua.
„Arcana“ savybės:
- Sudėtinių serverio, rodymo serverio ir langų tvarkyklės vaidmenų derinys.
- Galimybė dirbti atskiru režimu, kuriame programa veikia kaip savarankiška nuoroda.
- Integruota daugialypės terpės sistema, suteikianti įrankius darbui su grafika, animacija, srautinio vaizdo ir garso apdorojimui, vaizdų įkėlimui, darbui su vaizdo įrašymo įrenginiais.
- Daugiaprocesis modelis, skirtas sujungti dinaminių duomenų šaltinių procesorius – nuo vaizdo srautų iki atskirų programų išvesties.
- Tvirtas privilegijų dalijimosi modelis. Variklio komponentai yra suskirstyti į mažus neprivilegijuotus procesus, kurie bendrauja per shmif bendros atminties sąsają;
- Integruoti gedimų stebėjimo ir analizės įrankiai, įskaitant variklį, kuris gali nuosekliai nustatyti vidinę Lua scenarijų būseną, kad būtų supaprastintas derinimas;
- „Fallbacks“ funkcija, kuri gedimo atveju dėl programos klaidos gali paleisti atsarginę programą, išlaikant tuos pačius išorinius duomenų šaltinius ir ryšius;
- Išplėstiniai bendrinimo įrankiai, kuriuos galima naudoti norint įrašyti arba transliuoti pasirinktus garso ir vaizdo šaltinių pogrupius įgyvendinant darbalaukio bendrinimą.
Šaltinis: opennet.ru