After a year of development the release of the new version of the Arcan 0.6.1 desktop engine was announced, that 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 Durden desktop environment are also being developed on the basis of Arcan.
Arcan it is not tied to a separate graphics subsystem and can run on various system environments (BSD, Linux, macOS, Windows) using pluggable backends.
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 debugging ability are cited as key design criteria for the Arcan API. To simplify interface development, it is proposed to use the Lua language.
Of the characteristics that stand out of Arcan, they are the following:
- 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.
- Integrated 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 privilege sharing model. 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 the fault scripts.
- Lua to simplify debugging;
- Backup function, which in case of failure due to an error in the program, can launch 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.
Main new features of Arcan 0.6.1
The new version includes the work accumulated during the year, mainly focused on the development of the desktop access subsystem through the network. In general, the plan for the preparation of the first version 1.0 is presented.
The most notable change in Arcan 0.6.1 is the modernization of the arcan-wayland display server using the Wayland protocol, which implements a layer to use EGL and has dma-buf support enabled by default.
The server Xarcan X has improved the handling of GPU switches and adds clipboard support and hardware accelerated cursor rendering. Improved support for displays with varying refresh rates. Work has been done on the entry system to reduce delays.
Many internal changes have been made to improve synchronization and improve the efficiency of event queue management, in addition to continuing with the development of the «arcan-net» graphic server for remote work with the desktop through the network and the A12 protocol used in this server, which is is developing to replace SSH / VNC / RDP / X11. Updated links to develop Lua components.
The concept of Pipeworld has been proposed, which allows redirecting data flows between windows, linking data and handles in different windows by analogy with cells in spreadsheets, forming a mixed workflow combining graphical and console interfaces (for example you can redirect the output of a window to a shell running in terminal - handler and use the result in another window).
Finally it is mentioned that in the next branch 0.7, it is expected to work to expand the sound subsystem, improve compatibility and develop tools for 3D graphics. Branch 0.8 will focus on optimization and performance, while branch 0.9 will focus on security.
If you want to know more about it, you can check the details in the following link