A WASM-first operating system, written from scratch in Rust.

Boots on real x86-64 hardware. Every application runs as sandboxed WebAssembly — isolated by design — under a windowed desktop, a full command line, and remote access over SSH.

memory-safe Rust sandboxed WASM userland windowed GUI GPU-accelerated desktop TCP/IP + SSH Lua + Python built in multi-core boots on bare metal
host — ssh
$ ssh root@10.0.2.15 root@10.0.2.15's password: ···· auth ok user=root ruOS · WASM-first x86-64 ruOS:/# uname -a ruOS 0.1 x86-64 wasm32 ruOS:/# rtop cpu0 ████████ 61% cpu1 ███████ 18% mem 142M / 512M up 00:04:12 ruOS:/#  
40+
userspace tools
0
lines of C
2.7×
multi-core speedup
22
SSH, built in
Speaks
Overview

Everything a real machine does — built from scratch.

ruOS boots in a VM or from a USB stick on real hardware; runs its command line, editor and system tools as sandboxed WebAssembly; lets you write and run Lua & Python from an on-board IDE; draws a windowed graphical desktop; speaks TCP/IP; persists to disk; drives USB keyboards and mice; spreads heavy work across CPU cores; can install itself onto an SSD; and serves an interactive shell over SSH.

The thesis

Userland is WebAssembly. The sandbox is the architecture.

Instead of retrofitting isolation onto native code, every program is WebAssembly from the start — so isolation isn't a feature, it's the ground the system stands on.

What that buys
Every app fully isolated — no direct access to hardware or system memory
A capability model: programs can only do what they're explicitly granted
The same application code runs on a PC and on ruOS, unchanged
Runaway programs are metered and stopped automatically
What it deliberately skips
No legacy compatibility layers
No decades of accumulated attack surface
No native binaries in userland — WASM only
No unmanaged languages anywhere in the stack
Security & isolation

Isolated by construction

SANDBOX

Sandboxed userspace

Every application runs inside its own sandbox, with its own memory. It cannot touch the hardware, the system, or another program.

CAPABILITIES

Explicit grants only

A program sees only the paths and resources it has been given — there is no ambient authority to escalate, and no ../ escape.

MEMORY SAFETY

Written in Rust

Whole classes of memory-corruption vulnerabilities — overflows, use-after-free — are excluded at compile time, across the entire stack.

RESOURCE LIMITS

Metered execution

Per-task budgets on compute and memory. An infinite loop gets killed; it never takes the system down with it.

AUDITED BOUNDARY

One door in

Everything an app asks of the system passes through a single audited, fuzz-tested boundary.

RESILIENCE

Survivable failures

An internal fault ends in a controlled, diagnosable restart — not a silent hang.

Modern architecture

Designed this decade, not patched since the 90s

ASYNC CORE

Cooperative & non-blocking

The core is asynchronous end-to-end: I/O never blocks, latencies stay low, and an idle system genuinely rests.

MULTI-CORE

Cores as a compute pool

Additional CPU cores run heavy applications truly in parallel — measured at 2.7× on parallel workloads — and even share the work of drawing the screen.

BOOT

Fast & deterministic

Boot proceeds in ordered, diagnosable phases and lands at a usable prompt in seconds — from a VM, a CD image, or a USB stick.

GPU acceleration

A native Intel Intel GPU driver, from scratch

ruOS drives Intel integrated graphics with its own driver, written from zero in Rust — covering six generations of silicon, from Gen6 (Sandy Bridge) to Gen12 (Tiger Lake / Alder Lake / Raptor Lake). It has one job: move work off the CPU and onto the GPU.

Async frame copy — while the GPU pushes the current frame to video memory, the CPU is already drawing the next one
Compute rasterization — the desktop UI is rasterized directly on the GPU's execution units, as pure compute
Self-configuring — at boot it reads the real hardware topology and adapts to the silicon it finds
Strictly opt-in — built without it, the system carries zero GPU code and zero overhead
Measured on real hardware
10–20×
faster than software rasterization on 11 CPU cores
Headless by design — it accelerates, the firmware keeps owning the display
Built in verified milestones: first working shader → the full desktop rasterizing on-GPU, on real silicon
Ships in a deliberately conservative configuration — reliability first, more units to unlock
A classic 3D pipeline is scaffolded for future workloads
Desktop experience

A real windowed desktop

Each window is a separate sandboxed application. The window manager handles focus, drag, raise and close, draws decorations and shadows, and keeps the desktop responsive by compositing across CPU cores.

