Po roku vývoja bol zverejnený release desktopového enginu Arcan 0.6.2, ktorý spája v sebe zobrazovací server, multimediálny rámec a herný engine na spracovanie 3D grafiky. Arcan môže byť použitý na vytváranie rôznych grafických systémov, od používateľských rozhraní pre zabudované aplikácie po samostatne stojace desktopové prostredia. Medzi inými sa na báze Arcan vyvíja trojrozmerná pracovná plocha Safespaces pre systémy virtuálnej reality a desktopové prostredie Durden. Kód projektu je napísaný v jazyku C a je distribuovaný pod licenciou BSD (niektoré komponenty pod GPLv2+ a LGPL).
V novom vydaní sa pokračovalo v rozvoji prostriedkov pre vzdialenú prácu s pracovnou plochou cez sieť. Prístup cez sieť zabezpečuje grafický server «arcan-net» implementujúci protokol A12, ktorý spája možnosti takých technológií, ako sú mDNS (určovanie lokálnych služieb), SSH (interaktívna textová konzola), X11/VNC/RDP (interaktívne grafické rozhranie), RTSP (streamovanie multimediálnych dát) a HTTP (načítanie zdrojov a synchronizácia stavu).
Arcan nie je viazaný na konkrétny grafický subsystém a môže pracovať nad rôznymi systémovými prostrediami (BSD, Linux, macOS, Windows), pričom využíva pripojiteľné backendy. Napríklad je možné spustenie nad Xorg, egl-dri, libsdl a AGP (GL/GLES). Pod správou zobrazovacieho servera Arcan môžu bežať klientské aplikácie na báze X, Wayland a SDL2. Medzi kľúčové kritériá, ktoré sa používajú pri navrhovaní API Arcan, patrí bezpečnosť, výkon a vhodnosť na ladenie. Na zjednodušenie vývoja rozhraní sa odporúča použiť jazyk Lua.
Funkcie Arcan:
- Kombinácia rolí kompozitného servera, zobrazovacieho servera a správcu okien.
- Možnosť práce v oddelenom režime, kedy aplikácia pôsobí ako samostatná jednotka.
- Integrovaný multimediálny rámec poskytujúci prostriedky na prácu s grafikou, animáciou, spracovaním streamovaného videa a zvuku, načítaním obrázkov a prácou so zariadeniami na zachytávanie videa.
- Multiprocesná modelová pripojenia spracovateľov dynamických dátových zdrojov — od videosúťažov po výstupy jednotlivých programov.
- Prísna model podielania privilégií. Komponenty enginu sú rozdelené na malé nepriviligované procesy, ktoré komunikujú cez rozhranie zdieľanej pamäte shmif;
- Vstavané nástroje na monitorovanie a analýzu havárií, vrátane možnosti enginu serializovať vnútorný stav Lua skriptov pre uľahčenie ladenia;
- Funkcia zálohy (Fallbacks), ktorá v prípade zlyhania spôsobeného chybou v programe môže spustiť náhradnú aplikáciu pri zachovaní rovnakých vonkajších zdrojov údajov a pripojení;
- Rozšírené prostriedky na zdieľanie, ktoré sa dajú použiť na nahrávanie alebo vysielanie jednotlivých podmnožín zdrojov zvuku a videa počas implementácie zdieľania obrazovky.
Zdroj: opennet.ru
