After a year of development, the release of the Arcan desktop engine 0.6.1 is now available, which combines a display server, multimedia framework, and game engine for processing 3D graphics. Arcan can be used to create various graphical systems, from user interfaces for embedded applications to self-sufficient desktop environments. This includes the development of the three-dimensional desktop Safespaces for virtual reality systems and the Durden desktop environment. The project code is written in C and distributed under the BSD license (some components under GPLv2+ and LGPL).
The new release incorporates the accumulated developments over the year, mainly focused on the evolution of the subsystem for accessing the desktop over the network. A general plan for preparing the first significant release 1.0 is presented: In the next branch 0.7, work is expected to expand the audio subsystem, improve compatibility, and develop tools for 3D graphics. The 0.8 branch will focus on optimization and performance, while 0.9 will be centered on security.
Among the most notable changes in version Arcan 0.6.1 is the upgrade of the display server arcan-wayland, which uses the Wayland protocol, implementing a layer for using EGL and including dma-buf support by default. In the Xarcan X server, GPU switching handling has been improved, and clipboard support and hardware acceleration for cursor rendering have been added. Support for screens with variable refresh rates has been enhanced. In the input system, efforts have been made to reduce latency.
Many internal changes aimed at improving synchronization and enhancing event queue management efficiency have been made. Continued development of the "arcan-net" graphics server for remote desktop access over the network has been carried out, utilizing this server A12 protocol, which is being developed to replace SSH/VNC/RDP/X11. Bindings for component development in Lua have been updated.
The proposed concept of Pipeworld allows for the redirection of data flows between windows, linking data and handlers across different windows similarly to cells in spreadsheets, creating a mixed workflow that combines graphical and console interfaces (for example, output from one window can be redirected to a shell handler running in the terminal and the result can be used in another window).

It is worth noting that Arcan is not tied to a specific graphics subsystem and can operate over various system environments (BSD, Linux, macOS, Windows) using pluggable backends. For instance, it can run over Xorg, egl-dri, libsdl, and AGP (GL/GLES). Client applications based on X, Wayland, and SDL2 can operate under the Arcan display server. Security, performance, and debuggability are key criteria considered in designing the Arcan API. Lua is suggested as the programming language for simplifying interface development.
Features of Arcan:
- Functionality to operate in an isolated mode where the application acts as a standalone component.
- Built-in multimedia framework providing tools for graphics, animations, streaming video and audio processing, image downloading, and working with video capture devices.
- Multiprocessing model for connecting handlers of dynamic data sources - from video streams to individual program outputs.
- Multiprocessing model for connecting handlers of dynamic data sources — from video streams to outputs of individual programs.
- A strict model of privilege separation. The engine components are divided into small unprivileged processes that interact through the shmif shared memory interface;
- Built-in monitoring and crash analysis tools, including the engine's ability to serialize the internal state of Lua scripts for easier debugging;
- A fallback feature that can launch a backup application in case of a failure due to a programming error, while preserving the same external data sources and connections;
- Advanced shared access tools that can be used to record or broadcast individual subsets of audio and video sources during the implementation of desktop sharing.
Additionally, there is news about the preparation of a new release of the Durden desktop 0.7 being developed for use with Arcan. The 0.7 release will introduce support for vertical placement of window titles and status bars, as well as a utility for voice accompaniment (text to speech). Durden supports both a tiled interface with full keyboard control and a free window placement mode on the screen. All settings, including input methods, fonts, and visual effects, can be changed on the fly, without the need to reload the configuration.
It is possible to configure separate behavior for each window and use an independent clipboard tied to a window. Support is available for multi-monitor setups with different DPIs. There is an option to display application menus in a panel (global menu) or place the menu in the window title. Widgets can be placed on the desktop. There is a built-in capability for recording actions on the desktop and in individual windows. The input management subsystem supports keyboard layout switching and the ability to work with advanced devices like game controllers.
Source: opennet.ru
