Utgivelse av desktop-motoren Arcan 0.6.2

Etter et års utvikling har Arcan 0.6.2 desktop-motoren blitt sluppet, som kombinerer en skjermserver, et multimediarammeverk og en spillmotor for behandling av 3D-grafikk. Arcan kan brukes til å lage en rekke grafiske systemer, fra brukergrensesnitt for innebygde applikasjoner til selvstendige skrivebordsmiljøer. Spesielt utvikles det tredimensjonale skrivebordet Safespaces for virtuelle virkelighetssystemer og skrivebordsmiljøet Durden på grunnlag av Arcan. Prosjektkoden er skrevet i C og distribueres under BSD-lisensen (noen komponenter er under GPLv2+ og LGPL).

Den nye utgivelsen fortsetter utviklingen av verktøy for eksternt arbeid med skrivebordet over nettverket. Nettverkstilgang er gitt av den grafiske serveren "arcan-net", som implementerer A12-protokollen, som kombinerer egenskapene til slike teknologier som mDNS (definisjon av lokale tjenester), SSH (interaktivt tekstskall), X11/VNC/RDP (interaktivt). grafisk skall), RTSP (mediastreaming) og HTTP (ressurslasting og tilstandssynkronisering).

Arcan er ikke knyttet til et separat grafikkundersystem og kan fungere på toppen av ulike systemmiljøer (BSD, Linux, macOS, Windows) ved å bruke plug-in-backends. For eksempel er det mulig å kjøre på toppen av Xorg, egl-dri, libsdl og AGP (GL/GLES). Arcan-skjermserveren kan kjøre klientapplikasjoner basert på X, Wayland og SDL2. Nøkkelkriteriene som brukes i utformingen av Arcan API er sikkerhet, ytelse og feilsøkbarhet. For å forenkle utviklingen av grensesnitt, foreslås det å bruke Lua-språket.

Arcana-funksjoner:

  • En kombinasjon av sammensatt server-, skjermserver- og vindusbehandlingsroller.
  • Evnen til å jobbe i en egen modus, der applikasjonen fungerer som en selvforsynt kobling.
  • Innebygd multimedierammeverk som gir verktøy for å jobbe med grafikk, animasjon, behandle streaming video og lyd, laste inn bilder og arbeide med videoopptaksenheter.
  • En multiprosessmodell for å koble sammen prosessorer av dynamiske datakilder - fra videostrømmer til utdata fra individuelle programmer.
  • Rigid privilegiedelingsmodell. Motorkomponenter er brutt ned i små uprivilegerte prosesser som kommuniserer gjennom shmifs delt minnegrensesnitt;
  • Innebygde krasjovervåkings- og analyseverktøy, inkludert motoren som kan serialisere den interne tilstanden til Lua-skript for å forenkle feilsøking;
  • Fallbacks-funksjon, som i tilfelle feil på grunn av en programfeil kan starte en reserveapplikasjon som opprettholder de samme eksterne datakildene og tilkoblingene;
  • Avanserte delingsverktøy som kan brukes til å ta opp eller kringkaste spesifikke undersett av lyd- og videokilder mens du implementerer skrivebordsdeling.

Kilde: opennet.ru

Legg til en kommentar