După un an de dezvoltare, a fost publicat lansarea motorului desktop Arcan 0.7, care integrează un server de afișare, un cadru multimedia și un motor de jocuri pentru procesarea graficii 3D. Arcan poate fi utilizat pentru a crea diverse sisteme grafice — de la interfețe utilizator pentru aplicații încorporate până la medii desktop autonome. Printre altele, pe baza Arcan a fost construit biroul tridimensional Safespaces pentru sistemele de realitate virtuală și mediul desktop Durden. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD (unele componente sub GPLv2+ și LGPL).
Arcan nu este legat de subsisteme grafice specifice și poate funcționa deasupra diverselor medii sistemice (BSD, Linux, macOS, Windows), folosind backend-uri conectabile. De exemplu, este posibil să fie lansat deasupra Xorg, egl-dri, libsdl și AGP (GL/GLES). Sub gestionarea serverului de afișare server Arcan poate rula aplicații client bazate pe X11, Wayland și SDL2. Ca criterii cheie menționate în proiectarea API-ului Arcan, sunt menționate securitatea, performanța și facilitarea depanării. Pentru a simplifica dezvoltarea interfețelor, se propune utilizarea limbajului Lua.
Caracteristicile Arcan:
- O combinație de funcționalități ale unui server compozit, server de afișare și manager de feronieră.
- Suport pentru operarea în mod izolat, în care aplicația este un element autonom.
- Cadru multimedia încorporat, care oferă instrumente pentru lucrul cu grafică, procesarea fluxului video și audio, animație, încărcarea imaginilor, lucrul cu dispozitivele de captură video.
- Model multiprocesor pentru conectarea handlerelor surselor de date (de exemplu, fluxuri video și ieșiri de programe lansate).
- Model rigid de separare a privilegiilor — componentele motorului sunt divizate în mici procese neprivilegiate care interacționează printr-o interfață de memorie partajată Shmif.
- Instrumente încorporate pentru monitorizarea și analiza închiderilor neașteptate ale proceselor, de exemplu, motorul poate serializa starea internă a scripturilor Lua pentru a facilita depanarea.
- Funcționalitatea de revenire (Fallbacks) la un alt handler – în cazul unei erori cauzate de o defectiune în program, motorul poate lansa o aplicație de rezervă, păstrând aceleași surse externe de date și conexiuni.
- Instrumente pentru acces instantaneu și conexiune la distanță la desktop. Accesul prin rețea oferă o interfață grafică. serverul «arcan-net», care implementează protocolul P2P A12, combinând capabilitățile unor tehnologii precum mDNS (determinarea serviciilor locale), SSH (interfață de text interactivă), X11/VNC/RDP (interfață grafică interactivă), RTSP (flux multimedia) și HTTP (descărcarea resurselor și sincronizarea stării).
În noua versiune s-a continuat dezvoltarea subsistemului de rețea și a protocolului A12. Capacitățile serverului de catalog au fost extinse, acesta fiind dezvoltat pentru a conecta într-un singur stack componente distribuite în rețea; de exemplu, poate fi utilizat pentru a conecta desktop-uri la dispozitive externe, cum ar fi stocarea, camerele și ecranele. În serverul X, Xarcan a adăugat suport pentru lansarea de manageri de feronerie terțe. În acest mod de lansare, Xarcan se ocupă de funcțiile de operare de bază cu ecranul, asigurarea securității și gestionarea configurației, în timp ce managerul de feronerie se ocupă de procesarea și decorarea feroneriei (video cu exemplu).

Capabilitățile Lash, mediu pentru executarea scripturilor în limbajul Lua, și a shell-ului Cat9, construit pe aceasta, au fost extinse, oferind posibilitatea de a lega execuția comenzilor la celule separate, formând o asemănare cu un tabel electronic (video cu demonstrație). Conceptul propus permite redirecționarea fluxurilor de date între feronerie, legând datele și handler-ii în feronerii diferite, similar celulelor din tabelele electronice (de exemplu, se poate redirecționa output-ul dintr-o feronerie către un handler shell lansat în terminal și utiliza rezultatul într-o altă feronerie).

Sursa: opennet.ro
