rust-vmm
- title
- rust-vmm
- type
- entity
- summary
- Shared Rust crate ecosystem under most modern VMMs β kvm-ioctls, vm-memory, virtio-queue, vhost-user β with multi-vendor governance
- tags
- virtualization, rust, infrastructure, open-source
- created
- 2026-05-03
- updated
- 2026-05-03
rust-vmm is a multi-vendor open-source project providing the shared Rust crates that underpin most modern microVM implementations. Started in 2018 alongside Firecracker, governed jointly by AWS, Intel, Google, Microsoft, Red Hat, Alibaba, and Linaro. The pitch: rather than every VMM rewriting KVM bindings, virtio queues, vhost-user device backends, and memory managers from scratch, share the crates and improve them in one place.
By 2026 the architecture is the foundation under Firecracker, Cloud Hypervisor, libkrun, Dragonball, crosvm, and a long tail of derivatives. A vm-memory improvement lands once and benefits everyone; a fuzzing or formal-verification campaign on virtio-queue covers all downstream VMMs at the same time. See microvm-2026 for the industry context.
What's in the toolbox
The project ships crates across four broad categories:
- VM foundation.
kvm-ioctls,kvm-bindings,mshv-ioctls(Microsoft's hypervisor on Windows),xen-ioctls,linux-loaderβ the low-level interfaces to host hypervisors and guest-kernel loading. - Resource management.
vm-allocator,vm-memoryβ guest memory regions, IOMMU support,guest_memfdintegration, and (notably) Kani-based formal verification of safety properties. - Device emulation.
virtio-queue,virtio-bindings,vhost,vhost-user-backend,vfio-ioctlsβ the virtio data plane and the protocol for offloading device emulation to a separate process (vhost-user). - vhost-user device backends.
can,console,gpio,gpu,i2c,input,rng,scmi,scsi,sound,spi,video,vsock,virtiofsd. Reusable device implementations any VMM can plug in.
Repository layout: historically a constellation of small crates, with a monorepo consolidation announced at FOSDEM 2026 to reduce coordination overhead. RISC-V architecture support landed in the same window.
Why it works
The interesting governance pattern: rust-vmm crates ship as building blocks, not as a complete VMM. AWS still ships Firecracker; Intel still ships Cloud Hypervisor; Red Hat still ships libkrun. Each vendor competes on the integration layer above the shared crates and on the operational story (rootfs images, snapshotting, container integration). The crates themselves are commodity.
This is an unusual outcome β multiple commercial VM products co-developing a substrate library and shipping competing offerings on top of it. It works because the substrate code (KVM bindings, virtio queues) is genuinely common, no one's product story differentiates on it, and the safety/performance benefits of pooled formal verification and fuzzing are large.
The BeganoviΔ framing in microvm-2026: "improvements benefit all downstream projects simultaneously. A vm-memory enhancement helps Firecracker, Cloud Hypervisor, libkrun, Dragonball, and crosvm equally."
Why this matters in 2026
The "Docker moment" thesis in microvm-2026 hinges partly on rust-vmm. Most of the AI-agent sandbox platforms surveyed (E2B, Vercel Sandbox, Microsandbox, SlicerVM, Matchlock, etc.) shipped in months, not years. They could because the hard substrate work β KVM bindings, virtio data plane, device emulation, memory safety β was already done. The new vendors built integration, scheduling, and operator UX on top of mature shared crates.
Compare to a hypothetical alternative timeline where every AI-sandbox vendor reimplemented their own VMM from scratch. The category would be 3-5 years behind where it is, and most of the entrants would have shipped subtly broken hypervisors instead of subtly broken UX.
Crate-level safety properties worth knowing
vm-memoryhas Kani-verified properties for some operations β formal verification, not just fuzzingguest_memfdintegration shrinks the guest-host memory-sharing attack surface compared to traditional virtio bounce buffersvhost-userseparates device-emulation processes from the VMM itself, so a virtio-net bug doesn't grant access to the VMM's memory- IOMMU support in
vm-memorymeans VMMs can give devices DMA access while still constraining them
Repos and links
- Org: github.com/rust-vmm
- Status (2026): monorepo consolidation in progress; RISC-V support added; multi-vendor maintainership active
See also
- microvm-2026 β BeganoviΔ's readout where rust-vmm gets its industry-context framing
- microvm β the architecture rust-vmm enables
- matryoshka-isolation β pattern this substrate makes cheap enough to deploy widely
- supply-chain-security β adjacency: shared crates also share supply-chain risk