Triton brings native DirectX 11 acceleration to Windows guests in QEMU
The team behind UTM has released Triton, a Windows graphics driver that delivers full DirectX 11 acceleration inside QEMU virtual machines. It builds on Neptune, their earlier Direct3D forwarding layer for VirtIO, which serialized API calls across the hypervisor boundary. Neptune’s first payoff was modest — running Wine games on a Linux guest — but it was always groundwork for the harder target: real GPU acceleration for Windows guests.
The naive shortcut would be to drop Neptune’s Mesa-built d3d11.dll and dxgi.dll next to each game, the same trick prior DXVK-to-Vulkan efforts used. Triton’s authors reject it: because the desktop compositor treats each frame as a plain image, it falls back to CPU blitting and can never render a smooth desktop; those DLLs are core system files that can’t be swapped globally; anti-cheat systems flag the modification; and copying files per-application is a poor user experience. The proper fix is to implement DirectX’s device driver interfaces (DDIs) — a user-mode driver plus a kernel-mode driver — rather than reimplementing the public APIs. The KMD work was largely done already, borrowed from independent Venus (Vulkan) driver efforts, with anonymix007’s branch chosen for its broader feature set.
The real engineering was the DirectX 11 UMD, a niche area with almost no open-source precedent. Triton draws lessons from Mesa’s DirectX 10 UMD and VirtualBox’s DirectX 11 driver, but avoids VirtualBox’s design of encoding DDI calls into an intermediate bytecode and reinterpreting it host-side — an approach blamed for game incompatibilities, high maintenance cost, and a GPLv3 license clash with QEMU and virglrenderer. Instead, Triton transforms DDI calls back into ordinary DirectX 11 API calls, which lets it reuse Neptune’s proven transport unchanged. Because the deserialized commands on the host already are DirectX 11 API calls, no host-side interpreter is needed, cutting a translation step and the bugs that come with it. If it holds up, this is a rare working path to Windows GPU acceleration in QEMU, a problem the project has long struggled with.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.