virtio-win/kvm-guest-drivers-windows
FreeWindows paravirtualized drivers for QEMU\KVM
FreeFree tier
About virtio-win/kvm-guest-drivers-windows
KVM/QEMU Windows guest drivers (virtio-win) provide paravirtualized drivers for Windows virtual machines running on KVM/QEMU hypervisors. This open-source repository includes drivers for network (NetKVM), storage (viostor, vioscsi), graphics (viogpu), memory balloon, serial, input, and other devices. The drivers improve performance and functionality compared to emulated hardware. They are shipped as part of the virtio-win RPM on Fedora and Red Hat Enterprise Linux, and are also available as pre-built ISO/VFD images. The source code can be built for various Windows versions, but requires proper signing for production use.
Key Features
Paravirtualized device drivers for Windows guests on KVM/QEMU
Includes NetKVM, viostor, vioscsi, viogpu, Balloon, vioserial, vioinput, and more
Supports both paravirtual and emulated hardware
Available as pre-built ISO/VFD images or built from source
Part of virtio-win RPM on Fedora and Red Hat Enterprise Linux
License: BSD-3-Clause
Compatible with multiple Windows architectures (x86, x64, ARM64)
Pros & Cons
Pros
- Open source with permissive BSD-3-Clause license
- Significantly improves I/O performance compared to emulated hardware
- Actively maintained as part of Fedora/RHEL distributions
- Wide range of device drivers covering common peripherals
- Community-supported with comprehensive documentation
Cons
- Drivers must be signed for Windows to load them by default
- Cross-signed drivers may not work on latest Windows 10 with secure boot
- Building signed binaries requires own code-signing certificate or WHQL submission
- Not all driver versions are certified by Microsoft without WHQL process
Best For
Running Windows virtual machines on KVM/QEMU with enhanced performanceEnabling virtio devices for network, storage, and graphics in Windows guestsDeveloping and testing Windows guest drivers for KVM environmentsDeploying Windows VMs in enterprise virtualization platforms using KVM
FAQ
How do I obtain pre-built virtio-win drivers?
Pre-built binaries are available as distribution-neutral ISO and VFD images. Refer to the Fedora virtIO-win documentation for download links.
How can I build the drivers from source?
Clone the repository and follow the instructions in the 'Building the Drivers' section of the README.
Why does Windows not load the drivers I built?
Drivers built from source are unsigned or test-signed. Windows requires signed drivers. See Microsoft's driver signing documentation for test-signing and production signing.
Can I produce Microsoft-signed (WHQL) drivers from this repository?
Yes, but you must base them on commit eb2996de or newer (to comply with GPL licensing) and submit to Microsoft with test results. You should also change Hardware IDs to avoid conflicts with upstream KVM/QEMU devices.