heyvm itself has no runtime dependencies beyond the binary. Each virtualization
backend, however, relies on tools or kernel features being present. The installer's
setup flow detects which backends are usable on your machine; the table below lists
what each one needs.
| Backend | Requires |
|---|---|
firecracker |
The Firecracker binary, /dev/kvm, and sudo for TAP networking. Kernel is auto-downloaded (heyvm mvm fetch-kernel). |
firecracker_containerd |
firecracker-containerd + CNI networking. |
libvirt |
libvirt, QEMU, and KVM. Uses the unprivileged qemu:///session connection. |
kvm |
/dev/kvm (Linux x86_64 only at runtime). |
docker |
A working Docker runtime. |
msb (microsandbox) |
The msb server running (msb server start --dev) and MSB_API_KEY set. |
apple_virt |
Apple Silicon + the com.apple.security.virtualization entitlement. Images auto-download from S3. |
apple_container |
macOS with Apple's container CLI tool installed. |
bubblewrap |
The bwrap binary (Linux user namespaces). |
sandbox_exec |
macOS (sandbox-exec is built in). |
wasix |
The Wasmer runtime. |
wasip2 |
The Wasmtime runtime. |
hyperv |
Windows with Hyper-V enabled. |
windows_sandbox |
Windows with Windows Sandbox enabled. |
Building from source
If you build heyvm yourself, you also need:
- A Rust toolchain (pinned by
rust-toolchain.toml) andgit. - On macOS, Xcode Command Line Tools and
entitlements.xmlfor code signing.
See Virtualization Backends for what each backend does and Installing From Source for build steps.