Vydání desktopového enginu Arcan 0.6.2

Po roce vývoje byl vydán desktopový engine Arcan 0.6.2, který kombinuje display server, multimediální framework a herní engine pro zpracování 3D grafiky. Arcan lze použít k vytvoření různých grafických systémů, od uživatelských rozhraní pro vestavěné aplikace až po samostatná desktopová prostředí. Na bázi Arcan je vyvíjen zejména trojrozměrný desktop Safespaces pro systémy 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 jsou pod GPLv2+ a LGPL).

Nová verze pokračuje ve vývoji nástrojů pro vzdálenou práci s desktopem přes síť. Síťový přístup zajišťuje grafický server „arcan-net“, který implementuje protokol A12, který kombinuje schopnosti technologií jako mDNS (definice lokálních služeb), SSH (interaktivní textový shell), X11/VNC/RDP (interaktivní grafický shell), RTSP (streamování médií) a HTTP (načítání zdrojů a synchronizace stavu).

Arcan není vázán na samostatný grafický subsystém a může pracovat nad různými systémovými prostředími (BSD, Linux, macOS, Windows) pomocí zásuvných backendů. Například je možné provozovat nad Xorg, egl-dri, libsdl a AGP (GL/GLES). Displej Arcan může spouštět klientské aplikace založené na X, Wayland a SDL2. Klíčovými kritérii použitými při návrhu Arcan API jsou bezpečnost, výkon a laditelnost. Pro zjednodušení vývoje rozhraní se navrhuje použít jazyk Lua.

Vlastnosti Arcany:

  • Kombinace rolí kompozitního serveru, zobrazovacího serveru a správce oken.
  • Schopnost pracovat v samostatném režimu, ve kterém aplikace funguje jako soběstačný odkaz.
  • Vestavěný multimediální rámec, který poskytuje nástroje pro práci s grafikou, animacemi, zpracováním streamovaného videa a zvuku, načítáním obrázků a prací se zařízeními pro zachycení videa.
  • Multiprocesní model pro připojení procesorů dynamických datových zdrojů - od video streamů až po výstup jednotlivých programů.
  • Rigidní model sdílení oprávnění. Komponenty motoru jsou rozděleny do malých neprivilegovaných procesů, které komunikují prostřednictvím rozhraní sdílené paměti shmif;
  • Vestavěné nástroje pro monitorování a analýzu havárií, včetně enginu, který dokáže serializovat vnitřní stav skriptů Lua pro zjednodušení ladění;
  • Záložní funkce, která v případě selhání z důvodu chyby programu může spustit záložní aplikaci se zachováním stejných externích datových zdrojů a připojení;
  • Pokročilé nástroje pro sdílení, které lze použít k nahrávání nebo vysílání vybraných podmnožin zdrojů zvuku a videa při implementaci sdílení plochy.

Zdroj: opennet.ru

Přidat komentář