Virtual graphics adapter for QEMU with GPU acceleration.
C
7
750 commits
updated Sep 24, 2026
VMVGA is a virtual graphics adapter for QEMU implementing the VMware SVGA/SVGA3D interfaces to provide GPU acceleration.
QEMU’s stock VMware SVGA II device (vmware-svga) provides only a minimal implementation of the hardware. Most legacy 2D FIFO commands are missing, and VMware's 3D acceleration interfaces are not implemented.
This fork provides a substantially improved VMware SVGA II device, with both 2D and 3D graphics acceleration.
The core device implementation has been improved substantially, including:
Together, these improvements provide better VMware driver compatibility, more reliable rendering, and more efficient display updates.
The device supports DirectX acceleration. VMware SVGA 3D commands are processed by the QEMU device and rendered through DXVK, which translates the Direct3D graphics operations to Vulkan on the host.
The implementation provides the full legacy 2D command stack used by VMware display drivers, including:
These commands provide substantially improved compatibility with legacy VMware display drivers and enable accelerated desktop rendering, particularly when QEMU's VNC output is used.
You can download a pre-built binary based on QEMU 11.1.1 from the Releases page.
The source is designed to be overlaid onto a QEMU source tree before QEMU is built. Downstream projects can therefore fetch or vendor this repository, copy the files into their QEMU source tree, and then run their existing QEMU build process.
Once included in QEMU, a new display device will be available:
-device vmvga
3D acceleration requires the VMware SVGA display drivers installed in the guest, a Vulkan-capable graphics card, and the dxvk-native package installed on the host.
Then start the machine with the VMware backdoor port enabled:
-machine type=xxx,vmport=on
Unfortunately KVM raises a general protection exception when the user-mode component of these drivers tries to access this VMware backdoor I/O port, causing the driver to disable 3D acceleration.
To work around this problem, add the following setting to your host KVM module configuration:
echo "options kvm enable_vmware_backdoor=Y" | sudo tee /etc/modprobe.d/kvm-vmware-backdoor.conf
sudo reboot
If KVM is built directly into the kernel rather than loaded as a module, add kvm.enable_vmware_backdoor=1 to the kernel command line instead.
The implementation is derived from QEMU's VMware SVGA II device originally written by Andrzej Zaborowski and includes later work by Christopher Eric Lentocha.
C
100.0%
Virtual graphics adapter for QEMU with GPU acceleration.
C
7
750 commits
updated Sep 24, 2026
VMVGA is a virtual graphics adapter for QEMU implementing the VMware SVGA/SVGA3D interfaces to provide GPU acceleration.
QEMU’s stock VMware SVGA II device (vmware-svga) provides only a minimal implementation of the hardware. Most legacy 2D FIFO commands are missing, and VMware's 3D acceleration interfaces are not implemented.
This fork provides a substantially improved VMware SVGA II device, with both 2D and 3D graphics acceleration.
The core device implementation has been improved substantially, including:
Together, these improvements provide better VMware driver compatibility, more reliable rendering, and more efficient display updates.
The device supports DirectX acceleration. VMware SVGA 3D commands are processed by the QEMU device and rendered through DXVK, which translates the Direct3D graphics operations to Vulkan on the host.
The implementation provides the full legacy 2D command stack used by VMware display drivers, including:
These commands provide substantially improved compatibility with legacy VMware display drivers and enable accelerated desktop rendering, particularly when QEMU's VNC output is used.
You can download a pre-built binary based on QEMU 11.1.1 from the Releases page.
The source is designed to be overlaid onto a QEMU source tree before QEMU is built. Downstream projects can therefore fetch or vendor this repository, copy the files into their QEMU source tree, and then run their existing QEMU build process.
Once included in QEMU, a new display device will be available:
-device vmvga
3D acceleration requires the VMware SVGA display drivers installed in the guest, a Vulkan-capable graphics card, and the dxvk-native package installed on the host.
Then start the machine with the VMware backdoor port enabled:
-machine type=xxx,vmport=on
Unfortunately KVM raises a general protection exception when the user-mode component of these drivers tries to access this VMware backdoor I/O port, causing the driver to disable 3D acceleration.
To work around this problem, add the following setting to your host KVM module configuration:
echo "options kvm enable_vmware_backdoor=Y" | sudo tee /etc/modprobe.d/kvm-vmware-backdoor.conf
sudo reboot
If KVM is built directly into the kernel rather than loaded as a module, add kvm.enable_vmware_backdoor=1 to the kernel command line instead.
The implementation is derived from QEMU's VMware SVGA II device originally written by Andrzej Zaborowski and includes later work by Christopher Eric Lentocha.
C
100.0%