After a little over 4 years from the publication of the last significant version, has released recently the release of the new version of the Arcan 0.6.0 desktop engine, which combines a display server, a multimedia framework and a game engine to process 3D graphics.
Arcan can be used to create a variety of graphics systemsfrom user interfaces for embedded applications to standalone desktop environments.
The Safespaces three-dimensional desktop for virtual reality systems and the desktop environment Durden are also being developed based on Arcan . The project code is written in C and is distributed under the BSD license (some components under GPLv2 + and LGPL).
Arcan not tied to a separate graphics subsystem y can run on various system environments (BSD, Linux, macOS, Windows) using pluggable backends.
For what Arcan is a curious combination of a streaming media processor, a game engine and a display server With a novel design that is well suited to complex and simple interactive real-time graphics projects alike, and blends well with anything from sci-fi user interfaces to some integrated homegrown project. to full desks.
It is very modular, It has few dependencies, but comes with all the necessary batteries included.
For example, it is possible to run on Xorg, egl-dri, libsdl and AGP (GL / GLES). The Arcan display server can run X, Wayland and SDL2 client applications. Security, performance and debugtability are cited as key design criteria for the Arcan API. To simplify interface development, it is proposed to use the Lua language.
Within of the characteristics that stand out of Arcan, we can find the following:
- Combination of composite server, display server and window manager roles.
- Built-in multimedia framework that provides tools for working with graphics, animation, video and sound streaming processing, image downloading, and working with video capture devices.
- A multi-threaded model for connecting drivers for dynamic data sources, from video streams to individual program output.
- Rigid model for sharing privileges. The engine components are divided into small unprivileged processes that interact through the shared memory interface shmif.
- Built-in fault monitoring and analysis tools, including the engine, can serialize the internal state of Lua scripts to simplify debugging.
- Backup function, which in case of failure due to a bug in the program, can start a backup application, keeping the same external data sources and connections.
- Advanced sharing tools that you can use to record or stream specific subsets of video and audio sources while implementing desktop sharing.
About the new version of Arcan 0.6.0
In this new version the developers mention that the focus has been on the transparency of the network.
The first version of the "arcan-net" graphical server has been proposed, that allows organizing remote work over the network using its own A12 protocol.
X11 style client redirection is supported and remote desktop access as in RFB / RDP / SPICE, as well as inbound streaming, audio and video streaming, shared access, live and multithreaded client migration.
The transmitted video data, depending on the window types, is compressed using lossy and lossless codecs.
For authenticated channel encryption Communication, the X25519 + Chacha8 + Blake3 package is used.
Other changes include:
- Tools for debugging customer activity.
- KMSCon / FBCon style console.
- The ability to borrow in applications some drivers developed for the window manager.
- Driver implementation for Tobii 4C eye tracking device.
- XWayland Client Isolation Support.
- Arcan-trayicon component for placing icons on the system tray.
- Support for speech synthesizers.
- Redesign of the operating mode in systems without monitors (headless).
Finally, if you want to know more about it, you can check the details in the following link