Live · running in this tab
Don't take our word.
Boot it.
The full JouleOS shell runs right here, with nothing to install — 2 MB of WebAssembly, the real thing. Below it: a pure-Rust virtual machine, in your browser, that boots the JouleOS bare-metal kernel from its 32-bit entry, all the way to long mode.
This is the actual operating system — 2 MB of WebAssembly, the same source that runs native and bare-metal. Type in the intent bar; watch results spawn as surfaces with their own energy cost.
- type an intent + Enter
- Ctrl+K command palette
- Ctrl+1…5 layout modes
- Shift+V voice
This is not an animation. A pure-Rust CPU emulator — x86-64, ARM, RISC-V, decode → IR → interpreter — runs entirely in your browser and boots the JouleOS bare-metal kernel: the real x86_64-unknown-none ELF, entered in 32-bit protected mode, brings up long mode through its own trampoline, logs to the serial console, and paints its identity to a framebuffer the VM scans out to the canvas — graphics and all, live in this tab.
Getting here meant teaching the emulator 32-bit protected mode and the 32→64-bit long-mode switch (GDT descriptor CS.L, mode-aware decode), so the kernel's PVH trampoline runs unmodified. The same ELF boots identically under qemu -kernel.
The VM needs a cross-origin-isolated context (SharedArrayBuffer), so it runs best in its own tab — launch fullscreen ↗. It auto-boots JouleOS; you can also Stop and upload an AArch64 ELF / x86-64 bzImage.