3DFX / Mesa passthrough
The WSH extensions bundle a QEMU build patched with qemu-3dfx, which passes 3D rendering through to the host. This enables hardware-accelerated 3D (Glide and OpenGL/Mesa) in old Windows guests via a set of guest-side wrapper drivers.
Version pairing
Section titled “Version pairing”3DFX/Mesa passthrough has two halves that must be built from the same qemu-3dfx commit:
- Host — the
pve-qemu-kvmpackage bundles the qemu-3dfx patch. The patchedqemu-system-x86_64binary embeds a short revision string (__REV__, the first 7 characters of the qemu-3dfx commit). - Guest — the wrapper drivers installed inside Windows embed the same
__REV__string.
The wrapper refuses to load against a host binary with a different revision, so the two versions are locked together by design.
To find the matching pair:
- Check the
pve-qemu-kvmrelease notes — they state which qemu-3dfx commit the build was made against (for exampleqemu-3dfx-drivers-b47f30a). - Download the guest drivers from the releases page with the same short SHA — the release is tagged
qemu-3dfx-drivers-<shortsha>and includes aVERSION.txtrecording the full commit.
Enabling on the host
Section titled “Enabling on the host”- Set the guest Architecture to
x86_64(see Architecture). - Enable the 3DFX/Mesa option in the Display panel. When selected, the guest is started with the passthrough-patched
qemu-system-x86_64-3dfxbinary instead of the standard one.
Installing the guest drivers
Section titled “Installing the guest drivers”Download qemu-3dfx-drivers-<shortsha>.zip from the releases page (matching your pve-qemu-kvm version). It extracts to a single folder containing the Glide and OpenGL/Mesa wrappers:
fxmemmap.vxd, fxptl.sys, glide.dll, glide2x.dll, glide2x.dxe, glide2x.ovl, glide3x.dll, glide3x.dxe, instdrv.exe, opengl32.dll, wglinfo.exe
Transfer the files into the guest and install the ones for your Windows version:
Windows 9x / ME
- Copy
FXMEMMAP.VXD,GLIDE.DLL,GLIDE2X.DLL, andGLIDE3X.DLLtoC:\WINDOWS\SYSTEM - Copy
GLIDE2X.OVLtoC:\WINDOWS - Copy
OPENGL32.DLLinto each game’s installation folder
Windows 2000 / XP
- Copy
FXPTL.SYSto%SystemRoot%\system32\drivers - Copy
GLIDE.DLL,GLIDE2X.DLL, andGLIDE3X.DLLto%SystemRoot%\system32 - Run
INSTDRV.EXE(requires Administrator privileges) - Copy
OPENGL32.DLLinto each game’s installation folder
Further reading
Section titled “Further reading”- The qemu-3dfx project
- The Display reference for the graphics card and 3DFX/Mesa options