A from-scratch operating system

The real desktop web,
on an OS built from zero.

XerisOS boots straight to UEFI and runs unmodified desktop Chrome on its own Linux-ABI compatibility layer — with a hand-written TLS 1.3 browser stack, cryptographically signed A/B over-the-air updates, and an AI agent that lives on the machine, not in the cloud.

Download 0.9.3 Beta See what's new x86-64 · UEFI · ~1 MB kernel
What's inside

An operating system, not a shell over Linux.

Every layer is written from scratch — the UEFI loader, the kernel, the network and TLS stacks, the compositor — and made just Linux-compatible enough to run a real browser.

🌐

Desktop Chrome

Unmodified Chromium runs on a purpose-built Linux syscall-emulation layer with demand-paged mmap and an in-kernel multi-client Wayland compositor.

🔒

Hand-written TLS 1.3

A from-scratch TCP/IP and TLS 1.3 client — X25519, ChaCha20-Poly1305, SHA-256 — drives every HTTPS connection the browser and updater make.

🛰️

Signed A/B updates

Over-the-air updates land in a spare slot, verified by an Ed25519-signed manifest and per-file SHA-512, then boot with automatic rollback.

On-device AI — Ari

An agent that runs entirely on the machine, with tools for the filesystem and apps. No round-trip to a datacenter, no telemetry.

🎮

Accelerated graphics

WebGL through a SwiftShader + Wayland + wl_shm path, composited by the kernel and presented straight to the framebuffer.

Boots in seconds

A ~1 MB kernel loaded by a custom UEFI loader — no BIOS, no bootloader chain, straight from the firmware to the desktop.

Release hub

Current release & the update system.

XerisOS keeps itself current the way a phone does — signed images delivered over the air, applied to a spare slot, and rolled back automatically if a boot doesn't check out.

0.9.3
beta channel released 2026 · x86-64
Download this build
Ed25519-signed · verified on device before install

What's new

v0.9.3 “beta”
Signed A/B OTA updates. Two-slot updates with an Ed25519-signed manifest, per-file SHA-512 verification, and automatic rollback if a new build never confirms healthy.
HTTPS update client. The updater fetches releases over the OS's own TLS 1.3 stack — no plaintext, nothing to trust but the signing key.
Full desktop Chrome bring-up. Complete Chromium 152 running on the Linux-ABI layer — symbols resolved, Ozone/Wayland up, crashpad-free startup.
Network throughput & integrity fixes. A store-then-ACK rewrite of the TCP receive path removes stream stalls on large downloads.

How an update lands

The device checks the update server, verifies the signature before touching anything, and stages the new build into whichever slot it isn't running from. Only after a clean, verified write does it flip and reboot.

01

Fetch & verify

Pull the signed manifest over HTTPS and check the Ed25519 signature. A bad signature stops here.

02

Stage the spare slot

Download each file into the inactive slot, checking its SHA-512 against the manifest as it lands.

03

Flip & boot

Mark the new slot active on trial and reboot into it. The old slot stays intact, untouched.

04

Confirm or roll back

Boot cleanly and the slot is committed. Fail to confirm and the loader reverts to the last good slot.

A
running now
0.9.3 · confirmed
B
spare slot
ready for next update

Get XerisOS 0.9.3

Write the image to a USB stick and boot any x86-64 UEFI machine. Once installed, it updates itself.