После года разработки опубликован релиз десктоп-движка 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.
Arcanan ominaisuudet:
- Yhdistelmä yhdistelmäpalvelimen, näyttöpalvelimen ja ikkunanhallintarooleja.
- Kyky työskennellä erillisessä tilassa, jossa sovellus toimii omavaraisena linkkinä.
- Sisäänrakennettu multimediakehys, joka tarjoaa työkaluja grafiikan, animaation, suoratoistovideon ja äänen käsittelyyn, kuvien lataamiseen ja videokaappauslaitteiden kanssa työskentelyyn.
- Moniprosessimalli dynaamisten tietolähteiden prosessorien yhdistämiseen - videovirroista yksittäisten ohjelmien ulostuloon.
- Jäykkä etuoikeuksien jakamismalli. Moottorin osat on jaettu pieniin etuoikeutettuihin prosesseihin, jotka kommunikoivat shmif-jaetun muistiliitännän kautta;
- Sisäänrakennetut kaatumisseuranta- ja -analyysityökalut, mukaan lukien moottori, joka voi sarjoittaa Lua-skriptien sisäisen tilan virheenkorjauksen yksinkertaistamiseksi;
- Varatoiminto, joka ohjelmavirheestä johtuvan epäonnistumisen sattuessa voi käynnistää varasovelluksen, joka ylläpitää samat ulkoiset tietolähteet ja yhteydet;
- Kehittyneet jakamistyökalut, joita voidaan käyttää ääni- ja videolähteiden tiettyjen osajoukkojen tallentamiseen tai lähettämiseen työpöydän jakamisen aikana.
Lähde: opennet.ru