crosvm vs KVM
crosvm
chromium.googlesource.comKVM
linux-kvm.orgSide by side
| Figure | crosvm | KVM |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | Yes |
| Windows | Yes | — |
| Linux | Yes | Yes |
| Android | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 3 |
| Spec score · Hypervisor Software | 9.0 (#1) | 8.6 (#4) |
| Documentation depth | The project book covers building, running, system requirements, devices, testing, tracing, integration, architecture, hypervisors and contribution. | Documentation spans the KVM FAQ, Linux kernel API references, QEMU documentation, distribution guides and libvirt documentation rather than one centralized help center. |
| Public API | The crosvm_control Rust library offers programmatic control instead of the command-line interface. | The kernel KVM API is exposed through file descriptors and ioctl calls for system, virtual-machine, vCPU and device control. |
| Security model | Virtual devices can run in separate processes jailed with Minijail. | Red Hat’s virtualization security guide states that KVM guests run as Linux processes and use Linux isolation controls such as SELinux. |
| Self-hosting | Users obtain the source with git clone and build the executable locally with Cargo. | KVM is installed and operated on the user’s own Linux host; most distributions ship its kernel modules and user-space packages. |
| What it does | crosvm is a hosted, type-2 virtual machine monitor that runs guest operating systems through a host hypervisor. | KVM is an open-source Linux virtualization technology that lets Linux operate as a hypervisor for multiple isolated virtual machines. |
Plans
KVM
- KVM open-source softwareFree
- KVM open-source softwareFree
- KVM commercial supportPriced on request
In their own words
crosvm
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.
KVM
KVM is an open-source virtualization solution for Linux hosts with Intel VT or AMD-V extensions. It runs multiple virtual machines using unmodified Linux or Windows images, each with virtualized hardware such as a network card, disk, and graphics adapter. The documented capabilities include live migration, nested guests, CPU and PCI hotplug, virtio devices, and device assignment; snapshots and GPU acceleration are also listed. KVM’s kernel component is part of mainline Linux, while its userspace component is part of mainline QEMU. Linux distributions commonly package the required modules and tools, and Windows guest drivers are available separately. Documented processor coverage includes Intel, AMD, ARM, PowerPC, and 64-bit S390 systems. KVM can be used with upper layers including QEMU, libvirt, OpenStack, and oVirt. It is available for Linux and self-hosted use, and the listed plan is free. The host must have Intel VT or AMD-V virtualization extensions.