Freedom251 › Hypervisor Software
crosvm

What crosvm is
crosvm is a free, open-source virtual machine monitor written in Rust. Developed for ChromeOS, it runs Linux and Android guests in sandboxed environments and is also used in TerminalApp on Android, Cuttlefish, and Windows. Each virtual device runs in its own Minijail sandbox by default; its isolation approach also includes Linux namespaces, seccomp filters, and dropped capabilities. crosvm supports x86_64, aarch64, and riscv64 architectures. Available hypervisors vary by host: Linux and Android options include KVM, Gunyah, GenieZone, and Halla, while Windows options include WHPX and HAXM. Its virtio devices cover networking, storage, graphics, audio, filesystems, console, RNG, balloon, vsock, TPM, and video. Block storage supports raw, qcow2, zstd, and Android sparse formats, and virtio-GPU supports 2D and 3D acceleration through listed graphics backends. Linux hosts require kernel 4.14 or newer with KVM support; some devices have additional host requirements. The project documents building from source with Cargo.
Who it suits
crosvm suits developers and operators who need to run Linux or Android guests on supported hosts, including ChromeOS-related use cases. It also offers a Rust library for programmatic control alongside its command-line interface.
What it does well
- Each virtual device has a Minijail sandbox by default.
- Supports x86_64, aarch64, and riscv64.
- Includes a broad set of virtio devices.
- crosvm_control provides programmatic interaction.
What to know first
- Linux hosts need kernel 4.14 or newer with KVM.
- Some devices have additional host requirements.
- Snapshotting and several devices are experimental.
Limits
SCSI, video, shared host directories through virtio-pmem, and snapshotting are marked experimental or highly experimental. Linux hosts require kernel 4.14 or newer with KVM support, and some devices have additional host requirements.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| crosvm | Open-source software · BSD-3-Clause license | Free |
As chromium.googlesource.com lists them, read 8 Oct 2026. The maker's own page has the final word.
Getting started
- Open the crosvm source repository.
- Clone the repository.
- Build crosvm with Cargo.
- For a Linux build, follow the documented development container option if useful.
Overview
crosvm is a Rust virtual machine monitor for running Linux and Android guests in a sandboxed environment. It suits developers and platform teams building or operating guest workloads across Linux, Android, or Windows hosts. Its broad device support and isolation model make it a capable building block, but source-based setup and host requirements rule it out as a turnkey desktop VM.
Key features
By default, crosvm runs each virtual device in its own Minijail sandbox and applies syscall policies. Its wider isolation approach uses Linux namespaces, seccomp filters, and dropped capabilities. That device-level separation is a meaningful strength for teams concerned with limiting unwanted host interactions; it still depends on compatible host and device requirements.
Its virtio lineup spans networking, block storage, graphics, audio, filesystems, console, RNG, balloon, vsock, TPM, and video. Block storage accepts raw, qcow2, zstd, and Android sparse formats, while virtio-GPU offers 2D and 3D acceleration through virglrenderer, gfxstream, or vulkano. This range helps teams support varied guest needs without reducing crosvm to a narrow-purpose monitor.
For automation, the Rust crosvm_control library provides programmatic interaction alongside the command line, and the build generates a C/C++ compatible header. Supported architectures are x86_64, aarch64, and riscv64. Snapshots and nested virtualization are supported, but live migration is not, making crosvm a weaker fit for workflows that depend on moving running VMs between hosts. SCSI, video, shared host directories through virtio-pmem, and snapshotting are marked experimental or highly experimental, so those capabilities deserve caution in production plans.
The project was developed for ChromeOS to run Linux and Android guests and is also used in TerminalApp on Android, Cuttlefish, and Windows. Setup is aimed at builders: obtain the source repository and build with Cargo; the Linux guide also describes a development container. Linux hosts need kernel 4.14 or newer with KVM support, and some devices add further host requirements.
Pricing
crosvm is free: its open-source plan costs nothing and uses the BSD-3-Clause license. There is no paid tier or free trial to weigh against it. The trade-off is operational rather than financial: users build from source instead of choosing a packaged commercial plan.
Platforms
Host platforms are Linux, Android, and Windows, with Linux operation requiring a KVM-capable kernel at version 4.14 or newer. Guest support covers Linux and Android. The project lists KVM, Gunyah, GenieZone, and Halla for Linux or Android, plus WHPX and HAXM for Windows. The supported hypervisor and device combination therefore matters when choosing a host.
Who it's for
crosvm is best for developers and platform teams who need a configurable monitor for Linux or Android guests, value per-device sandboxing, or want to integrate VM control into Rust or C/C++ tooling. It is less suitable for people who want a point-and-click VM manager, packaged installation, live migration, or experimental features treated as settled production capabilities.
Pros and cons
- Pros: Per-device Minijail sandboxing, syscall policies, namespaces, seccomp filters, and dropped capabilities provide a layered isolation design.
- Pros: A wide virtio device set, multiple storage formats, and several GPU acceleration paths give guest builders flexibility.
- Pros: Free, open-source distribution avoids license fees, while the control library supports programmatic integration.
- Cons: Source cloning and a Cargo build add setup work compared with a ready-to-use VM application.
- Cons: Linux use requires a recent KVM-capable kernel, with additional host requirements for some devices.
- Cons: Snapshotting and several device or shared-directory features are experimental, and live migration is unavailable.
Alternatives
Proxmox VE is worth considering when a freemium option with a web platform matters more; its Premium plan is €1,100 a year, billed for a one-year subscription per occupied physical CPU socket. Multipass is a free alternative for prototype cloud launches locally and supports Linux, macOS, and Windows. QEMU is another free, open-source option for Linux, macOS, and Windows. Harvester may suit readers seeking a free, fully open-source option for self-hosted and web use.
UTM is an alternative for Apple platforms: its free open-source version is a GitHub download without automatic updates, while its Mac App Store version costs $9.99, paid once. VMware Workstation Pro is free for Windows or Linux hosts on 64-bit Intel or AMD PCs and requires no subscription or license key. ACRN Hypervisor is a free open-source reference hypervisor under the BSD 3-Clause license. Cloud Hypervisor is a free open-source VMM for Linux and self-hosted use. Readers comparing more products can browse Hypervisor Software.
Verdict
Choose crosvm if you need a free, source-buildable monitor for Linux or Android guests and value broad device support with sandboxing built into its design. Look elsewhere if you need a packaged desktop workflow, live migration, or dependable reliance on features still marked experimental.
Verdict
crosvm provides a broad set of guest devices and host hypervisor options, with sandboxing built into its design. Linux users need a sufficiently recent KVM-capable kernel, and some documented features remain experimental.
Questions
Is crosvm free?
Yes. The listed plan is free, and the project is open source under the BSD-3-Clause license.
Which guest operating systems does it support?
The listed guest systems are Linux and Android.
Which host platforms are listed?
Linux, Android, and Windows.
How do I get crosvm?
The project documents cloning its source repository and building with Cargo. Its Linux build guide also describes a development container.
Does crosvm support VM snapshots or live migration?
VM snapshots are listed as supported, though snapshotting is marked experimental or highly experimental. Live migration is listed as unsupported.
Where can users get support?
The project points users to a public issue tracker and Matrix chat, as well as announcements and a developer mailing list.
Facts from crosvm's own pages
- Additional devices
- Other documented devices include console, RNG, balloon, vsock, TPM, pmem and video codecs. · github.com, 15 Oct 2026
- API
- The Rust crosvm_control library provides programmatic interaction as an alternative to the command line and generates a C/C++ compatible header during the build. · crosvm.dev, 8 Oct 2026
- API compatibility
- The documentation treats signature changes in crosvm_control as breaking changes for downstream projects. · crosvm.dev, 15 Oct 2026
- Architectures
- The listed supported CPU architectures are x86_64, aarch64, and riscv64. · chromium.googlesource.com, 8 Oct 2026
- Audio
- virtio-snd has ChromeOS CRAS and Android AAudio backends. · github.com, 15 Oct 2026
- C and C++ interoperability
- Building crosvm generates a crosvm_control.h header for C or C++ callers. · crosvm.dev, 15 Oct 2026
- CLI extensibility
- Command-line options use key-value parameters and are discoverable through crosvm run --help. · doc.crosvm.dev, 15 Oct 2026
- Company founding
- Google says Google Inc. was officially created in August 1998. · about.google, 15 Oct 2026
- Company headquarters
- Google lists its headquarters in Mountain View, California. · linkedin.com, 15 Oct 2026
- Company legal name
- Google's LinkedIn company profile identifies the maker as Google, a public software-development company. · linkedin.com, 15 Oct 2026
- Company size
- Google's LinkedIn profile lists company size as 10,001 or more employees. · linkedin.com, 15 Oct 2026
- CPU architectures
- The repository lists x86_64, aarch64 and riscv64 support. · github.com, 15 Oct 2026
- Documentation depth
- The project book covers building, running, system requirements, devices, testing, tracing, integration, architecture, hypervisors and contribution. · crosvm.dev, 15 Oct 2026
- Download and build
- The project documents obtaining crosvm by cloning its source repository and building it with Cargo; its Linux build guide also describes a development container. · crosvm.dev, 8 Oct 2026
- Experimental features
- The documentation marks SCSI, video, shared host directories via virtio-pmem, and snapshotting as experimental or highly experimental. · crosvm.dev, 8 Oct 2026
- Filesystem devices
- The project provides virtio-fs and virtio-9p filesystem devices. · github.com, 15 Oct 2026
- Graphics
- virtio-gpu supports 2D and 3D acceleration through virglrenderer, gfxstream or vulkano. · github.com, 15 Oct 2026
- Hypervisor backends
- Supported backends include KVM, Gunyah, GenieZone, Halla, WHPX and Intel HAXM. · github.com, 15 Oct 2026
- Hypervisors
- The project lists KVM, Gunyah, GenieZone, and Halla for Linux or Android, plus WHPX and HAXM for Windows. · chromium.googlesource.com, 8 Oct 2026
- Implementation language
- The VMM is implemented in Rust. · github.com, 15 Oct 2026
- Independent technical history
- An Android Open Source Project architecture page describes crosvm's process-per-device model, Minijail sandboxing and KVM dependence. · android.googlesource.com, 15 Oct 2026
- Isolation
- The project describes using Linux namespaces, seccomp filters, and dropped capabilities as part of its sandboxing approach. · chromium.googlesource.com, 8 Oct 2026
- Known setup issue
- Device jailing requires a /var/empty directory unless the pivot-root location is changed. · crosvm.dev, 15 Oct 2026
- License
- crosvm is released under the BSD-3-Clause license. · chromium.googlesource.com, 15 Oct 2026
Where crosvm stands on Freedom251
- Hypervisor Software#1 of 26
