Efter et års udvikling er desktop-motoren Arcan 0.7 blevet offentliggjort, som kombinerer en displayserver, et multimedierammeværk og en spilmotor til behandling af 3D-grafik. Arcan kan bruges til at skabe forskellige grafiske systemer - fra brugergrænseflader til indlejrede applikationer til selvstændige desktop-miljøer. Blandt andet er den 3D-desktop Safespaces til virtuelle virkelighedssystemer og desktop-miljøet Durden baseret på Arcan. Projektets kode er skrevet i C og distribueres under BSD-licensen (nogle komponenter under GPLv2+ og LGPL).
Arcan er ikke knyttet til specifikke grafiske subsystemer og kan køre over forskellige systemmiljøer (BSD, Linux, macOS, Windows) ved hjælp af plug-in backends. For eksempel er der mulighed for at køre over Xorg, egl-dri, libsdl og AGP (GL/GLES). Under styring af displayserveren server Arcan kan klientapplikationer baseret på X11, Wayland og SDL2 køre. Blandt de vigtigste kriterier, der anvendes ved design af API'et Arcan, nævnes sikkerhed, ydeevne og debugbarhed. For at forenkle udviklingen af grænseflader foreslås det at bruge Lua-sprog.
Funktioner i Arcan:
- Kombination af funktionerne i en kompositionsserver, displayserver og vinduesmanager.
- Understøttelse af drift i isoleret tilstand, hvor applikationen er et selvforsynende led.
- Indbygget multimedierammeværk, der giver værktøjer til at arbejde med grafik, behandling af streamet video og lyd, animation, indlæsning af billeder, arbejde med videooptagelsesenheder.
- Multiprocessmodel til tilslutning af datakildebehandlere (f.eks. videostreams og udgang fra kørende programmer).
- Skarp model for privilegiedeling - enginekomponenter opdeles i små, up privilegerede processer, der interagerer via grænsefladen for delt hukommelse Shmif.
- Indbyggede værktøjer til overvågning og analyse af procesfejl, for eksempel kan motoren serialisere den interne tilstand af Lua-scripts for at forenkle debugging.
- Mulighed for at falde tilbage (Fallbacks) til en anden behandler - i tilfælde af fejl på grund af en programfejl kan motoren starte et reserveloft, mens de samme eksterne datakilder og forbindelser opretholdes.
- Værktøjer til fjernadgang og fjernforbindelse til skrivebordet. Netværksadgang muliggør grafisk server «arcan-net», der implementerer P2P-protokollen A12, som kombinerer funktionerne fra teknologier som mDNS (bestemmelse af lokale tjenester), SSH (interaktiv tekstskall), X11/VNC/RDP (interaktiv grafisk skal), RTSP (streaming af multimediedata) og HTTP (indlæsning af ressourcer og synkronisering af tilstand).
I den nye version fortsættes arbejdet med netværkssystemet og protokollen A12. Mulighederne for katalogserveren, der udvikles til at binde komponenter sammen i en enkelt stak, er blevet udvidet, for eksempel kan den bruges til at forbinde til skrivebordet af eksterne enheder, såsom lagringsenheder, kameraer og skærme. I X-serveren Xarcan er der tilføjet support til at starte tredjeparts vindueschefer. Ved en sådan opstart tager Xarcan sig af lavniveau funktioner som skærmhåndtering, sikkerhed og konfigurationsstyring, mens vindueschefen håndterer behandling og dekoration af vinduer (video med eksempel).

Mulighederne for Lash, et miljø til udførelse af scripts i Lua-sprog, og den på dens grundlag byggede kommandoskaller Cat9, er blevet udvidet, hvilket giver mulighed for at knytte udførelse af kommandoer til individuelle celler, der danner en form for regneark (video med demonstration). Det foreslåede koncept muliggør omdirigering af datastreams mellem vinduer, ved at knytte data og håndterere i forskellige vinduer ligesom i regneark (for eksempel kan output fra et vindue omdirigeres til en shell-håndterer, der kører i terminalen, og resultatet bruges i et andet vindue).

Kilde: opennet.ru
