Scarlet

A Rust operating system where application ABIs coexist on one kernel. Scarlet lets native applications and compatibility workloads, for example Linux programs, run together over shared kernel primitives.

Application ABIs on Shared Kernel Primitives

Scarlet translates ABI-specific interfaces into common kernel objects such as VFS nodes, sockets, tasks, devices, and events instead of placing each workload behind a separate virtual machine.

Scarlet Shell
# Running a Linux-compatible workload
$ uname -a
Linux scarlet 6.1.0-scarlet riscv64 GNU/Linux
# Sharing Scarlet-native services with compatibility workloads
$ scarlet_hello | busybox cat
Hello from Scarlet!
Scarlet Desktop

Scarlet native apps and selected Linux GUI applications running on the same desktop

Built Around Shared Kernel Primitives

Multi-ABI Execution

Run native applications and compatibility workloads over shared Scarlet kernel primitives rather than separate VM boundaries.

Rust-first System

Scarlet is built primarily in Rust, from the kernel to user libraries, desktop components, and tooling.

Native Desktop Stack

SWS, ScarletUI, terminal, taskbar, settings, IME experiments, and Wayland bridge support form Scarlet's desktop environment.

SDK-driven Builds

Project manifests and cargo-scarlet compose kernels, filesystem bundles, boot images, and runnable system configurations.

Virtualization Support

SHV provides Type-2 virtualization and Linux /dev/kvm compatibility for selected VMM workloads.

Hardware Bring-up

VirtIO, networking, display, audio, video decode, and experimental Apple Silicon support are developed as part of the system.

Start from the Nix Development Shell

terminal
# Enter the supported development environment
$ nix develop

# Build and run the default RISC-V full image
$ cargo make run-riscv64

# Or run the AArch64 QEMU full image
$ cargo make run-aarch64

# Run kernel tests for both maintained architectures
$ cargo make test-riscv64
$ cargo make test-aarch64

Current Focus

Architecture Targets

  • RISC-V 64-bit Primary
  • AArch64 QEMU Active
  • Apple Silicon Experimental

ABI Focus

  • Scarlet Native Primary
  • Compatibility workloads Selected
  • Additional ABI experiments Research