Release van desktop-engine Arcan 0.6.2

Na een jaar ontwikkeling is de Arcan 0.6.2 desktop-engine uitgebracht, die een weergaveserver, een multimediaframework en een game-engine combineert voor het verwerken van 3D-graphics. Arcan kan worden gebruikt om een ​​verscheidenheid aan grafische systemen te creëren, van gebruikersinterfaces voor embedded applicaties tot op zichzelf staande desktopomgevingen. Met name de driedimensionale desktop Safespaces voor virtual reality-systemen en de Durden-desktopomgeving worden op basis van Arcan ontwikkeld. De projectcode is geschreven in C en wordt gedistribueerd onder de BSD-licentie (sommige componenten vallen onder GPLv2+ en LGPL).

De nieuwe release zet de ontwikkeling voort van tools voor werken op afstand met de desktop via het netwerk. Netwerktoegang wordt verzorgd door de grafische server “arcan-net”, die het A12-protocol implementeert, dat de mogelijkheden combineert van technologieën als mDNS (definitie van lokale services), SSH (interactieve tekstshell), X11/VNC/RDP (interactieve grafische shell), RTSP (mediastreaming) en HTTP (laden van bronnen en statussynchronisatie).

Arcan is niet gebonden aan een afzonderlijk grafisch subsysteem en kan werken op verschillende systeemomgevingen (BSD, Linux, macOS, Windows) met behulp van plug-in backends. Het is bijvoorbeeld mogelijk om bovenop Xorg, egl-dri, libsdl en AGP (GL/GLES) te draaien. De Arcan-displayserver kan clientapplicaties uitvoeren op basis van X, Wayland en SDL2. De belangrijkste criteria die worden gebruikt bij het ontwerp van de Arcan API zijn beveiliging, prestaties en foutopsporing. Om de ontwikkeling van interfaces te vereenvoudigen, wordt voorgesteld om de Lua-taal te gebruiken.

Arcana-functies:

  • Een combinatie van samengestelde server-, weergaveserver- en vensterbeheerderrollen.
  • De mogelijkheid om in een aparte modus te werken, waarbij de applicatie als een zelfvoorzienende link fungeert.
  • Ingebouwd multimediaframework dat tools biedt voor het werken met afbeeldingen, animaties, het verwerken van streaming video en audio, het laden van afbeeldingen en het werken met video-opnameapparaten.
  • Een multiprocesmodel voor het verbinden van processors van dynamische gegevensbronnen - van videostreams tot de uitvoer van individuele programma's.
  • Stijf model voor het delen van bevoegdheden. Motorcomponenten zijn opgesplitst in kleine processen zonder privileges die communiceren via de gedeelde geheugeninterface van shmif;
  • Ingebouwde tools voor crashmonitoring en -analyse, waaronder de engine die de interne status van Lua-scripts kan serialiseren om het debuggen te vereenvoudigen;
  • Fallback-functie, die in geval van een storing als gevolg van een programmafout een fallback-applicatie kan starten, waarbij dezelfde externe gegevensbronnen en verbindingen behouden blijven;
  • Geavanceerde tools voor delen die kunnen worden gebruikt om specifieke subsets van audio- en videobronnen op te nemen of uit te zenden terwijl het delen van het bureaublad wordt geïmplementeerd.

Bron: opennet.ru

Voeg een reactie