Veröffentlichung der Desktop-Engine Arcan 0.6.1

Nach einem Jahr Entwicklungszeit ist die Veröffentlichung der Desktop-Engine Arcan 0.6.1 verfügbar, die einen Display-Server, ein Multimedia-Framework und eine Game-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 umfasst die im Laufe des Jahres gesammelten Entwicklungen, die sich hauptsächlich auf die Entwicklung eines Subsystems für den Zugriff auf den Desktop über das Netzwerk konzentrieren. Generell wird der Plan zur Vorbereitung des ersten bedeutenden Release 1.0 vorgestellt: Im nächsten Zweig 0.7 soll daran gearbeitet werden, das Sound-Subsystem zu erweitern, die Kompatibilität zu verbessern und Tools für 3D-Grafiken zu entwickeln. Branch 0.8 wird sich auf Optimierung und Leistung konzentrieren, und 0.9 wird sich auf Sicherheit konzentrieren.

Zu den auffälligsten Änderungen in Version Arcan 0.6.1 gehört die Modernisierung des Arcan-Wayland-Anzeigeservers, der das Wayland-Protokoll verwendet, das eine Ebene für die Verwendung von EGL implementiert und standardmäßig die DMA-Buf-Unterstützung aktiviert. Der Xarcan Verbesserte Unterstützung für Bildschirme mit variablen Aktualisierungsraten für Inhalte. Es wurden Arbeiten am Eingabesystem durchgeführt, um Verzögerungen zu reduzieren.

Es wurden viele interne Änderungen vorgenommen, um die Synchronisierung zu verbessern und die Effizienz der Ereigniswarteschlangenverwaltung zu steigern. Die Entwicklung des grafischen Servers „arcan-net“ für die Remote-Arbeit mit dem Desktop über das Netzwerk und des in diesem Server verwendeten A12-Protokolls, das als Ersatz für SSH/VNC/RDP/X11 entwickelt wurde, wurde fortgesetzt. Aktualisierte Bindungen für die Entwicklung von Komponenten in Lua.

Es wurde das Pipeworld-Konzept vorgeschlagen, das es Ihnen ermöglicht, Datenflüsse zwischen Fenstern umzuleiten, Daten und Handler in verschiedenen Fenstern zu verknüpfen, ähnlich wie Zellen in Tabellenkalkulationen, und so einen gemischten Workflow zu bilden, der grafische und Konsolenschnittstellen kombiniert (Sie können beispielsweise die Ausgabe von umleiten). ein Fenster an eine Shell weiterleiten, die im Terminal-Handler ausgeführt wird, und das Ergebnis in einem anderen Fenster verwenden).

Wir möchten Sie daran erinnern, dass Arcan nicht an ein separates Grafiksubsystem gebunden ist und mithilfe von Plug-in-Backends auf verschiedenen Systemumgebungen (BSD, Linux, macOS, Windows) arbeiten kann. 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.

Darüber hinaus ist anzumerken, dass eine neue Version des Durden 0.7-Desktops für die Verwendung mit Arcan vorbereitet wird. In Version 0.7 wird die vertikale Platzierung des Fenstertitels und der Statusleiste unterstützt und ein Dienstprogramm zur Sprachführung (Text-to-Speech) hinzugefügt. Durden unterstützt sowohl eine gekachelte Benutzeroberfläche mit vollständiger Tastatursteuerung als auch einen frei fließenden Modus zum Anzeigen von Fenstern auf dem Bildschirm. Alle Einstellungen, einschließlich Eingabemethoden, Schriftarten und visuelle Effekte, können im Handumdrehen geändert werden, ohne dass die Konfiguration neu geladen werden muss.

Es ist möglich, für jedes Fenster ein separates Verhalten zu konfigurieren und eine unabhängige, an das Fenster gebundene Zwischenablage zu verwenden. Unterstützt die Arbeit auf Systemen mit mehreren Monitoren mit unterschiedlichen DPIs. Es ist möglich, das Anwendungsmenü im Panel anzuzeigen (globales Menü) oder das Menü im Fenstertitel zu platzieren. Widgets können auf dem Desktop platziert werden. Es gibt eine integrierte Möglichkeit, Aktionen auf dem Desktop und in einzelnen Fenstern per Video aufzuzeichnen. Das Eingabesteuerungssubsystem unterstützt das Ändern von Tastaturlayouts und die Möglichkeit, mit fortschrittlichen Geräten wie Spielekonsolen zu arbeiten.

Source: opennet.ru

Kommentar hinzufügen