Veröffentlichung der Desktop-Engine Arcan 0.6.2

Nach einem Jahr Entwicklungszeit wurde die Desktop-Engine Arcan 0.6.2 veröffentlicht, die einen Anzeigeserver, ein Multimedia-Framework und eine Spiele-Engine zur Verarbeitung von 3D-Grafiken vereint. Mit Arcan lassen sich vielfältige grafische Systeme erstellen, von Benutzeroberflächen für eingebettete Anwendungen bis hin zu eigenständigen Desktop-Umgebungen. Insbesondere der dreidimensionale Desktop Safespaces für Virtual-Reality-Systeme und die Desktop-Umgebung Durden werden auf Basis von Arcan entwickelt. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz vertrieben (einige Komponenten stehen unter GPLv2+ und LGPL).

Die neue Version setzt die Entwicklung von Tools für die Remote-Arbeit mit dem Desktop über das Netzwerk fort. Der Netzwerkzugriff erfolgt über den grafischen Server „arcan-net“, der das A12-Protokoll implementiert, das die Fähigkeiten von Technologien wie mDNS (Definition lokaler Dienste), SSH (interaktive Text-Shell) und X11/VNC/RDP (interaktiv) vereint grafische Shell), RTSP (Medien-Streaming) und HTTP (Ressourcenladen und Statussynchronisierung).

Arcan ist nicht an ein separates Grafiksubsystem gebunden und kann mithilfe von Plug-in-Backends auf verschiedenen Systemumgebungen (BSD, Linux, macOS, Windows) arbeiten. Es ist beispielsweise möglich, auf Xorg, egl-dri, libsdl und AGP (GL/GLES) zu laufen. Der Arcan-Anzeigeserver kann Clientanwendungen basierend auf X, Wayland und SDL2 ausführen. Die wichtigsten Kriterien beim Design der Arcan API sind Sicherheit, Leistung und Debugbarkeit. Um die Entwicklung von Schnittstellen zu vereinfachen, wird vorgeschlagen, die Sprache Lua zu verwenden.

Arcana-Funktionen:

  • Eine Kombination aus Verbundserver-, Anzeigeserver- und Fenstermanagerrollen.
  • Die Möglichkeit, in einem separaten Modus zu arbeiten, in dem die Anwendung als autarke Verbindung fungiert.
  • Integriertes Multimedia-Framework, das Tools für die Arbeit mit Grafiken, Animationen, die Verarbeitung von Streaming-Video und -Audio, das Laden von Bildern und die Arbeit mit Videoaufnahmegeräten bereitstellt.
  • Ein Multiprozessmodell zur Anbindung von Prozessoren dynamischer Datenquellen – vom Videostream bis zur Ausgabe einzelner Programme.
  • Starres Modell zur Privilegienteilung. Engine-Komponenten werden in kleine, nicht privilegierte Prozesse zerlegt, die über die gemeinsam genutzte Speicherschnittstelle shmif kommunizieren.
  • Integrierte Absturzüberwachungs- und Analysetools, einschließlich der Engine, die den internen Status von Lua-Skripten serialisieren kann, um das Debuggen zu vereinfachen;
  • Fallbacks-Funktion, die im Falle eines Fehlers aufgrund eines Programmfehlers eine Fallback-Anwendung starten kann und dabei die gleichen externen Datenquellen und Verbindungen beibehält;
  • Erweiterte Sharing-Tools, mit denen Sie bestimmte Teilmengen von Audio- und Videoquellen aufzeichnen oder übertragen und gleichzeitig Desktop-Sharing implementieren können.

Source: opennet.ru

Kommentar hinzufügen