New DirectX7 emulation tool brings more games to Steam Deck, SteamOS, and other Linux distros through Vulkan, with caveats
4 hours ago
3
(Image credit: Epic Games)
DirectX emulation is the way Linux gamers are running Windows-only games on Linux OSes, thanks to tools such as DXVK. But up until now, DXVK has only supported DirectX 8 and newer. That is now changing; an independent developer has taken up the work of creating their own DirectX 7-to-Vulkan emulation tool, dubbed D7VK (via Phoronix).
D7VK is a spin-off of DXVK, which uses DXVK's DirectX 9 emulation backend and Wine's DDRAW implementation (for Linux, specifically) to create a "minimal d3d7-on-d3d9" implementation. This makes D7VK a two-stage translation layer that translates DX7 calls to DX9 calls, then translates those DX9 calls to Vulkan.
There's a chance the developer could have created a straight DX7-to-Vulkan translation tool, but that likely would have taken significantly more work and time to develop. Instead, the developer is taking advantage of as much of DXVK's existing codebase to add DX7 compatibility.
However, due to DirectX 7's age (it launched in 1999), the developer warned of limited game support. Not all DX7 games will work with D7VK due to the way DX7 games were developed back then. According to the developer, DX7 titles that mix and match DirectX 7 with older DDraw versions (besides version 7), and/or with GDI are not expected to work ever.
Furthermore, the developer also answered the question of whether or not they would support DirectX 6 or older versions, to which they emphatically answered no.
DirectX 7 is ancient by gaming API standards, originally launching in 1999. The API was responsible for powering many of the early 2000s titles, including the original Counter-Strike, FIFA 2001, Deus Ex, and Unreal Tournament. Version 7 was responsible for introducing hardware-accelerated transformation and lighting, and diverting those tasks to the GPU rather than the CPU.