Release van desktop-engine Arcan 0.7

Na een jaar van ontwikkeling is de Arcan 0.7 desktop engine uitgebracht. Deze combineert een display server, een multimedia framework en een game engine voor de verwerking van 3D graphics. Arcan kan worden gebruikt om uiteenlopende grafische systemen te creëren, van gebruikersinterfaces voor embedded applicaties tot zelfstandige desktopomgevingen. Op basis van Arcan zijn onder andere de Safespaces 2D-desktop voor virtual reality-systemen en de Durden-desktopomgeving gebouwd. De projectcode is geschreven in C en gedistribueerd onder de BSD-licentie (sommige componenten onder GPLvXNUMX+ en LGPL).

Arcan is niet gebonden aan specifieke grafische subsystemen en kan op diverse besturingssystemen (BSD, Linux, macOS, Windows) draaien met behulp van pluggable backends. Het kan bijvoorbeeld draaien op Xorg, egl-dri, libsdl en AGP (GL/GLES). Onder display control server Arcan kan clientapplicaties uitvoeren die gebaseerd zijn op X11, Wayland en SDL2. Belangrijke criteria bij het ontwerp van de Arcan API zijn beveiliging, prestaties en debugbaarheid. Om de interface-ontwikkeling te vereenvoudigen, wordt het gebruik van de Lua-taal voorgesteld.

Arcana-functies:

  • Een combinatie van de mogelijkheden van een samengestelde server, display server en window manager.
  • Ondersteuning voor het werken in een aparte modus, waarin de applicatie een zelfstandige koppeling is.
  • Ingebouwd multimediaframework dat hulpmiddelen biedt voor het werken met afbeeldingen, het verwerken van streaming video en geluid, animatie, het laden van afbeeldingen en het werken met video-opnameapparaten.
  • Een multiprocessmodel voor het verbinden van gegevensbronhandlers (bijvoorbeeld videostreams en uitvoer van actieve programma's).
  • Model voor scheiding van harde bevoegdheden: motoronderdelen worden opgesplitst in kleine, niet-bevoorrechte processen die communiceren via de Shmif-interface voor gedeeld geheugen.
  • Ingebouwde hulpmiddelen voor het bewaken en analyseren van processcrashes. De engine kan bijvoorbeeld de interne status van Lua-scripts serialiseren om foutopsporing te vereenvoudigen.
  • Terugval naar een andere handler: bij een storing vanwege een programmafout kan de engine een back-uptoepassing starten, waarbij dezelfde externe gegevensbronnen en verbindingen behouden blijven.
  • Hulpmiddelen voor het delen van bureaubladen en externe verbindingen. Netwerktoegang wordt verzorgd door de grafische server "arcan-net", die het P2P-protocol A12 implementeert en de mogelijkheden combineert van technologieën als mDNS (definitie van lokale services), SSH (interactieve tekstshell), X11/VNC/RDP (interactieve grafische shell), RTSP (streaming van multimediagegevens) en HTTP (downloaden van bronnen en synchronisatie van de status).

De nieuwe versie werkt verder aan het netwerksubsysteem en het A12-protocol. De mogelijkheden van de directory server zijn uitgebreid en worden ontwikkeld om componenten die verspreid over het netwerk zijn, te koppelen in één stack. Zo kan de server bijvoorbeeld externe apparaten, zoals opslag, camera's en schermen, aansluiten op het bureaublad. De Xarcan X-server ondersteunt nu het uitvoeren van windowmanagers van derden. Wanneer u dit op deze manier doet, zorgt Xarcan voor de afhandeling van schermen op laag niveau, beveiliging en configuratiebeheer, terwijl de windowmanager de afhandeling van vensters en decoratie afhandelt (video met voorbeeld).

 Release van desktop-engine Arcan 0.7

De mogelijkheden van Lash, een omgeving voor het uitvoeren van scripts in de Lua-taal, en de daarop gebaseerde opdrachtshell Cat9 zijn uitgebreid. Hierdoor is het nu mogelijk om de uitvoering van opdrachten te koppelen aan afzonderlijke cellen die samen een soort spreadsheet vormen (video met demonstratie). Het voorgestelde concept maakt het mogelijk om gegevensstromen tussen vensters om te leiden, waarbij gegevens en handlers in verschillende vensters op een vergelijkbare manier worden gekoppeld als cellen in spreadsheets (u kunt bijvoorbeeld de uitvoer van het ene venster omleiden naar een shell-handler die in de terminal wordt uitgevoerd en het resultaat in een ander venster gebruiken).

 Release van desktop-engine Arcan 0.7


Bron: opennet.ru

Voeg een reactie