English · Français
A Windows interface (WinUI 3) over QEMU, aiming at the comfort of VMware Workstation or Hyper-V. You create, run and manage virtual machines without typing a command line, with hardware acceleration through the Windows Hypervisor Platform (WHPX).
WinQEMU is an independent, unofficial interface: it is neither affiliated with nor endorsed by the QEMU project. QEMU is a trademark of Fabrice Bellard. This project is unrelated to the old port of QEMU to Visual C++ also named WinQEMU (SourceForge, 2009), abandoned since.
-
Library:
- each machine is a self-contained folder (
.wqvmdescriptor, disks, UEFI NVRAM) that can be moved as is; - the machines are arranged in nested folders, sorted, and searched;
- a whole folder starts, shuts down, pauses or resumes in one click, as VMware's teams do: its machines start one after the other, each after its own delay.
- each machine is a self-contained folder (
-
Creation wizard:
- guest system profiles;
- memory, processors, disks, ISO, BIOS or UEFI firmware.
-
Unattended installation of Windows 10/11, Ubuntu, Debian, Fedora and openSUSE:
- user account, language, keyboard and time zone taken from this PC, computer name of your choice;
- Debian, Fedora and openSUSE with the desktop of your choice (GNOME, KDE Plasma, Xfce, Cinnamon, MATE, LXQt), or as a console with SSH;
- guest tools installed automatically.
-
Windows 11 guests: the TPM and Secure Boot checks, impossible under WHPX, are lifted at installation.
-
Import from VMware (
.vmx), VirtualBox (.vbox), Hyper-V (.vhdx/.vhd) and OVF/OVA:- the disks are converted to qcow2;
- the source machine is only read.
-
Export to OVA, readable by VMware and VirtualBox.
-
Clones, as full copies or as linked clones that share the original's disks.
-
Templates: a machine kept to be deployed as new linked clones in seconds.
-
Automatic start with WinQEMU, at Windows logon if you want, each machine after its own delay.
-
Running in the background:
- closing the window leaves the machines running, behind an icon in the notification area;
- Windows shutdown or sign-out waits for the guests to shut down.
- Integrated console, or full screen with a floating bar.
- Display scaling: fit to the window or actual size. The guest's resolution follows the window, Windows guests included.
- Keyboard sent as scancodes, AltGr included: the guest uses its own keyboard layout.
- Pointer: accurate even when the image is scaled.
- Shared clipboard (text) with guests that run
spice-vdagent. - Type the clipboard into guests without a shared clipboard: a text console, an installer, a firmware screen.
- Screen capture to PNG, at the guest's resolution, also copied to the clipboard.
- Files:
- files and folders dropped on the console are copied to the guest's desktop;
- files are copied back from the guest through a browser of its folders.
- Sound:
- per-machine volume and mute;
- optional microphone;
- a choice of output device.
- Ctrl+Alt+Del, and swapping the ISO while the machine runs.
-
Three kinds, offered only when the machine's state allows them:
- offline (machine stopped);
- live on the disks (machine running);
- live with memory (under TCG emulation only).
-
Snapshot tree, drawn downwards like a file tree, with deployed linked clones.
-
Automatic snapshots at start, at an interval, keeping only the latest ones.
- Disk operations: create, attach, grow and convert disks; set the boot order.
- Compaction gives back the space of files deleted in the guest, after a TRIM sent through the guest agent.
- Encryption (LUKS, AES-256):
- the password is asked at each start, or remembered in the Windows Credential Manager;
- it is never passed on a command line.
- NAT, with port forwarding.
- Virtual networks, as in VMware and Hyper-V:
- private (machines only);
- internal (machines and this PC, through a TAP-Windows adapter);
- external (the physical network, through Npcap, Wi-Fi included).
- Access from the network: SSH, Remote Desktop, HTTP… opened in one click, with the address to type from another device.
- Network cable plugged in or out while the machine runs.
- Shared folders:
- served by WinQEMU itself, added and removed while the machine runs;
- mounted in
~/Sharesin a Linux guest (9P) and as a drive in a Windows guest (WebDAV).
- USB devices of this PC connected to a guest, now or at each start, for devices on the WinUSB driver.
- Guest tools (QEMU guest agent, spice-vdagent, virtio-win drivers) checked at each start, and installed from WinQEMU.
- Resource charts: processor, memory, disk and network over the last two minutes.
The winqemu command drives the running WinQEMU, starting it in the notification area if needed: a machine started
from a terminal is the one the window shows.
winqemu list [--folder <folder>] [--json]
winqemu status <machine>
winqemu start <machine> [--wait] [--password-stdin]
winqemu stop <machine> [--wait] [--timeout <seconds>]
winqemu poweroff <machine>
winqemu pause <machine> | resume <machine>
winqemu start|stop|pause|resume --folder <folder>
winqemu snapshot list|create|restore|delete <machine> [<name>]
winqemu show [<machine>]
- Language: English or French, Windows' language by default, switched at once.
- Theme: light, dark, or Windows' own.
- Layout: adapts down to an 800-pixel-wide window.
-
Windows 10 1809 or later (Windows 11 recommended), x64.
-
QEMU for Windows, installed separately: WinQEMU neither bundles nor downloads it.
- It finds the usual installations by itself: the qemu.weilnetz.de installer,
winget install SoftwareFreedomConservancy.QEMU, Chocolatey, Scoop, MSYS2,PATH. - Otherwise, you point it at the folder.
- Developed with QEMU 11.1.
- It finds the usual installations by itself: the qemu.weilnetz.de installer,
-
For acceleration, the Windows Hypervisor Platform feature. WinQEMU checks it and offers to enable it (one administrator prompt, then a restart); by hand, as administrator:
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform
Without it, machines still run, in emulation, about ten times slower.
-
Optional, depending on what you use:
- Npcap for external virtual networks;
- the WinUSB driver (for example through Zadig) for USB devices;
- the virtio-win ISO for Windows guests' drivers.
Get WinQEMU from the Microsoft Store, or in a terminal:
winget install WinQEMU(or, naming the Store's package exactly: winget install 9NTWD738Z396 --source msstore)
The Store installs and updates WinQEMU by itself, signed by Microsoft: no certificate to trust, and it starts on PCs where Smart App Control is on. A PC that had WinQEMU from GitHub keeps everything: at its first start, the Store version takes over the settings (library, folders, virtual networks) and asks for the GitHub version to be uninstalled.
At first start, WinQEMU says whether this PC is ready to run machines (QEMU, hardware acceleration) and what to do if not. That check stays available in the settings (Check this PC…).
The betas, and the way without the Store. Download a version from the
releases: WinQEMU_<version>_x64.msix, WinQEMU.cer,
Install-WinQEMU.ps1 and SHA256SUMS.txt, into one folder. Then, in PowerShell as administrator, from that folder:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
.\Install-WinQEMU.ps1The first line allows scripts in this PowerShell window only (Windows refuses them by default); it leaves this PC's setting unchanged.
Smart App Control: on a PC where it is on, WinQEMU from GitHub installs but does not start. It only runs applications known to Microsoft or signed by a public authority, and this package is signed by its author: install WinQEMU from the Microsoft Store instead. See
docs/distribution.md.
The script checks the package against SHA256SUMS.txt and its signature against WinQEMU.cer, adds the certificate to
this PC's Trusted People (not as a root authority), then installs WinQEMU. WinQEMU then appears in the Start menu, and
winqemu works in a terminal.
Releases (2026.1.0 onwards) are published on the Microsoft Store. The 2026.0.x versions are betas, published on GitHub
as pre-releases: install each one from its .msix.
From the Store: nothing to do, the Store updates WinQEMU. From GitHub: install the newer .msix (double-click it, or run
Install-WinQEMU.ps1 again). Either way the update is in place: the settings, the library and the virtual machines are
kept.
Each GitHub release lists the SHA-256 of its files in SHA256SUMS.txt. In PowerShell:
Get-FileHash .\WinQEMU_<version>_x64.msix -Algorithm SHA256The value must be the one in SHA256SUMS.txt. The package's signature can be read in its Properties, Digital Signatures
tab: troposteff.
Uninstall WinQEMU from Settings, Apps (or Get-AppxPackage troposteff.WinQEMU | Remove-AppxPackage for the Store version,
Get-AppxPackage *cfde84db* | Remove-AppxPackage for the GitHub one). This removes the application and its settings;
the virtual machines stay in their folder (Documents\WinQEMU VMs by default, or the one chosen in the settings), and
a new installation finds them once that folder is given again. The GitHub version's certificate can be removed from
certlm.msc, Trusted People.
You need the .NET 8 SDK.
dotnet test WinQEMU.Core.Tests
dotnet build WinQEMU\WinQEMU.csproj -c Debug -p:Platform=x64 -p:RuntimeIdentifier=win-x64The application is an MSIX package: WinQEMU.exe run directly does not start. Register the package on the build folder
once (later builds are picked up without registering again), then start it from the Start menu:
Add-AppxPackage -Register WinQEMU\bin\x64\Debug\net8.0-windows10.0.19041.0\win-x64\AppxManifest.xmlA running WinQEMU locks its files: close it before building again. tools/Build-Package.ps1 builds the signed,
installable package; docs/distribution.md describes packaging, signing and releases.
They come from the hypervisor, not from QEMU or WinQEMU:
- No memory snapshot of an accelerated machine: only the disks are captured. Memory snapshots need TCG emulation.
- No Secure Boot, no TPM: Windows 11 guests are installed with the hardware check lifted.
- A guest reboot under UEFI restarts QEMU from cold (no warm reset).
| Project | Role |
|---|---|
WinQEMU.Core |
Models, QEMU command line, VM lifecycle, QMP, qemu-img, QEMU detection, import and export, networks, sharing. |
WinQEMU |
The WinUI 3 application: main window, dialogs, integrated console. |
WinQEMU.Cli |
The winqemu command. |
WinQEMU.Core.Tests |
xUnit tests of the core. Those that call the real qemu-img are skipped when QEMU is not installed. |
Architecture decisions and the platform pitfalls met along the way are described, in French, in
CLAUDE.md.
Copyright © 2026 troposteff.
WinQEMU is free software, distributed under the GNU General Public License, version 3 (GPL-3.0). You may redistribute it and modify it under its terms. It comes with no warranty.
The bundled TAP-Windows driver (WinQEMU/Assets/Drivers) is the work of
OpenVPN Inc. and stays under its own license, the GPL version 2.



