o The XRUIOS
The XRUIOS
v1The XRUIOS logo beside a girl in a straw sun hat

The XRUIOS

The Extended Reality User Interface Operating System

Making Two Realities One.

The XRUIOS is a free, open program that brings all your devices together into one seamless hivemind — phones, handhelds, and computers acting as one. It features a fully customizable XR runtime for running desktop and custom .xur apps, working with no custom OS required, and offers YuukOS as a full Linux distro for those who want a dedicated foundation. Secure by design and developer-friendly by nature, The XRUIOS is ready to redefine what your devices can do.

The XRUIOS, four devices · drag a device to turn it · tap its screen to use it

See it move

A walkthrough of The XRUIOS on desktop, handheld and headset.

For developers

Development doesn't have to be hell.

You don't need to know 100 esoteric design choices to use the XRUIOS. In this example, it connects to the local XRUIOS orchestrator, adds an event, then gets all of the events for the day. The Manager handles the rest.

C# · Agenda
var cred = await Xruios.CredentialsAsync("agenda");
await using var mgr = await Xruios.ConnectAsync(cred, "agenda");

string today = DateTime.Today.ToString("yyyy-MM-dd");
string uid = await mgr.InvokeAsync<string>("AddEvent",
    new() { ["day"] = today, ["summary"] = "Stand-up" });
string events = await mgr.InvokeAsync<string>("GetEvents", new() { ["day"] = today });

What happens behind those lines

On the Manager
  1. Finds the credentials in the environment.
  2. Checks which process is asking and runs the worker made for it, after making sure that worker wasn't tampered with.
  3. Does a Kyber 1024 key exchange to prove the caller is who it says it is.
  4. Derives a session key with HKDF-SHA256.
  5. Serializes calls, and re-handshakes by itself if the connection drops. You usually only handshake once.
  6. Caches responses, with a limit of 100 checks a minute so nothing can be spammed.
  7. Writes an HMAC entry into the audit and worker logs.
On the worker
  1. Accepts only sessions carrying the Manager's signature, so nothing else can hijack it.
  2. Rehashes itself every 30 seconds and exits if anything has changed.
  3. Runs the orchestrator logic.
  4. Stores the event data encrypted at rest.
  5. Passes back the worker's own error message if something fails.

Read the developer guide ▶

When the Manager starts, it makes a password for each worker, and each worker gets a different one that only it can see. The system is also split across many workers, so getting into one doesn't hand over the others. That way, you spend less time worrying about security and can focus on development instead.

Channels