KVM

The KVM backend uses kvmbind to manage Linux VMs through /dev/kvm directly via the rust-vmm ecosystem — no external VMM binary (Firecracker, QEMU) required. It's available on Linux x86_64 only.

Requirements

  • Linux on x86_64
  • KVM support (Intel VT-x or AMD-V)
  • Read/write access to /dev/kvm

How it works

KVM file descriptors are anonymous kernel objects tied to the lifetime of the process that opened /dev/kvm. To preserve detach/reattach semantics, each VM lives in a long-lived heyvm kvm-run <id> subprocess detached from the parent CLI's process group. Subsequent CLI invocations communicate with that subprocess over ~/.heyo/kvm/<id>/vm.sock.

Installation

  1. Verify KVM support

    egrep -c '(vmx|svm)' /proc/cpuinfo
  2. Grant /dev/kvm access

    sudo usermod -aG kvm $(whoami)

    Log out and back in for the group change to take effect.

Usage

heyvm --backend-type kvm