Po roku vývoja bol vydaný desktopový engine Arcan 0.7.1. Kombinuje zobrazovací server, multimediálny framework a herný engine pre 3D grafiku. Arcan možno použiť na vytvorenie rôznych grafických systémov, od používateľských rozhraní pre vstavané aplikácie až po samostatné desktopové prostredia. Arcan poháňa používateľské 3D prostredie Safespaces pre systémy virtuálnej reality a desktopové prostredie Durden. Kód projektu je napísaný v jazyku C a distribuovaný pod licenciou BSD (niektoré komponenty sú licencované pod licenciami GPLv2+ a LGPL).
Arcan nie je viazaný na samostatné grafické subsystémy a môže bežať na rôznych systémových prostrediach (BSD, Linux, macOS, Windows) pomocou zásuvných backendov. Napríklad môže bežať na Xorg, egl-dri, libsdl a AGP (GL/GLES). Zobrazovací server Arcan môže spúšťať klientske aplikácie založené na X11, Wayland a SDL. Projekt vyvíja vlastný fork servera X.org, xarcan, ako aj kompozitný server arcan-wayland (waybridge), ktorý umožňuje spúšťanie aplikácií založených na Waylande. Medzi kľúčové kritériá použité pri návrhu rozhrania Arcan API patrí bezpečnosť, výkon a laditeľnosť. Pre zjednodušenie vývoja rozhrania sa navrhuje použitie jazyka Lua.

Vlastnosti Arcany:
- Kombinácia funkcií kompozitného servera, zobrazovacieho servera a správcu okien.
- Podpora samostatnej prevádzky, kde aplikácia založená na Arcane je sebestačná jednotka fungujúca bez ďalších grafických vrstiev.
- Vstavaný multimediálny rámec, ktorý poskytuje nástroje na prácu s grafikou, spracovanie streamovaného videa a zvuku, animáciu, načítanie obrázkov a prácu so zariadeniami na zachytávanie videa.

- Viacprocesový model na pripojenie procesorov zdroja údajov (napríklad toky videa a výstup spustených programov).

- Striktný model oddelenia privilégií – komponenty motora sú rozdelené do malých neprivilegovaných procesov, ktoré interagujú cez rozhranie zdieľanej pamäte Shmif.
- Vstavané nástroje na monitorovanie a analýzu zlyhaní procesov. Engine dokáže serializovať vnútorný stav Lua skriptov pre zjednodušenie ladenia.
- Záložné riešenia pre iný obslužný program – v prípade zlyhania spôsobeného chybou programu môže engine spustiť záložnú aplikáciu, pričom zachová rovnaké externé zdroje údajov a pripojenia.
- Nástroje na zdieľanie a vzdialené pripojenie k vašej pracovnej ploche. Sieťový prístup zabezpečuje grafický server arcan-net, ktorý implementuje protokol A2 P12P, ktorý kombinuje možnosti takých technológií ako mDNS (definícia lokálnej služby), SSH (interaktívny textový shell), X11/VNC/RDP (interaktívny grafický shell) , RTSP (streamovanie médií) a HTTP (načítanie zdrojov a synchronizácia stavu).
- Príkazový shell Cat9 umožňuje viazať vykonávanie príkazov na jednotlivé bunky, podobne ako v tabuľkovom procesore (videoukážka). Navrhovaný koncept umožňuje presmerovanie tokov údajov medzi oknami, prepojenie údajov a obslužných programov v rôznych oknách, podobne ako bunky v tabuľkovom procesore (napríklad môžete presmerovať výstup z jedného okna do obslužného programu shellu spusteného v termináli a výsledok použiť v inom okne).