Click-to-focus, drag, minimize / maximize / close, and a taskbar switcher
A dynamic launcher — apps describe themselves, no hard-coded list
Wallpapers, themed icons and image assets throughout the UI
Keyboard + mouse, PS/2 and USB — hot-plug included
files
monitor · rtop
About
system info
Files
browse the filesystem
Terminal
a live shell, in a window
System Monitor
real per-core CPU, procs, mem
Notepad
edit text

Prefer text? A full ANSI console — colors, editing, scrollback — runs alongside the GUI.

Connectivity

A remote shell, out of the box

A native TCP/IP stack and a built-in SSH server, up from the moment the system boots — no disk required. The remote session is a full interactive shell: the same experience you get at the local console.

Password auth
salted & key-stretched, never stored in clear
default on
Public-key auth
standard OpenSSH keys work as-is
default on
$ ssh root@vm
$ ssh root@<vm-ip> auth ok user=root ruOS:/# whoami root ruOS:/# free mem 142M / 512M swap 0 / 0 ruOS:/#  
ruOS — install
ruOS:/# install scanning disks… port1: 32G (non-boot) partitioning boot partition data partition copying system… kernel · shell · desktop 41 tools → /mnt/bin install complete — reboot to run standalone
From live boot to installed system

It installs itself

Boot it live from a CD image or USB stick — the system stays lean by loading tools on demand from the boot medium. Then, from a running shell, one command writes a bootable copy of the whole system to an SSD. On the next power-on it runs standalone.

Live boot from CD or USB, nothing touched on disk
One-command install to SSD
A guard refuses to wipe the running system
Scripting · develop on-device

Write code inside the OS. Press Run.

No external toolchain needed: ruOS ships Lua Lua and MicroPython Python (MicroPython) as first-class citizens — sandboxed like everything else. Write a script, press Run, and it runs: as text output, or as a real window on the desktop.

Shell interpreterslua script.lua, micropython script.py, interactive REPLs — with SQLite built into Lua: a script can open a database and query it directly
Scripts become apps — a Lua script that defines frame(ui) becomes a live desktop window, with a ~23-function UI API plus filesystem and system-info helpers
Crash-proof windows — a script error shows a red panel with Reload, a stuck frame is aborted after a second, memory is capped. A bug never kills the window
An on-board IDE — file explorer, tabs, syntax highlighting, Run & Debug, output panel. It detects the language by extension and adapts

The Lua debugger pauses scripts line-by-line while the window stays live, with a variables panel. For Python, Run opens a real shell session and streams the transcript — nothing is simulated.

luaide — clock.lua · Run ▸
-- a script that is also a window function frame(ui) ui.heading("Clock") ui.label(sys.uptime()) if ui.button("Beep") then beeps = (beeps or 0) + 1 end ui.label("beeps: " .. (beeps or 0)) end ▸ Run → window "clock.lua" opened 
For developers

Standard toolchains. Your code just runs.

Applications target WebAssembly with ordinary, unmodified toolchains — write it like a normal program, and it runs on ruOS. Existing command-line code ports with little or no change.

A real Unix-feeling environment
Virtual filesystem with devices, pipes and a persistent disk
Pipelines — a | b — job control, tab completion, line editing
Terminal sessions that behave the same locally and over SSH
Build graphical apps
An SDK for windowed desktop applications
The same UI code runs on your PC during development and on ruOS unchanged
Apps self-register with the launcher via a manifest
A working command line, one sandboxed tool at a time
FILES & TEXT
ls cat echo cp mv rm mkdir rmdir touch find du df wc head tail sort uniq cut tr tee grep diff which clear
SYSTEM & PROCESS
ps kill pkill uname whoami id uptime free dmesg lscpu service rtop
NETWORK
ip ifconfig ping nc wget lspci
DISK · INSTALL · EDITOR · MISC
mkdisk mkboot install nano date
Project status

Working today

boots in VMs and on bare metal sandboxed WASM userland · 40+ tools windowed desktop + taskbar native Intel GPU driver · Gen6–Gen12 GUI terminal · system monitor Lua + Python scripting · on-board IDE true multi-core parallelism TCP/IP · SSH server USB keyboard · mouse · storage · hot-plug persistent disk filesystem live CD / USB boot SSD self-install

Verified on real hardware — a modern laptop boots it from a USB stick to a working desktop.

Why it matters

What would an OS look like,
designed today?

ruOS is one answer: memory-safe from the first line, sandboxed by construction, asynchronous at the core — and small enough that one person can understand the whole thing, top to bottom.

from power-on to a remote shell in seconds every app a sandbox one codebase, no legacy
ruOS — first boot
boot: arch … mem … fs … net … gui ready in 2.1s ruOS · WASM-first x86-64 ruOS:/# service list net running sshd running desktop running ruOS:/#