DXVK and Vulkan on Linux Explore integration options for DXVK and Vulkan on Linux platforms.
DXVK and Vulkan on Linux Explore integration options for DXVK and Vulkan on Linux platforms.
Mantle was originally built for AMD systems but included enough abstraction to work with most modern graphics platforms. This flexibility helped us add its source code and API details to form the basis of Vulkan in May 2015.
The recent speed boost for AMD in Linux games stems from Nvidia's delay in adding Vulkan support until driver 396, with only updates up to driver 410. Despite this gap, Nvidia remains competitive in openGL, and their performance is now quite close to AMD's.
It's rare to locate a 4.10 Nvidia driver across most Linux repositories. The latest versions are typically around driver 396.xxx or newer. For AMD, the driver is open source and integrated into the kernel, so you just need the newest kernel release.
I believe 396 is preferable to 410 because the latter removed some functionalities I’m not quite clear on. It seems those changes didn’t impact the DXVK setup. Running on Manjaro lets me access the newest updates easily. I’d love it if Nvidia released their driver openly—there’s a lot users could benefit from.
It's interesting how different API options and drivers can impact speed.
And these aren't free meals—it depends on the developer knowing how everything below them functions to maximize performance. For instance, you must provide GCN with 64 processing units per scheduled task; otherwise, execution pauses occur. NVIDIA GPUs from Maxwell onward require only 32. If you focus on NVIDIA but ignore AMD, you'll end up disadvantaging AMD even when using an API similar to what they developed. EDIT: For evidence, I reference page 4 of the specified document. On the NVIDIA side:
These are basic APIs requiring developers to handle every small detail manually, which can slow down performance while keeping abstraction in place. There’s no free ride, but you avoid relying on specific API capabilities that might hurt gameplay speed.
From a developer standpoint, I don’t think a vendor-neutral API creates bias toward any single provider. Still, Nvidia contributed to Vulkan’s creation. AMD benefits significantly from Vulkan because it removed much of the driver code they struggled with for performance. Nvidia handled this well, gaining substantial gains without Vulkan. Their drivers outperform AMD’s in several aspects, such as shader compiler tweaks, API and platform support. I consulted a colleague who mentioned Doom historically favored AMD hardware. He explained that the initial Doom Vulkan implementation used an AMD-specific extension to handle subgroup operations, avoiding memory access issues on AMD systems. Vulkan 1.1 made this standard, so Doom should work identically across both platforms. My contact couldn’t point to current practices that favor AMD, though they noted idTech 6 tends to lean toward AMD due to its reliance on AMD extensions.