MVisor: A mini x86 hypervisor
Goal
- A minimal hypervisor based on KVM and x86 (replace QEMU)
- A limited number of emulated devices (support plugins in later version)
- Linux and Windows as guest VMs
- VFIO (especially vGPU) and migration
- Extremely stable and high performance
Screenshot
Ubuntu
vGPU
Multimedia
Roadmap And Current Status
What's supported now:
Basic functions
- 440FX ✅ / Q35 Chipset ✅
- SeaBIOS ✅
- Memory Region Management ✅
- IOPort Management ✅
- Devices Management ✅
- RTC (CMOS) ✅
- PS/2 ✅
- PCI ISA ICH9-LPC ✅
- QEMU CFG ✅
- Legacy DMA ✅
- IDE ✅ / AHCI ✅
- Floppy Disk ✅
- Serial Port ✅
- VGA / VBE ✅
- Option Roms ✅ / SMBIOS ✅ / ACPI Table ✅
- Boot DOS ✅
- Boot OS (Win98 to Win11 / DOS / Ubuntu) ✅
- QCOW2 ✅
Multimedia & Networking
- Virtio (Console ✅ / Block ✅ / Net ✅ / VirtioFS ✅ / Balloon)
- SpiceAgent ✅
- QemuGuestAgent ✅
- Qxl ✅
- Audio (ICH9-HDA / AC97) ✅
- Tap network
- User network ✅
- VFIO ✅
- Samba
- USB 1.0 UHCI ✅ / USB 3.0 XHCI ✅ / USB Tablet ✅ / USB Midi ✅ / USB Wacom ✅
Hyper-V & Migration
- CPU migration ✅
- VFIO migration ✅
- Migration to sparse files ✅
- Hyper-V enlightenments ✅
Compile & Run
For CentOS 8,
yum install -y gcc-c++ SDL2-devel yaml-cpp-devel libuuid-devel protobuf-devel protobuf-compiler libzstd-devel zlib-devel alsa-lib-devel libjpeg-devel opus-devel
meson setup build
meson compile -C build
An ISO image file is needed to install OS. Modify config/default.yaml to configure image path.
Virtio is recommended: