crosvm
chromium.googlesource.com
What it is
crosvm is a free, open-source virtual machine monitor written in Rust for running Linux and Android guest systems in sandboxed environments. Developed for ChromeOS, it is also used in TerminalApp on Android, Cuttlefish, and Windows. Each virtual device runs in its own Minijail sandbox by default, with syscall policies, namespaces, seccomp filters, and dropped capabilities contributing to isolation. Supported CPU architectures are x86_64, aarch64, and riscv64. The project lists KVM, Gunyah, GenieZone, and Halla for Linux or Android, and WHPX and HAXM for Windows. Virtio devices cover networking, storage, GPU, audio, filesystems, console, RNG, ballooning, vsock, TPM, and video. Block storage supports raw, qcow2, zstd, and Android sparse formats. Linux hosts need kernel 4.14 or newer with KVM support; some devices have additional host requirements. The project documents obtaining crosvm from its source repository and building it with Cargo. SCSI, video, shared host directories via virtio-pmem, and snapshotting are marked experimental or highly experimental.
Spec sheet
- What it does
- crosvm is a hosted, type-2 virtual machine monitor that runs guest operating systems through a host hypervisor.Read 15 Oct 2026 · crosvm.dev
- Product
- crosvm is a secure, lightweight virtual machine monitor written in Rust that runs guest operating systems in a sandboxed environment.Read 8 Oct 2026 · crosvm.dev
- 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.Read 8 Oct 2026 · crosvm.dev
- Security
- Each virtual device runs in its own Minijail sandbox by default, with syscall security policies to restrict unwanted system calls.Read 8 Oct 2026 · crosvm.dev
- Support
- The project points users to a public issue tracker and Matrix chat, and provides announcements and a developer mailing list.Read 8 Oct 2026 · crosvm.dev
- License
- crosvm is released under the BSD-3-Clause license.Read 15 Oct 2026 · chromium.googlesource.com
- Additional devices
- Other documented devices include console, RNG, balloon, vsock, TPM, pmem and video codecs.Read 15 Oct 2026 · github.com
- API compatibility
- The documentation treats signature changes in crosvm_control as breaking changes for downstream projects.Read 15 Oct 2026 · crosvm.dev
- Architectures
- The listed supported CPU architectures are x86_64, aarch64, and riscv64.Read 8 Oct 2026 · chromium.googlesource.com
- Audio
- virtio-snd has ChromeOS CRAS and Android AAudio backends.Read 15 Oct 2026 · github.com
- C and C++ interoperability
- Building crosvm generates a crosvm_control.h header for C or C++ callers.Read 15 Oct 2026 · crosvm.dev
- CLI extensibility
- Command-line options use key-value parameters and are discoverable through crosvm run --help.Read 15 Oct 2026 · doc.crosvm.dev
- Company founding
- Google says Google Inc. was officially created in August 1998.Read 15 Oct 2026 · about.google
- Company headquarters
- Google lists its headquarters in Mountain View, California.Read 15 Oct 2026 · linkedin.com
- Company legal name
- Google's LinkedIn company profile identifies the maker as Google, a public software-development company.Read 15 Oct 2026 · linkedin.com
- Company size
- Google's LinkedIn profile lists company size as 10,001 or more employees.Read 15 Oct 2026 · linkedin.com
- CPU architectures
- The repository lists x86_64, aarch64 and riscv64 support.Read 15 Oct 2026 · github.com
- Documentation depth
- The project book covers building, running, system requirements, devices, testing, tracing, integration, architecture, hypervisors and contribution.Read 15 Oct 2026 · crosvm.dev
- 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.Read 8 Oct 2026 · crosvm.dev
- Experimental features
- The documentation marks SCSI, video, shared host directories via virtio-pmem, and snapshotting as experimental or highly experimental.Read 8 Oct 2026 · crosvm.dev
- Filesystem devices
- The project provides virtio-fs and virtio-9p filesystem devices.Read 15 Oct 2026 · github.com
- Graphics
- virtio-gpu supports 2D and 3D acceleration through virglrenderer, gfxstream or vulkano.Read 15 Oct 2026 · github.com
- Hypervisor backends
- Supported backends include KVM, Gunyah, GenieZone, Halla, WHPX and Intel HAXM.Read 15 Oct 2026 · github.com
- Hypervisors
- The project lists KVM, Gunyah, GenieZone, and Halla for Linux or Android, plus WHPX and HAXM for Windows.Read 8 Oct 2026 · chromium.googlesource.com
- Implementation language
- The VMM is implemented in Rust.Read 15 Oct 2026 · github.com
- Independent technical history
- An Android Open Source Project architecture page describes crosvm's process-per-device model, Minijail sandboxing and KVM dependence.Read 15 Oct 2026 · android.googlesource.com
- Isolation
- The project describes using Linux namespaces, seccomp filters, and dropped capabilities as part of its sandboxing approach.Read 8 Oct 2026 · chromium.googlesource.com
- Known setup issue
- Device jailing requires a /var/empty directory unless the pivot-root location is changed.Read 15 Oct 2026 · crosvm.dev
- Limit: setup complexity
- Running without sudo requires KVM group access, and networking may require root-level capabilities.Read 15 Oct 2026 · doc.crosvm.dev
- Limit: virtualization overhead
- Intel measured a 5% to 35% performance gap versus native execution across Steam workloads in Borealis VM tests.Read 15 Oct 2026 · intel.com
- Linux development
- The project supplies setup scripts and a Debian development container using Podman or Docker.Read 15 Oct 2026 · crosvm.dev
- Linux networking requirement
- virtio-net needs TUN/TAP support and CAP_NET_ADMIN privileges on the host.Read 15 Oct 2026 · crosvm.dev
- Linux requirement
- Running crosvm on Linux requires a kernel 4.14 or newer with KVM and /dev/kvm access.Read 15 Oct 2026 · crosvm.dev
- Networking
- Networking is provided through virtio-net with optional vhost and slirp backends.Read 15 Oct 2026 · github.com
- Praise: performance
- Intel reports that crosvm's paravirtualized virtio approach can deliver near-native performance for Vulkan gaming workloads.Read 15 Oct 2026 · intel.com
- Praise: security
- SourceForge praises crosvm's Rust implementation, virtio design and sandboxed device emulation for reducing complexity and attack surface.Read 15 Oct 2026 · sourceforge.net
- Primary use
- The project was created for ChromeOS Linux and Android guests and is also used in Android TerminalApp, Cuttlefish and Windows.Read 15 Oct 2026 · github.com
- Public API
- The crosvm_control Rust library offers programmatic control instead of the command-line interface.Read 15 Oct 2026 · crosvm.dev
- Rating on SourceForge
- No rating is shown; the page says it is the first user review.Read 15 Oct 2026 · sourceforge.net
- Requirements
- Running crosvm on Linux requires a Linux 4.14 or newer kernel with KVM support; some devices have additional host requirements.Read 8 Oct 2026 · crosvm.dev
- Sandboxed guests
- crosvm is designed to execute untrusted operating systems inside a sandbox.Read 15 Oct 2026 · crosvm.dev
- Security model
- Virtual devices can run in separate processes jailed with Minijail.Read 15 Oct 2026 · crosvm.dev
- Self-hosting
- Users obtain the source with git clone and build the executable locally with Cargo.Read 15 Oct 2026 · crosvm.dev
- SourceForge listing
- SourceForge describes its page as an unaffiliated mirror and lists ChromeOS and Linux operating systems.Read 15 Oct 2026 · sourceforge.net
- Storage
- The virtio-block device supports raw, qcow2, zstd and Android sparse disk formats.Read 15 Oct 2026 · github.com
- Storage formats
- The virtio-block device supports raw, qcow2, zstd, and Android sparse formats.Read 8 Oct 2026 · chromium.googlesource.com
- System isolation
- The architecture uses Linux namespaces, seccomp filters and restricted capabilities for device processes.Read 15 Oct 2026 · github.com
- Use cases
- The project says crosvm was developed for ChromeOS to run Linux and Android guests and is also used in TerminalApp on Android, Cuttlefish, and Windows.Read 8 Oct 2026 · chromium.googlesource.com
- Virtual devices
- Supported virtio devices include network, block storage, GPU, audio, filesystem, console, RNG, balloon, vsock, TPM, and video devices.Read 8 Oct 2026 · chromium.googlesource.com
- Vsock integration
- The virtio-vsock device allows host and guest communication using context IDs and a host vhost-vsock device.Read 15 Oct 2026 · doc.crosvm.dev
- Windows development
- Windows builds use PowerShell, the supplied dependency installer, MSVC and the WHPX feature.Read 15 Oct 2026 · crosvm.dev
Plans and prices
Strong points and limits
Strong points
- Open source under the BSD-3-Clause license
- Each virtual device uses a Minijail sandbox by default
- Supports three listed CPU architectures
- Includes a Rust library for programmatic control
Limits
- Linux hosts require kernel 4.14 or newer with KVM
- Some devices have additional host requirements
- Several features are marked experimental or highly experimental
- Getting started requires cloning and building with Cargo
Who it suits
crosvm suits developers who need a command-line virtual machine monitor for Linux or Android guests and can meet its host requirements. Its Rust control library offers programmatic interaction as an alternative to the command line.
crosvm in depth
Read the full write-up
Overview
crosvm is a lightweight Rust virtual machine monitor for running Linux and Android guests inside a sandbox. It suits developers, platform engineers and teams building ChromeOS-, Android- or Windows-related systems who need device-level control rather than a polished desktop interface. The trade-off is a source-oriented workflow and host requirements that demand technical ownership.
Key features
Security is crosvm’s defining strength. Each virtual device runs in its own Minijail sandbox by default, with syscall policies designed to block unwanted calls. Linux namespaces, seccomp filters and dropped capabilities add further separation. This is a sensible architecture for untrusted or security-sensitive guest workloads, although sandboxing does not eliminate the need to configure a suitable host and verify each device’s requirements.
The virtio device set is broad: networking, block storage, GPU, audio, filesystem, console, random-number, balloon, vsock, TPM and video devices are supported. Virtio-block accepts raw, qcow2, zstd and Android sparse images, giving storage workflows useful format flexibility. Virtio-GPU supports 2D and 3D acceleration through virglrenderer, gfxstream or vulkano, which makes crosvm more capable for graphical guests than a monitor limited to basic display output.
Automation is covered by the Rust crosvm_control library, an alternative to the command line. Building it also generates a C/C++-compatible header, so Rust is not the only practical integration route. Snapshots and nested virtualization are supported, while live migration is not; that makes it suitable for repeatable development environments but less suitable for infrastructure requiring seamless VM movement.
SCSI, video, shared host directories through virtio-pmem and snapshotting are marked experimental or highly experimental. Those capabilities may be useful for development, but production designs should not depend on them without validating their current behavior.
Pricing
crosvm is free and open source under the BSD-3-Clause license. The sole crosvm plan costs nothing, with no trial period because there is no paid tier. That removes licensing cost for individual developers and organizations, but it also means you handle building, deployment and operational support yourself rather than buying a vendor-backed package.
Platforms
Host platforms are Linux, Android and Windows, with KVM, Gunyah, GenieZone and Halla listed for Linux or Android and WHPX and HAXM for Windows. The supported CPU architectures are x86_64, aarch64 and riscv64. Linux hosts require kernel 4.14 or newer with KVM support, and some virtual devices impose additional host requirements.
Guests are Linux and Android. crosvm is obtained by cloning its source repository and building with Cargo; the Linux guidance also describes a development container. This is appropriate for teams comfortable with reproducible builds, but it is a substantial barrier for users expecting an installer.
Who it's for
Choose crosvm when you are developing or operating Linux or Android guests and need fine-grained virtio coverage, programmable control and strong per-device isolation. It is particularly relevant to ChromeOS-derived work, Android TerminalApp and Cuttlefish environments, and Windows use cases that can accommodate the listed hypervisors.
Look elsewhere if your priority is a turnkey desktop application, broad guest operating-system support beyond Linux and Android, or live migration. Experimental device paths also make crosvm a weaker choice when every listed capability must be production-stable.
Pros and cons
Pros: Per-device Minijail sandboxing combines with namespaces, seccomp and dropped capabilities for meaningful isolation.
Pros: The virtio portfolio, multiple GPU backends and several storage formats cover varied guest workloads.
Pros: Rust and C/C++ control interfaces support automation without restricting management to the CLI.
Cons: Source cloning and Cargo compilation require engineering time instead of providing a conventional installer.
Cons: Linux use depends on a recent KVM-capable kernel, with extra requirements for some devices.
Cons: Live migration is absent, and several notable capabilities remain experimental.
Alternatives
See the Hypervisor Software list for more choices.
QEMU is the better fit when you want a free monitor spanning Linux, macOS and Windows hosts. Choose Proxmox VE instead for a freemium, web-managed platform across Linux, Windows and self-hosted environments. UTM suits Apple users who want a free or one-time-purchase macOS and iOS application. Harvester is aimed at open-source, self-hosted virtualization management. Multipass is a free option for launching prototype cloud environments locally. Parallels Desktop is a paid desktop alternative with defined Standard and Pro VM resource tiers. VMware Workstation Pro is free for supported 64-bit Intel or AMD Windows and Linux hosts without a subscription or license key. Oracle VirtualBox offers a freemium desktop and server hypervisor with a GPLv3 base package.
Verdict
crosvm is a strong choice for technical teams that need secure, scriptable Linux or Android virtualization and can own the build and host configuration. Its isolation model and device breadth are the main reasons to choose it. Seek another hypervisor when you need a packaged desktop experience, live migration, or a wider guest and host mix.
Verdict
crosvm provides a broad set of virtual devices and sandboxing controls for Linux and Android guests. Check host requirements and experimental feature status before relying on a particular setup.
Where Specifiction places it
- Hypervisor Software#1 of 269.0