Arcan desktop engine release 0.6.1

After a year of development, the release of the Arcan 0.6.1 desktop engine is available, 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. Including on the basis of Arcan, the three-dimensional Safespaces desktop for virtual reality systems and the Durden desktop environment are being developed. The project code is written in C and distributed under the BSD license (some components under GPLv2+ and LGPL).

The new release includes the accumulated developments over the year, mainly focused on the development of a subsystem for accessing the desktop over the network. In general terms, the preparation plan for the first significant release 1.0 is presented: In the next 0.7 branch, work is expected to expand the sound subsystem, improve compatibility and develop tools for 3D graphics. Branch 0.8 will focus on optimization and performance, and 0.9 on security.

One of the most notable changes in Arcan 0.6.1 is the upgrade of the arcan-wayland display server, which uses the Wayland protocol, which implements a layer to use EGL and has dma-buf support enabled by default. The Xarcan X server has improved GPU switching handling and added support for the clipboard and hardware accelerated cursor rendering. Improved support for screens with variable content refresh rate. In the input system, work has been done to reduce delays.

Many internal changes have been made to improve synchronization and efficiency in event queuing. The development of the arcan-net graphical server for remote work with the desktop over the network and the A12 protocol used in this server, which is being developed to replace SSH/VNC/RDP/X11, has been continued. Updated bindings for developing Lua components.

The concept of Pipeworld is proposed, which allows you to redirect data flows between windows, linking data and handlers in different windows, similar to cells in spreadsheets, forming a mixed workflow that combines graphical and console interfaces (for example, you can redirect output from one window to a shell running in the terminal -handler and use the result in another window).

Recall that Arcan is not tied to a separate graphics subsystem and can run on top of various system environments (BSD, Linux, macOS, Windows) using pluggable 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 X, Wayland and SDL2 based client applications. The key criteria used in the design of the Arcan API are security, performance, and debuggability. 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.

Additionally, we can note the preparation of a new release of the Durden 0.7 desktop developed for use with Arcan. In release 0.7, support for vertical placement of the window title and status bar will appear, and a utility for voice guidance (text to speech) will also be added. Durden supports both a tiled interface with full keyboard controls and free-floating windows on the screen. All settings, including input methods, fonts, and visual effects, can be changed on the fly without having to reload the configuration.

It is possible to configure a separate behavior for each window and use an independent clipboard attached to the window. Work in systems with several monitors having different DPI is supported. It is possible to display the application menu in the panel (global menu) or place the menu in the window title bar. Widgets are allowed on the desktop. There is a built-in ability to record actions on the desktop and in separate windows. The input management subsystem supports changing keyboard layouts and the ability to work with advanced devices such as game consoles.

Source: opennet.ru

Add a comment