Arcan desktop engine release 0.6.2

After a year of development, the Arcan 0.6.2 desktop engine has been released, which combines a display server, a multimedia framework and a game engine for processing 3D graphics. Arcan can be used to create a variety of graphical systems, from user interfaces for embedded applications to self-contained desktop environments. In particular, the Safespaces three-dimensional desktop for virtual reality systems and the Durden desktop environment are being developed on the basis of Arcan. The project code is written in C and is distributed under the BSD license (some components are under GPLv2+ and LGPL).

The new release continues the development of tools for remote work with the desktop over the network. Network access is provided by the graphical server β€œarcan-net”, which implements the A12 protocol, which combines the capabilities of such technologies as mDNS (definition of local services), SSH (interactive text shell), X11/VNC/RDP (interactive graphical shell), RTSP (media streaming) and HTTP (resource loading and state synchronization).

Arcan is not tied to a separate graphics subsystem and can work on top of various system environments (BSD, Linux, macOS, Windows) using plug-in backends. For example, it is possible to run on top of Xorg, egl-dri, libsdl and AGP (GL/GLES). The Arcan display server can run client applications based on X, Wayland and SDL2. The key criteria used in the design of the Arcan API are security, performance, and debugability. To simplify the development of interfaces, it is proposed to use the Lua language.

Arcane Features:

  • A combination of composite server, display server, and window manager roles.
  • The ability to work in standalone mode, in which the application acts as a self-sufficient link.
  • Built-in multimedia framework that provides tools for working with graphics, animation, processing streaming video and sound, loading images, working with video capture devices.
  • Multi-process model for connecting handlers of dynamic data sources - from video streams to the output of individual programs.
  • Rigid model of separation of privileges. Engine components are broken down into small, unprivileged processes that communicate through the shmif shared memory interface;
  • Built-in crash monitoring and analysis tools, including the engine can serialize the internal state of Lua scripts to simplify debugging;
  • Fallback function, which, in the event of a failure due to a program error, can launch a backup application while maintaining the same external data sources and connections;
  • Advanced sharing tools that can be used to record or broadcast selected subsets of audio and video sources while implementing desktop sharing.

Source: opennet.ru

Add a comment