DirectX12 performance is terrible on Linux

Recreating swapchains is not something that happens regularly during rendering, only as a reaction to window changes (resizing, in some cases alt-tabbing, color space changes, etc.), so that specifically wouldn’t help with overall performance.

2 Likes

Archlinux, with Plasma on Wayland as Compositor.

1 Like

OK. As I said I would need formal benchmarking with comparison betwwen driver versions. That said I read elsewhere reports of better performance for some titles (although the DX12 bug is still there - but FPS have improved). Curious about titles like Black Myth Wukong or Starfield, which I do not possess, but are known to have known regressions, even outside of the classic DX12 penalty.

I possess neither game, but I was able to test Wukong via the free benchmark.

According to Faith Ekstrand, here’s the TL;DR:

It’s worth noting that on Linux, Intel integrated GPUs are the best supported for general graphics scenarios, and Intel hopped on board very early (notably with Red Hat) to get open-source drivers with full 3D support implemented long before it was a necessity for a working desktop, so none of this should be a surprise to any of us.

I do miss the days of NVIDIA being the best choice for Linux, which was around the early to mid-2000s. Maybe one day we can see the return of this.

Edit: I should probably point out that the way NVIDIA does things is extremely well optimised for how Windows GPU memory management is meant to work. I suspect once NVIDIA has got the FOSS community going with the the NOVA drivers, everything will rock!

2 Likes

Link for those curious like me

https://indico.freedesktop.org/event/10/contributions/402/attachments/243/327/2025-09-29%20-%20XDC%202025%20-%20Descriptors%20are%20Hard.pdf
1 Like

I really hope they improve the drivers on linux.

I recently switched from a 4090 to a 5090, only to be disappointed that in Counter-Strike 2, my performance actually dropped compared to the 4090. It is a sad state and the mainstream is catching on. More and more content creators are starting to make dedicated Linux Benchmark videos. They have one thing in common: Demonstrating how bad NVIDIA is over their competitors.

Especially considering we’ll most likely see GPU supply drop in the future due to the AI mess, I think it’s more important than ever that the cards that people have run at similar performance compared to Windows. Not 20-50% (!!!) worse!

I have bleeding edge hardware. I can’t imagine the amount of struggle other people with older, slower NVIDIA GPUs will have when switching from Windows to Linux.

1 Like

While the proprietary drivers have been constant downgrades since last year, NVK (nouveau) has been constantly upgrading its perfs. :-)

The future of NVIDIA support on Linux lives with mesa imo. And we haven’t seen the new Nova driver yet!

1 Like

It’s hard to be worse than NVK.

1 Like

When was the last time you tried them? Their performance has been consistently improving, while NVIDIA’s has been steadily declining for the last year. NVK already works better than nvidia-open for me on Hyprland (I’m using mesa-git on a laptop w/ a RTX4070).

Will 2026 be the year of DX12 games running as they should?

1 Like

I mean I suppose NVK is fine, if you consider that I can’t get DSC working at all with Nouveau, so my primary display is limited to 3840x2160 120Hz, at what appears to be 6 bits per channel.

nvidia-bug-report.log.gz (1.9 MB)

if any nvidia is still looking at this, i would like them to have my log for zzz with rtx to see if performance of it can be improved further. if you fix this, it will benefit you guys in the long run. since linux gaming is about to rise and being there early means you have the upper hand.

The work on this is blocked by Vulkan improvements which are currently in the process of development. Vulkan itself is missing a capability to make DX12 on Vulkan work efficiently with NVIDIA GPUs. Other GPUs are affected as well but to a much lesser degree because the hardware implements shader buffers differently.

Vulkan should be ready somewhere around Q1/Q2 2026, drivers then need to support it, and then vkd3d and DXVK need to implement it, too. So I’d imagine we can get it late 2026.

9 Likes

nvidia-bug-report.log.gz (1.6 MB)
This is my final log to NVIDIA from Zenless Zone Zero so they can have something to look at and see where to improve. Thanks NVIDIA devs for your patients with the Linux community.

we’ve come to this conclusion a million times so this won’t help anyone, but getting only 80% of my expected performance is pretty annoying to deal with.

2 Likes

What game is that, faz?

Cyberpunk 2077 :)

Is there any place we can monitor Vulkan upstream progress on this DX12 fix?

No, it’s currently not public. A video link has been posted before:

It explains the underlying problem but they explicitly state that all of the work is currently not public, and no details will be published at this point of time. So at least the problem is well understood and developers are working on it.

Here are some timestamps extracted via AI:

Timestamp Description
00:27:30 Introduction to the new heap-based descriptor model.
00:27:35 Mention of recently receiving approval to discuss the topic.
00:27:40 Statement that the extension/details have not been publicly released yet.
00:30:05 Note on Khronos release timelines and the focus on “getting it right.”

So the idea is to only publish the details after they got “things right”. And that’s probably a good idea to not get early bad implementations by early adopters. Since NVIDIA is a gold sponsor, I’d expect that NVIDIA is involved in this discussion - and they neither would publish any details here just yet. So we don’t even have to ask about it. It’s coming “soon-ish” - that probably means somewhere during Q1/Q2 2026. I’m pretty sure Valve will push this, too. And NVIDIA has always been pretty fast implementing new Vulkan extensions in the Vulkan developer driver. So by the end of year, we may get it in the stable driver including support in DXVK and vkd3d.

4 Likes