Arcan is a powerful development framework for creating virtually anything between user interfaces for specialised embedded applications all the way to full-blown standalone desktop environments. Boot splash screen? no problem. Custom Interface for your Home Automation Project? sure thing. Stream media processing? Of course.
It has been used in a number of both experimental, hobby, academic research and commercial projects and products alike, in areas ranging from VR desktops to industrial computer vision systems for robotic automation.
At its heart lies a robust and portable multimedia engine, with a well-tested and well-documented Lua scripting interface for high level controls, one IPC system (SHMIF) for de-coupling with two low level APIs (arcan-shmif and arcan-tui) for more intense work.
On the other side of this IPC system are everything from media encoders and decoders to networking bridges and services for protocols such as Wayland, X11, VNC and VT100 as well as command line shells which sidesteps terminal protocols entirely.
At every step of the way, the underlying development emphasises security, performance and debug-ability guided by a principle of least surprise in terms of API design.
The overarching project (‘The Arcan Project’) is a research umbrella covering most facets of operating system development, with the larger goal of building a user facing networked overlay operating system and a browser for future webs. For more on that, see the post on “Arcan as Operating System design“.
See the Videos page for videos from some of the public projects built using the engine as a main component. Most of the detailed user and development documentation can be found on the Wiki and the development discussion goes on in the #arcan IRC channel on libera.
For a high-level presentation, please refer to this video: