Version des Desktop-Engines Arcan 0.6.2

Nach einem Jahr Entwicklungsarbeit wurde die Version des Desktop-Engines Arcan 0.6.2 veröffentlicht, die einen Display-Server, ein Multimedia-Framework und eine Game-Engine zur Verarbeitung von 3D-Grafik vereint. Arcan kann zur Erstellung verschiedener graphischer Systeme verwendet werden, von Benutzeroberflächen für embedded Anwendungen bis hin zu eigenständigen Desktop-Umgebungen. Darunter entsteht auf Basis von Arcan der dreidimensionale Desktop Safespaces für Virtual-Reality-Systeme und die Desktop-Umgebung Durden. Der Code des Projekts ist in der Programmiersprache C geschrieben und wird unter der BSD-Lizenz (einige Komponenten unter GPLv2+ und LGPL) verbreitet.

In der neuen Version wurde die Entwicklung von Werkzeugen für die Fernarbeit mit dem Desktop über das Netzwerk fortgesetzt. Der Netzwerkzugang erfolgt über die grafische Server „arcan-net“, das das A12-Protokoll implementiert, das die Möglichkeiten solcher Technologien wie mDNS (Erkennung lokaler Dienste), SSH (interaktive Textschnittstelle), X11/VNC/RDP (interaktive grafische Schnittstelle), RTSP (Streamübertragung von Multimedia-Daten) und HTTP (Ressourcenerkennung und Statussynchronisation) vereint.

Arcan ist nicht an ein bestimmtes grafisches Subsystem gebunden und kann über verschiedene Systemumgebungen (BSD, Linux, macOS, Windows) laufen und dabei Plug-in-Backends nutzen. So besteht die Möglichkeit, über Xorg, egl-dri, libsdl und AGP (GL/GLES) zu starten. Unter der Kontrolle des Display Server kann Arcan Client-Anwendungen auf Basis von X, Wayland und SDL2 ausführen. Sicherheit, Leistung und Debugging-Fähigkeit werden als wichtige Kriterien genannt, die bei der Gestaltung der Arcan-API angewendet werden. Zur Vereinfachung der Entwicklung von Schnittstellen wird empfohlen, die Programmiersprache Lua zu verwenden.

Besonderheiten von Arcan:

  • Die Kombination von Rollen eines Composite-Servers, Display-Servers und Window-Managers.
  • Die Möglichkeit, im isolierten Modus zu arbeiten, bei dem die Anwendung als eigenständiges Element auftritt.
  • Ein integriertes Multimedia-Framework, das Werkzeuge für Grafik, Animation, Streaming von Video und Audio, Bildübertragung und den Umgang mit Videoerfassungsgeräten bereitstellt.
  • Ein multiprozessales Modell zur Anbindung von Handlern an dynamische Datenquellen — von Video-Streams bis zur Ausgabe einzelner Programme.
  • Strenges Modell der Privilegienaufteilung. Die Komponenten der Engine werden in kleine unprivilegierte Prozesse unterteilt, die über die Schnittstelle des Shared Memory shmif miteinander kommunizieren;
  • Integrierte Überwachungs- und Analysewerkzeuge für Abstürze, einschließlich der Möglichkeit, dass die Engine den internen Zustand von Lua-Skripten zur Vereinfachung des Debuggens serialisieren kann;
  • Fallback-Funktion, die im Fall eines Fehlers in der Anwendung eine Ersatzanwendung starten kann, während dieselben externen Datenquellen und Verbindungen beibehalten werden;
  • Erweiterte Funktionen für die gemeinsame Nutzung, die zur Aufnahme oder Übertragung bestimmter Teilmengen von Audio- und Videoquellen während der Realisierung der Desktop-Freigabe verwendet werden können.

Quelle: opennet.ru

60GB SSD 8Gb DDR4