smolvm — Run Any Workload in a Hardware-Isolated Linux VM

2026-08-25 · source · source ↗ · raw capture · wiki page

smolvm is a single-binary, open-source (4.6k GitHub stars) tool for running workloads in fast, hardware-isolated Linux VMs. The core promise: the same SDK and the same portable .smolmachine artifact run identically in local development, on the hosted cloud, or self-hosted.

What it does

How it's built

The isolation comes from a real hypervisor per workload: Hypervisor.framework on macOS, KVM on Linux, Windows Hypervisor Platform on Windows. The VMM is libkrun — a library linked into the smolvm binary, not a daemon — paired with a custom kernel, libkrunfw. Defaults are 4 vCPUs and 8 GiB RAM; memory is elastic via virtio balloon, so the host commits only what the guest uses.

Comparison (from the site's own table)

Against containers, QEMU, and Firecracker, smolvm claims: VM-per-workload isolation (unlike containers' shared kernel), <200ms boot (vs. QEMU's 15–30s), library architecture (vs. daemon/process), Vulkan GPU access (Firecracker has none), macOS-native support (containers need a Docker VM, Firecracker doesn't run on macOS), and portable .smolmachine artifacts that don't need a daemon to run.

Host/guest matrix

macOS Apple Silicon → arm64 Linux; macOS Intel → x86_64 Linux (marked "untested"); Linux x86_64/aarch64 → same-arch Linux via KVM; Windows x86_64 → x86_64 Linux via WHP (release zip, not the curl installer).