Zmeny súvisiace s projektom:
- Kompozitný server Gamescope od spoločnosti Valve bol portovaný, čo používateľom umožňuje spúšťať hry na Steame bez toho, aby sa museli zaoberať Xwaylandom.
- Doplnok qtarcan pre Qt bol vylepšený a umožňuje spúšťať aplikácie založené na Qt5 a Qt6, ako napríklad Qbittorrent a Binary Ninja, v Arcane.
- Boli vytvorené záplaty a skript na spustenie KeepassXC.
- Prehliadač protokolu A12 a interakcie prostredníctvom neho sa vyvíja.
- Interaktívny správca okien Lasso sa vyvíja.
- Pridaný nástroj Xkbd2Lua na prevod rozloženia klávesnice z X11 do formátu podporovaného Arcanom.
- Balíky nix sa vyvíjajú na vytvorenie funkčného bootovacieho prostredia založeného na Arcane, desktope Durden a príkazovom shelli.
- Pridaná podpora pre algoritmus postkvantového šifrovania ML-KEM.
- Pridaná možnosť pre klientov obnoviť prerušené sieťové pripojenia (po obnovení prerušeného pripojenia sa aplikácia znova spáruje bez straty stavu okna).
- Pridaná možnosť „--cast“, ktorá umožňuje ostatným používateľom pracovať s kópiou výstupu aplikácie v režime iba na čítanie.
- Adresárový server teraz podporuje nové unifikované a referenčné odkazy, ktoré možno použiť na zlúčenie serverov do jedného menného priestoru alebo na vytvorenie reťazcov. serverovV prvom prípade sa skupina serverov používateľovi javí ako jeden server, zatiaľ čo v druhom prípade je možné aplikácie spúšťať na jednom serveri. server, spájajúc sa s iným.
- Do API bola pridaná funkcia launch_target pre dynamické spúšťanie aplikácie na serveri na základe požiadavky klienta. Pre aplikáciu je možné vytvoriť kontrolér – sadu Lua skriptov na správu správ a prístupu k zdrojom.
- Pridaná podpora pre externé prekladače zdrojov, ktoré dokážu zachytiť operácie úložiska Arcan a spracovať operácie požiadaviek na zdroje, ako napríklad povolenie lokálneho ukladania do vyrovnávacej pamäte alebo sťahovanie údajov z webu, BitTorrentu alebo IPFS namiesto sťahovania z lokálneho disku.
- Bol implementovaný prístup podobný tenkému klientovi, ktorý umožňuje klientovi bez plného Arcan stacku (s iba prehliadačom Smash) presunúť logiku vykonávania programu na server. Napríklad, ak chcete spustiť desktopové prostredie durden na serveri myserver, môžete spustiť príkaz „arcan-net --host-appl myserver@durden“.
- Príkazový shell Cat9 teraz obsahuje backend s debuggerom, ktorý podporuje DAP (Debug Adapter Protocol) pre lokálne alebo vzdialené ladenie.
- Veľká časť zmien bola pridaná v súvislosti s vývojom protokolu A12, prostredia pre spúšťanie skriptov v jazyku Lua, sieťového subsystému, adresárového servera pre prepojenie komponentov distribuovaných po sieti, systému zdieľanej pamäte Shmif a modulu egl-dri.
Súčasne bolo vydané aj desktopové prostredie Durden 0.6.3. Predchádzajúca verzia bola vydaná v roku 2020. Durden podporuje dlaždicové a klasické režimy rozloženia okien s plným ovládaním z klávesnice. Podporuje systémy s viacerými monitormi a rôznymi DPI.
K dispozícii je rozšírená schránka, ktorá uchováva históriu zmien a je dostupná v dvoch verziách – globálnej a pre každé okno. Poskytuje sa podpora prepínania rozloženia klávesnice a práce s rozšírenými zariadeniami, ako sú gamepady. Podporované sú aj funkcie, ako je globálne menu, menu v názve okna, widgety a prispôsobenie pre každé okno. Všetky nastavenia vrátane metód vstupu, písiem a vizuálnych efektov je možné meniť za chodu bez nutnosti opätovného načítavania konfigurácie.
Verzia 0.6.3 je prípravným vydaním pre vývojovú verziu Durden 0.7, ktorá ponúkne množstvo významných inovácií, ako sú gestá na obrazovke, podpora vertikálnych titulkov a panelov, kompaktný režim zobrazenia titulkov a panelov, nový konfigurátor, náhľad pri podržaní myši, klávesnica na obrazovke osdkbd, režim zlúčenia okien, podpora syntetizátora reči a integrácia komponentov a12net a a12_directory na zabezpečenie transparentnosti siete a vzdialeného prístupu.
Zdroj: opennet.ru



