DirectX12 performance is terrible on Linux

I will try this, but I thought it was just a proposal - I will check if this has been already implemented.

You can use gamescope for such benching purposes.

gamescope -W monitorvalue -H monitorvalue -w valueyouwannalieas -h valueyouwannalieas -r yourrefreshrate -f --
1 Like

Actually, latest Patch 8 along with the Nvidia 575 beta drivers seems to have resolved the Vulkan renderer frame pacing issues. It is buttery smooth now. Not sure if it was the game patch or the beta drivers that resolved it. Still have to specify __GL_13ebad=0x1 %command% though.

Nvidia said they’re looking into it. The VKD3D devs have said that the issue is entirely out of their hands, so its up to Nvidia to profile whatever code path VKd3d-proton is taking on their gpus.

Both AMD and Nvidia are able to get DXVK performance overhead to around 1-3% as compared to native DX11 under Windows.

Unless there’s some sort of fundamental architecture issue, or Hans-Kristian Arntzen is lying, which I highly doubt, this issue has to lie somewhere in Nvidia’s part of the stack

Yes, correct that is the info which is generally known:

“The NV descriptor copy path goes through more indirections, since they dont get the true heap. It is significantly slower then the AMD path. The Create*View() or whatever is slower on NV yes through vkd3d-proton.”

4 Likes

Nvidia got all the tools at hand, they got the driver source code and vkd3d-proton is open source. I really don’t see the problem, just fix it and make everyone happy.

I waited 2 years for a fix.

/Ex-Nvidia GPU owner

5 Likes

Excuse me as I’m not a great programmer at all, but its hard to say with the way this is phrased, whether this means chunks of vkd3dp or nvidia’s driver need rewriting, or if this turns into another EGL vs GBM situation where your average user is just stuck waiting for years.

If it is an issue of the structure of vkd3d-proton interfacing so badly with Nvidia’s driver, then Nvidia needs to put funding aside so that they can provide the vkd3d-proton team as much documentation, profiling, and extension support necessary.

The vkd3dp devs legitimately have their hands tied since they don’t have source access, so anything where it seems like Nvidia is just throwing up its hands and pretending its driver structure is immutable is just passing the buck by the company with the 3rd highest market value on earth.

AMD has a machine learning powered upscaler now which will soon get linux support. AMD is still behind Nvidia in RT performance overall but considering that this issue overlaps with RT games so much, it’s not like I get to see the fruits of buying green over red in Linux anyways. If you’re not doing professional CUDA work or generating terrible art, whats the point in buying Nvidia?

I despise telling people to have to replace their GPU if they want to get away from Windows, but its approaching that.

1 Like

It’s hard to feel much consumer loyalty to a company when I can go look at Valve and AMD’s programmers fighting and bickering to make my stuff work better, where problems have usable workarounds. Meanwhile it takes 6 months of no-contact to get the vk_khr_present_wait issue acknowledged, and a few more for a fix to actually end up in a proper beta driver release.

Meanwhile we all have to watch Nvidia’s CEO walk around in his stupid jacket either play politics or brag about how many people are gonna lose their jobs due to his company.

2 Likes

@shelter @UrbenLegend @DAUNTIN_01 @zebcom hi guys, could you check/benchmark using the last Vulkan beta driver release?

Changelog:

April 18th, 2025 - Windows 573.04, Linux 570.123.10

    Fixes:
        Performance improvements for VK_NV_cooperative_matrix2 and VK_NV_cooperative_vector
        Fix address calculation bug rendering to 2D array view of 3D image with non-zero layer offset
        Fixes to image usage reporting from vkGetPhysicalDeviceVideoFormatPropertiesKHR
        Fixed support for different ldexp() exp argument types

thanks

@haddon.oneill could you restest?

I think I tested it when it was out, and do not remember I saw DX12 improvement. However I am happy to test again on Archlinux later today.

2 Likes

Thanks

Hans-Kristian answered me on Discord that it doesn’t help :(

Indeed, I just compared 575.51.02 and 570.123.07 for Cyberpunk (DX12) and Sniper Elite 5 (has both VK and DX12 renderers) and do not see big differences. Actually 575.51 is maybe 2-3% faster.

Archlinux, Plasma KDE under Wayland, RTX 5080.

Cyberpunk all max, Path tracing and ray reconstruction (Transformer model) benchmark at 4K with DLSS SR Performance: 42 fps, in 1440p 72fps. In DLSS SR Quality, 27 and 51 fps, respectively.

SE5 all max 4K Mission 2 (there is no benchmark), DX12: around 90 to 120 fps, in VK: 110 to 155 fps.

2 Likes

Thanks. Could you share the Windows results benchmarks on the same settings?

Unfortunately I do not have Windows installed. I envisage to do this, because indeed this would be a good control for this benchmark.

1 Like

Hi All,
I am filing different bug for each reported game title for better tracking purpose. Below are the so far bugs for reference.

[5221874] Black Myth: Wukong Benchmark low performance on Linux as compared to Windows with driver 560.31.02
STATUS: Checking if this can be reproduced
[5222100] Low FPS reported for Assassin’s Creed Mirage in Linux as compared to Windows
STATUS: Checking if this can be reproduced
[5222171] Low FPS reported for Total War: Pharaoh in Linux as compared to Windows
STATUS: Reproduced locally.
[5222073] Low FPS reported for Horizon Zero Dawn in Linux as compared to Windows
STATUS: Reproduced locally.

5 Likes

Frostpunk 2 also has a 30% performance drop, and it’s also on Unreal Engine 5, just like Black Myth: Wukong.

In my experience, almost all UE5 games have a performance drop in Linux with my Nvidia 3090. The most recent game I tried was Clair Obscur: Expedition 33 and I see a 8fps drop between Windows and Linux in the same area. Here’s some screenshots. You can see Steam’s FPS counter in the top left corner. Windows shows 54 and Linux shows 46.



Lines up with the 15-30% drop that everyone else has been saying. This was using driver 575.51.02

2 Likes

Just installed latest Ubuntu 25.04 with Kernel 6.14 and nVidia beta 575.51.02 drivers. AWII with PT is still like only 50% of the windows performance. 25 FPS instead of ~50 without FG and all maxed on my 4070-ti. Power draw is just 180 watts max…super disappointing!