Merge with upstream 2026-05-05 3/3 d82d3e6162 Roll recipe dependencies (trivial). 2609227ed7 Roll recipe dependencies (trivial). a397bc435a Roll recipe dependencies (trivial). 540c8e3f80 tools: Add prune_unused_deps 132025d582 trim unused deps f81783045d Roll recipe dependencies (trivial). 24ec163a71 hypervisor: delete unused _vm_evt_wrtube param of WhpxVm::new 70a0297dc9 hypervisor: pass Event by value to Vm::(un)register_ioevent 8736705838 devices: delete IrqChip*::as_irq_chip 2e9bafb7d7 devices: remove unnecessary Arc indirections in IrqChip impls be88d535f4 devices: delete IrqChip::try_clone, use Arc<impl IrqChipArch> 0cfa6a608b devices: don't require &mut self for trait IrqChip fdaa7af55d devices, hypervisor: remove downcast-rs dep 30659f8231 hypervisor: delete Vcpu::as_vcpu daeb4b1b24 use trait objects for Vm and Vcpu to reduce code bloat https://chromium.googlesource.com/crosvm/crosvm/+log/67c0b4656bb4a2829b103282ecb71c3e602d8b44..d82d3e6162d6052cb8eaca405a2283d65572091f BUG=b:508654726 BUG=b:390723761 Cq-Depend: chromium:7817368, chromium:7817773 Change-Id: If0a85da1a1326cca2392eadc93de4bab89719bfe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/7815051 Reviewed-by: Zihan Chen <zihanchen@google.com> Tested-by: Keiichi Watanabe <keiichiw@chromium.org> Commit-Queue: Keiichi Watanabe <keiichiw@chromium.org>
The ChromeOS Virtual Machine Monitor
crosvm is a secure, lightweight, and performant Virtual Machine Monitor (VMM) written in Rust. Originally developed for ChromeOS to run Linux (Crostini) and Android guests (ARCVM). It is now used across multiple products and platforms such as TerminalApp on Android, Cuttlefish and Windows.
crosvm focuses on security through strong isolation and a modern, memory-safe implementation. It leverages hardware-assisted virtualization to provide a robust execution environment for untrusted code.
io_uring, vhost, and an internal async runtime (cros_async).crosvm implements a wide range of paravirtualized devices via the virtio standard:
virtio-net with optional vhost and slirp backends.virtio-block supporting raw, qcow2, zstd, and Android sparse formats.virtio-gpu with 2D and 3D acceleration (via virglrenderer, gfxstream, or vulkano).virtio-snd with backends for CRAS (ChromeOS), AAudio (Android), and more.virtio-fs and virtio-9p.crosvm is designed with a “process-per-device” model:
forked into its own process.The recommended way to build and develop crosvm is using the provided development container.
Use the dev container to build a release version of crosvm:
./tools/dev_container ./tools/build_release
Follow this example usage to run a simple Linux guest.
#crosvm channel on Matrix.crosvm is an open-source project licensed under the BSD-3-Clause License.