Po roce vývoje byl vydán desktopový engine Arcan 0.6.2, který spojuje v sobě zobrazovací server, multimediální rámec a herní engine pro zpracování 3D grafik. Arcan může být použit k vytváření různých grafických systémů, od uživatelských rozhraní pro vestavěné aplikace po samostatná desktopová prostředí. Mezi jinými na bázi Arcan se vyvíjí trojrozměrná pracovní plocha Safespaces pro virtuální reality a desktopové prostředí Durden. Kód projektu je napsán v jazyce C a je distribuován pod licencí BSD (některé komponenty pod GPLv2+ a LGPL).
V novém vydání byla pokračována práce na nástrojích pro vzdálenou správu pracovního stolu přes síť. Přístup přes síť poskytuje grafický server «arcan-net», realizující protokol A12, který spojuje možnosti takových technologií, jako jsou mDNS (určení lokálních služeb), SSH (interaktivní textová konzole), X11/VNC/RDP (interaktivní grafická konzole), RTSP (streamování multimediálních dat) a HTTP (stahování zdrojů a synchronizace stavu).
Arcan není vázán na konkrétní grafický subsystém a může pracovat nad různými systémovými prostředími (BSD, Linux, macOS, Windows), používajícími připojitelné backendy. Například je možné spouštět nad Xorg, egl-dri, libsdl a AGP (GL/GLES). Pod řízením zobrazovacího serveru Arcan mohou běžet klientské aplikace založené na X, Wayland a SDL2. Mezi klíčové kritéria, která se používají při navrhování API Arcan, patří bezpečnost, výkonnost a vhodnost pro ladění. Pro usnadnění vývoje rozhraní se doporučuje používat jazyk Lua.
Vlastnosti Arcan:
- Kombinace rolí kompozitního serveru, displejového serveru a správce oken.
- Možnost práce v izolovaném režimu, kdy aplikace vystupuje jako samostatná jednotka.
- Vestavěný multimediální framework, který poskytuje prostředky pro práci s grafikou, animací, zpracováním streamovaného videa a zvuku, načítáním obrázků a prací s zařízeními pro záznam videa.
- Multiprocesní model připojení zpracovatelů dynamických datových zdrojů — od videostreamů po výstupy jednotlivých programů.
- Přísný model dělení privilegií. Součásti enginu jsou rozděleny na malé nepř privileged procesy, které komunikují prostřednictvím rozhraní sdílené paměti shmif;
- Vestavěné prostředky monitorování a analýzy havárií, včetně toho, že engine může serializovat vnitřní stav Lua skriptů pro usnadnění ladění;
- Funkce návratu (Fallbacks), která v případě selhání způsobeného chybou v programu může spustit záložní aplikaci, přičemž zachová stejné externí datové zdroje a spojení;
- Rozšířené prostředky sdílení, které lze použít pro nahrávání nebo vysílání jednotlivých podmnožin zdrojů audio a video během implementace sdílení pracovního prostoru.
Zdroj: opennet.ru
