După un an de dezvoltare, este disponibilă lansarea motorului desktop Arcan 0.6.1, care îmbină un server grafic, 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. De asemenea, pe baza Arcan se dezvoltă desktopul tridimensional Safespaces pentru sisteme de realitate virtuală și mediu desktop Durden. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD (unele componente sub GPLv2+ și LGPL).
Noua lansare include realizările acumulate pe parcursul unui an, concentrându-se în principal pe dezvoltarea subsistemului pentru accesul la desktop prin rețea. În general, este prezentat planul de pregătire a primei lansări semnificative 1.0: în următoarea ramură 0.7 se așteaptă lucrări pentru extinderea subsistemului audio, îmbunătățirea compatibilității și dezvoltarea instrumentelor pentru grafica 3D. Ramura 0.8 se va concentra pe optimizare și performanță, iar 0.9 pe asigurarea securității.
Printre cele mai notabile schimbări din versiunea Arcan 0.6.1 se numără modernizarea server arcan-wayland, care folosește protocolul Wayland, având implementată o interfață pentru utilizarea EGL și inclusă implicit suportul dma-buf. În serverul X Xarcan a fost îmbunătățită gestionarea comutărilor GPU și a fost adăugat suport pentru clipboard și accelerarea hardware-ului pentru redarea cursorului. A fost îmbunătățit suportul pentru monitoare cu frecvență variabilă de regenerare a conținutului. În sistemul de intrare s-au realizat lucrări pentru reducerea întârzierilor.
Au fost efectuate multe modificări interne, vizând îmbunătățirea sincronizării și creșterea eficienței gestionării cozii de evenimente. S-a continuat dezvoltarea serverului grafic „arcan-net” pentru lucrul la distanță cu desktopul prin rețea și folosit în acest server protocol A12, dezvoltat pentru a înlocui SSH/VNC/RDP/X11. Au fost actualizate legăturile pentru dezvoltarea componentelor în limbajul Lua.
Conceptul Pipeworld propus permite redirecționarea fluxurilor de date între feronerie, legând datele și manipulatoarele din feronerie diferite, similar cu celulele din foile de calcul, formând un flux de lucru mixt care combină interfețele grafice și cele de consolă (de exemplu, se poate redirecționa ieșirea dintr-o feronerie într-un manipulant shell care rulează în terminal și se poate folosi rezultatul în altă feronerie).

Reamintim că Arcan nu este legat de un anumit subsystem grafic și poate funcționa deasupra diferitelor medii sistemice (BSD, Linux, macOS, Windows), folosind backend-uri plug-in. De exemplu, există posibilitatea de a rula deasupra Xorg, egl-dri, libsdl și AGP (GL/GLES). Aplicațiile client bazate pe X, Wayland și SDL2 pot fi rulate sub controlul serverului de afişare Arcan. Ca criterii cheie aplicate în proiectarea API-ului Arcan sunt menționate securitatea, performanța și adaptabilitatea pentru depanare. Pentru simplificarea dezvoltării interfețelor, se recomandă utilizarea limbajului Lua.
Caracteristicile Arcan:
- Combinarea rolurilor serverului compozit, serverului de afişare și managerului de feronerie.
- Capacitatea de a funcționa în modul separat, în care aplicația acționează ca un element autosuficient.
- Framework multimedia încorporat care oferă instrumente pentru lucrul cu grafică, animații, procesarea video și audio, încărcarea imaginilor, lucrul cu dispozitivele de captare video.
- Model multiproces care se leagă la manipulatoare de surse de date dinamice - de la fluxuri video până la ieșirea unor programe individuale.
- Model riguroas de separare a privilegiilor. Componentele motorului sunt divizate în procese mici neprivilegiate care interacționează prin intermediul interfeței de memorie partajată shmif;
- Instrumente integrate de monitorizare și analiză a crash-urilor, inclusiv motorul poate serializa starea internă a scripturilor Lua pentru a facilita depanarea;
- Funcția de revenire (Fallbacks), care în caz de erori în program poate lansa o aplicație de rezervă, păstrând aceleași surse de date externe și conexiuni;
- Instrumente extinse de partajare care pot fi folosite pentru a înregistra sau transmite submulțimi individuale de surse audio și video în cadrul implementării partajării desktop-ului.
Se poate menționa suplimentar pregătirea unei noi versiuni a desktop-ului Durden 0.7, dezvoltat pentru utilizarea cu Arcan. În versiunea 0.7 va fi disponibilă suportul pentru orientarea verticală a antetului ferestrei și a barei de stare, precum și va fi adăugat un utilitar pentru acompaniament vocal (text-to-speech). Durden suportă atât o interfață mozaică cu instrumente complete de control prin tastatură, cât și un mod de plasare liberă a ferestrelor pe ecran. Toate setările, inclusiv metodele de input, fonturile și efectele vizuale, pot fi modificate în timp real, fără a necesita repornirea configurației.
Este posibilă configurarea unui comportament distinct pentru fiecare fereastră și utilizarea unui buffer de clipboard independent legat de fereastră. Este suportată funcționarea în sisteme cu mai multe monitoare, care au DPI diferit. Există opțiunea de a afișa meniul aplicațiilor în panou (meniu global) sau de a plasa meniul în antetul ferestrei. Pe desktop este permisă plasarea widget-urilor. Există o funcționalitate încorporată de înregistrare video a acțiunilor de pe desktop și în feron atunci. Subsistemul de gestionare a inputului suportă schimbarea layout-urilor de tastatură și posibilitatea de a lucra cu dispozitive extinse, cum ar fi controlerele de jocuri.
Sursa: opennet.ro
