Arcan desktop engine release 0.7

After a year of development, the Arcan 0.7 desktop engine has been released. It combines a display server, a multimedia framework, and a game engine for processing 3D graphics. Arcan can be used to create various graphics systems, from user interfaces for embedded applications to self-sufficient desktop environments. Among other things, the Safespaces 2D desktop for virtual reality systems and the Durden desktop environment are built on the basis of Arcan. The project code is written in C and is distributed under the BSD license (some components under the GPLvXNUMX+ and LGPL).

Arcan is not tied to specific graphics subsystems and can run on various system environments (BSD, Linux, macOS, Windows) using pluggable backends. For example, it can run on Xorg, egl-dri, libsdl, and AGP (GL/GLES). Under display control Server Arcan can run client applications based on X11, Wayland, and SDL2. Key criteria used in the design of the Arcan API include security, performance, and debuggability. To simplify interface development, the use of the Lua language is proposed.

Arcane Features:

  • A combination of the capabilities of a composite server, display server and window manager.
  • Support for working in a separate mode, in which the application is a self-sufficient link.
  • Built-in multimedia framework that provides tools for working with graphics, processing streaming video and sound, animation, loading images, working with video capture devices.
  • A multi-process model for connecting data source handlers (for example, video streams and output from running programs).
  • Hard privilege separation model - engine components are split into small unprivileged processes that communicate via the Shmif shared memory interface.
  • Built-in tools for monitoring and analyzing process crashes, for example, the engine can serialize the internal state of Lua scripts to simplify debugging.
  • Fallbacks to another handler - in case of failure due to a program error, the engine can launch a backup application, maintaining the same external data sources and connections.
  • Tools for shared access and remote connection to the desktop. Network access is provided by the graphical server "arcan-net", implementing the P2P protocol A12, combining the capabilities of such technologies as mDNS (definition of local services), SSH (interactive text shell), X11/VNC/RDP (interactive graphical shell), RTSP (streaming of multimedia data) and HTTP (downloading of resources and synchronization of state).

The new version continues work on the network subsystem and the A12 protocol. The capabilities of the directory server, developed to connect components distributed over the network into a single stack, have been expanded. For example, it can be used to connect external devices to the desktop, such as storage, cameras, and screens. Support for launching third-party window managers has been added to the Xarcan X server. When launched in this way, Xarcan takes over the functions of low-level work with the screen, ensuring security, and managing the configuration, and the window manager is responsible for processing and decorating windows (video with an example).

 Arcan desktop engine release 0.7

The capabilities of Lash, a Lua scripting environment, and the Cat9 command shell built on its basis have been expanded, providing the ability to bind command execution to individual cells that form a kind of spreadsheet (video with a demonstration). The proposed concept allows redirecting data flows between windows, linking data and handlers in different windows by analogy with cells in spreadsheets (for example, you can redirect the output from one window to a shell handler running in the terminal and use the result in another window).

 Arcan desktop engine release 0.7


Source: opennet.ru

Add a comment