Rilascio del motore desktop Arcan 0.6.2

Dopo un anno di sviluppo è stato rilasciato il motore desktop Arcan 0.6.2, che combina un server di visualizzazione, un framework multimediale e un motore di gioco per l'elaborazione della grafica 3D. Arcan può essere utilizzato per creare una varietà di sistemi grafici, dalle interfacce utente per applicazioni embedded ad ambienti desktop autonomi. In particolare, sulla base di Arcan vengono sviluppati il ​​desktop tridimensionale Safespaces per sistemi di realtà virtuale e l'ambiente desktop Durden. Il codice del progetto è scritto in C ed è distribuito sotto licenza BSD (alcuni componenti sono sotto GPLv2+ e LGPL).

La nuova release prosegue lo sviluppo di strumenti per il lavoro remoto con il desktop in rete. L'accesso alla rete è fornito dal server grafico “arcan-net”, che implementa il protocollo A12, che combina le capacità di tecnologie come mDNS (definizione dei servizi locali), SSH (shell di testo interattivo), X11/VNC/RDP (shell interattiva shell grafica), RTSP (streaming multimediale) e HTTP (caricamento delle risorse e sincronizzazione dello stato).

Arcan non è legato a un sottosistema grafico separato e può funzionare su vari ambienti di sistema (BSD, Linux, macOS, Windows) utilizzando backend plug-in. Ad esempio, è possibile eseguire Xorg, egl-dri, libsdl e AGP (GL/GLES). Il server di visualizzazione Arcan può eseguire applicazioni client basate su X, Wayland e SDL2. I criteri chiave utilizzati nella progettazione dell'API Arcan sono sicurezza, prestazioni e possibilità di debug. Per semplificare lo sviluppo delle interfacce, si propone di utilizzare il linguaggio Lua.

Caratteristiche degli Arcani:

  • Una combinazione di ruoli di server composito, server di visualizzazione e gestore di finestre.
  • La capacità di lavorare in una modalità separata, in cui l'applicazione funge da collegamento autosufficiente.
  • Framework multimediale integrato che fornisce strumenti per lavorare con grafica, animazione, elaborazione di streaming video e audio, caricamento di immagini e lavoro con dispositivi di acquisizione video.
  • Un modello multiprocesso per connettere processori di origini dati dinamiche, dai flussi video all'output dei singoli programmi.
  • Modello rigido di condivisione dei privilegi. I componenti del motore sono suddivisi in piccoli processi non privilegiati che comunicano attraverso l'interfaccia di memoria condivisa shmif;
  • Strumenti integrati di monitoraggio e analisi degli arresti anomali, incluso il motore in grado di serializzare lo stato interno degli script Lua per semplificare il debug;
  • Funzione fallback, che in caso di guasto dovuto a un errore del programma può avviare un'applicazione fallback, mantenendo le stesse origini dati e connessioni esterne;
  • Strumenti di condivisione avanzati che possono essere utilizzati per registrare o trasmettere sottoinsiemi selezionati di sorgenti audio e video durante l'implementazione della condivisione desktop.

Fonte: opennet.ru

Aggiungi un commento