A KVM workspace for Windows virtualization research.
Automates the build and management of a KVM guest running Windows, fully configured for Hyper-V, HVCI, nested virtualization, GPU passthrough, or performance-optimized bare-metal CPUID passthrough.
Currently tested exclusively on AMD CPU architectures.
VMW turns one YAML profile into a full virtualization stack: a
custom kernel, a custom QEMU, custom OVMF firmware, and a libvirt
domain definition. Each layer has a patch set under patches/. The
patches change the values that guest software can read: CPUID leaves,
MSR behavior, firmware tables, SMBIOS strings, and TPM identity.
The research target is VMAware, an open-source VM-detection library, alongside kernel-mode checks.
git clone --single-branch --depth=1 https://github.com/meowdiocre/vmw
cd vmw/
pip install -e . # installs the `vmw` command
vmw # launch the dashboard TUI
vmw plan aptwannabe # review what a setup would run, execute nothing
vmw setup aptwannabe # run the full build headlessThis README covers what the project is. Everything else lives on the
documentation site, built from
docs/:
- Usage : CLI commands, profile format, patch workflow.
- QEMU / Firmware / TPM / Kernel: changes at each layer and their rationale.
- Operations : VM profile notes, known gaps, useful commands.
- Roadmap : current detection status.
git,python3(3.11+);pip install -e .pulls the rest- A supported Linux distribution
- UEFI/BIOS settings: CPU virtualization extensions (VT-x / AMD-V), IOMMU support (VT-d / AMD-Vi)
- A dGPU for passthrough (recommended)
Experimental; the documented test scope is AMD hosts. The roadmap records pending in-guest confirmation dated August 28, 2026. Read its status as a research log, not a verified current detection score. Record the host, guest, tool versions, profile, and source revision when reproducing results.
Based on AutoVirt. This repository packages a Python workspace and configuration workflow with kernel, QEMU, and firmware patch sets; the documentation explains the local design. Preserve upstream attribution when adapting it.
GPL-3.0-or-later.
