Veröffentlichung des Desktop-Engines Arcan 0.7.1 und der Desktop-Umgebung Durden 0.6.3

Nach einem Jahr der Entwicklung wurde die Desktop-Engine Arcan 0.7.1 vorgestellt, die einen Display-Server, ein Multimedia-Framework und eine Game-Engine zur Verarbeitung von 3D-Grafiken vereint. Arcan kann zur Erstellung verschiedener grafischer Systeme verwendet werden – von Benutzeroberflächen für eingebettete Anwendungen bis hin zu eigenständigen Desktop-Umgebungen. Auf Basis von Arcan wurden die 3D-Benutzerumgebung für Virtual-Reality-Systeme Safespaces und die Desktop-Umgebung Durden entwickelt. Der Code des Projekts ist in C geschrieben und wird unter der BSD-Lizenz verbreitet (einige Komponenten unter GPLv2+ und LGPL).

Arcan ist nicht an bestimmte grafische Subsysteme gebunden und kann über verschiedene Systemumgebungen (BSD, Linux, macOS, Windows) hinweg arbeiten, indem es plug-in Backends verwendet. Beispielsweise kann es über Xorg, egl-dri, libsdl und AGP (GL/GLES) ausgeführt werden. Unter der Verwaltung des Display-Servers können Clientanwendungen basierend auf X11, Wayland und SDL ausgeführt werden. Das Projekt entwickelt seinen Fork des X.org-Servers — xarcan, sowie den Kompositionsserver arcan-wayland (waybridge), der die Ausführung von Anwendungen auf der Basis von Wayland ermöglicht. Zu den wichtigsten Kriterien, die bei der API-Entwicklung von Arcan angesprochen werden, gehören Sicherheit, Leistung und Debugging-Fähigkeit. Zur Vereinfachung der Entwicklung von Schnittstellen wird die Verwendung der Programmiersprache Lua vorgeschlagen.

Veröffentlichung des Desktop-Engines Arcan 0.7.1 und der Desktop-Umgebung Durden 0.6.3

Eigenschaften von Arcan:

  • Eine Kombination aus den Funktionen eines Kompositionsservers, eines Display-Servers und eines Fenster-Managers.
  • Unterstützung des Betriebs im isolierten Modus, in dem eine auf Arcan basierende Anwendung ein autonomes Element ist, das ohne zusätzliche grafische Schichten arbeitet.
  • Integriertes Multimedia-Framework mit Tools für Grafikbearbeitung, Streaming von Video und Audio, Animation sowie Bild-Uploads und die Nutzung von Videoaufzeichnungsgeräten.
    Veröffentlichung des Desktop-Engines Arcan 0.7.1 und der Desktop-Umgebung Durden 0.6.3
  • Multithreaded-Modell für die Anbindung von Datenquelle-Handlern, wie z. B. Video-Streams und ausgeführten Programmausgaben.
    Veröffentlichung des Desktop-Engines Arcan 0.7.1 und der Desktop-Umgebung Durden 0.6.3
  • Strenges Modell der Privilegientrennung – die Engine wird in kleine, unprivilegierte Prozesse aufgeteilt, die über die Schnittstelle des Shared-Memory-Systems Shmif kommunizieren.
  • Integrierte Tools zur Überwachung und Analyse von Prozessabstürzen. Die Engine kann den internen Zustand von Lua-Skripten serialisieren, um das Debugging zu erleichtern.
  • Fallback-Option auf einen anderen Handler – im Falle eines Fehlers aufgrund eines Programmfehlers kann die Engine eine Ersatzanwendung starten, während die gleichen externen Datenquellen und Verbindungen beibehalten werden.
  • Ressourcen für gemeinsamen Zugriff und Remote-Verbindung zum Desktop. Der Netzwerkzugang erfolgt über den Grafikserver „arcan-net“, der das P2P-Protokoll A12 implementiert und die Möglichkeiten von Technologien wie mDNS (lokale Dienstbestimmung), SSH (interaktives Textterminal), X11/VNC/RDP (interaktive grafische Benutzeroberfläche), RTSP (Streaming von Multimedia-Daten) und HTTP (Ressourcendownload und Zustandssynchronisation) vereint.
  • Die Cat9-Shell ermöglicht die Verknüpfung der Ausführung von Befehlen mit einzelnen Zellen, die einer Art elektronischen Tabelle ähneln (Video mit Demo). Das vorgeschlagene Konzept ermöglicht das Weiterleiten von Datenströmen zwischen Fenstern und verknüpft Daten und Handler in verschiedenen Fenstern analog zu den Zellen in Tabellenkalkulationen (zum Beispiel kann die Ausgabe aus einem Fenster an einen im Terminal laufenden Shell-Handler umgeleitet und das Ergebnis in einem anderen Fenster verwendet werden).
    Veröffentlichung des Desktop-Engines Arcan 0.7.1 und der Desktop-Umgebung Durden 0.6.3

Änderungen im Zusammenhang mit dem Projekt:

  • Der von Valve entwickelte Composite-Server Gamescope wurde portiert, wodurch die Möglichkeit geschaffen wurde, Spiele aus Steam ohne Manipulationen mit Xwayland zu starten.
  • Der verbesserte Qt-Plugin qtarcan ermöglicht es, Anwendungen, die Qt5 und Qt6 verwenden, in Arcan auszuführen, wie zum Beispiel Qbittorrent und Binary Ninja.
  • Es wurden Patches und ein Skript zur Ausführung von KeepassXC erstellt.
  • Ein Viewer für das A12-Protokoll und die Interaktion darüber wird entwickelt.
  • Ein interaktiver Fenster-Manager namens Lasso wird entwickelt.
  • Das Tool Xkbd2Lua wurde hinzugefügt, um Tastaturlayouts von X11 in ein von Arcan unterstütztes Format umzuwandeln.
  • Nix-Pakete zur Erstellung einer funktionalen Bootumgebung basierend auf Arcan, dem Durden-Desktop und der Kommandozeile werden entwickelt.
  • Unterstützung für den post-quanten Verschlüsselungsalgorithmus ML-KEM wurde hinzugefügt.
  • Kunden können unterbrochene Netzwerkverbindungen wiederherstellen (nach der Wiederherstellung der unterbrochenen Verbindung wird die Anwendung erneut verbunden, ohne dass der Zustand des Fensters verloren geht).
  • Die Option "—cast" wurde hinzugefügt, die es anderen Benutzern ermöglicht, mit einer schreibgeschützten Kopie der Anwendungs-Ausgabe zu arbeiten.
  • Im Serververzeichnis wurde die Unterstützung für neue einheitliche (Unified) und referenzielle (Referential) Links hinzugefügt, mit denen Server in einem gemeinsamen Namensraum zusammengeführt oder Ketten gebildet werden können. Server. Im ersten Fall erscheint die Servergruppe für den Benutzer als ein einzelner Server, im zweiten Fall können Anwendungen auf einem anderen Server gestartet werden. Server, indem man sich mit einem anderen verbindet.
  • Die API wurde um die Funktion launch_target erweitert, die ein dynamisches Starten von Anwendungen auf dem Server auf Anfrage des Kunden ermöglicht. Für die Anwendung kann ein Controller erstellt werden – eine Sammlung von Lua-Skripten zur Verwaltung der Nachrichtenübertragung und des Zugriffs auf Ressourcen.
  • Es wurde Unterstützung für externe Ressourcenbezeichner (External Resource Resolver) hinzugefügt, die Operationen mit dem Arcan-Speicher abfangen und Ressourcenanforderungen verarbeiten können, zum Beispiel durch lokale Caching-Organisation oder Datenbeschaffung über Web, BitTorrent oder IPFS anstelle der Bereitstellung von lokalem Speicher.
  • Eine Art schlanker Clients wurde realisiert, die es dem Client ermöglichen, ohne den vollständigen Arcan-Stack (mit nur dem Smash-Viewer) die Ausführungslogik von Programmen auf den Server zu verlagern. Zum Beispiel kann man die Desktop-Umgebung durden auf dem Server myserver starten, indem man «arcan-net —host-appl myserver@ durden» ausführt.
  • In die Cat9-Shell wurde ein Backend mit einem Debugger integriert, der das Debug Adapter Protocol (DAP) für lokale oder remote Debugging unterstützt.
  • Eine umfangreiche Reihe von Änderungen zur Weiterentwicklung des A12-Protokolls, der Laufzeitumgebung für Lua-Skripte, des Netzwerksubsystems, des Verzeichnisservers zum Verbinden von über das Netzwerk verteilten Komponenten, des Shmif-geteilten Speichersystems und des egl-dri-Moduls wurde hinzugefügt.

Gleichzeitig wurde die Version 0.6.3 der Desktop-Umgebung Durden veröffentlicht. Die vorherige Version wurde im Jahr 2020 erstellt. Durden unterstützt sowohl den Kachel- als auch den klassischen Fensteranordnungsmodus mit vollständigen Steuerungsmöglichkeiten über die Tastatur. Es ist möglich, in Systemen mit mehreren Monitoren zu arbeiten, die unterschiedliche DPI aufweisen.

Ein erweiterter Clipboard wird bereitgestellt, der den Änderungsverlauf speichert und in zwei Varianten verfügbar ist – global und an bestimmte Fenster gebunden. Es gibt Unterstützung für den Wechsel der Tastaturlayouts und die Verwendung erweiterter Geräte wie Gamepads. Funktionen wie ein globales Menü, ein Menü im Fensterkopf, Widgets und die Anpassung des Verhaltens für jedes Fenster sind vorhanden. Alle Einstellungen, einschließlich Eingabemethoden, Schriftarten und visuellen Effekten, können dynamisch geändert werden, ohne dass eine Neuinstallation der Konfiguration erforderlich ist.

Die Version 0.6.3 ist eine Vorabversion vor dem in Entwicklung befindlichen Release Durden 0.7, der eine Reihe von wesentlichen Neuerungen bieten wird, wie z.B. Gestensteuerung, Unterstützung für vertikale Headers und Panels, einen kompakten Modus zur Anzeige von Headers und Panels, einen neuen Konfigurator, Vorschau durch Hover, die Bildschirmtastatur osdkbd, einen Fensterüberlagerungsmodus, Sprachsynthetisierungsunterstützung und die Integration von Komponenten a12net und a12_directory zur Gewährleistung von Netzwerktransparenz und Remote-Zugriff.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster