DirectX12 performance is terrible on Linux

While it does not increase Avg. FPS, PROTON_HIDE_NVIDIA_GPU=1 makes AC Valhalla run smoother and removes the stutter.

If you are interested what the setting does, it spoofs Nvidia as an AMD RX 6700 XT, in the proton/wine source code, specifically in winevulkan and winex11.drv.

Playing Silent Hill on DirectX 12 is unplayable. Luckily, it supports DirectX 11.

The performance delta is flagrant. Wish NVIDIA would at least acknowledge it.

With all the reports and evidence, vkd3d is unavoidable bad performer compare to DXVK since, DX12 is way heavier compare to DX11. No matter what driver you use, vkd3d does the same thing. Generally running game under proton is already a disadvantage. You are losing all the performance for the GPU you paid for, losing more than 10fps. And for lower-end GPU playable in Windows become unplayable in proton. There also many reports on VRAM problem under proton, this thread exist in the nvidia forum currently. Even when you fix D3D12 in vkd3d, there will always be new Directx, the problem never ends.

But only on NVIDIA Hardware, AMD works 1:1 like Windows, in some cases even faster.

Well, you are actually wrong. Proton itself does not add much overhead on modern systems.
AMD usually is on par with Windows when using Proton and vkd3d-proton.
When it comes to Nvidia, something bottlenecks so bad with vkd3d-proton so even if there is an overhead with proton itself it does not show, because the vkd3d-proton bottleneck is so big.
Because like I said earlier, if you set up vkd3d-proton and run it in Windows, you get the same bad performance.

You are not getting the meaning right? Proton is to mean graphic api problem, otherwise is just WINE base. Proton is for games, the main problem is the graphic api.

There are evidence AMD is not on par with Window with vkd3d, that has been tested by several users. There are some cases 20fps less than Windows. If you have faster GPU RX 6600 the gap is less, still is 5-10fps difference. Doesn’t sound as bad as Nvidia case. When you have faster NVIDIA vkd3d problem is also less noticeable.
Obviously the bottleneck is GPU affected by the driver and vkd3d, GPU is 99%, CPU is very low usage, almost does nothing.

Still, there is an obvious issue with vkd3d-proton and nvidia hardware. Otherwise this topic wouldn’t exist.
AMD is just better with vkd3d-proton as of right now.

Actually, I saw the same amount of % drops with my RTX 3060Ti vs my RTX 4070. So faster hardware does not help very much, the difference is the same.

Have you tried 555 driver version? There is some regression in 560. I made some comparison here 560 release feedback & discussion - #236 by tchabada1

I tried them all.

I can confirm, been having issue with dx12 titles, as I don’t have really high spec laptop, so the game I managed to hit 60fps on windows, I barely able to hit 50fps on linux with that game.

The First Descendant, I lost 10-15fps on linux and with reflex enabled it’s way less, but on windows with and without reflex it’s works fine, constant fps around 70-75.

DRAGON BALL: Sparking! ZERO, barely able to get stable 60fps on vk3d while on dxvk it works fine and smooth constant 60fps, and on Windows both Dx11 and Dx12 works fine.

There seem to be an indication that it depends on the game and resolution using vkd3d. UE5 games for example is a real problem. UE4 runs usually almost the same as in Windows. Chorus game for example is UE4 DX12, runs vkd3d at 1080p 80fps close to Windows. When resolution is 1440p games slows down to 50fps almost half, combined with the VRAM filling up.

The thing is, game uses different shader languages too. Some shader languages are less affected on Nvidia, hence why you see better performance,

Please bench again with the 565 beta driver.

Guardians of the Galaxy runs slightly better. I also did a quick test with CP2077 and that seems to be the same as 560, I did not have any benchmark numbers from the 560 driver, but if my memory serves me right, it’s no change.

The changelog was oddly specific, regressions from vkd3d 2.9… we’re on 2.13 now.
GPL was added in 2.9 which removed shader stutter so I really don’t know what kind of regressions it was.
But nice that they even brings vkd3d and dxvk up, i’ve never seen that before.

If you want to try running something that benefited from the fix for the vkd3d-proton 2.9 regressions you can try running the Windows version of Shadow of the Tomb Raider. You should see a significant uplift between the latest 560 driver and the 565 beta with the benchmark.

560 RT VERY HIGH

565 RT VERY HIGH

560 RT OFF

565 RT OFF


Not sure if this game simply didn’t benefit.

The Finals doesn’t perform any better.

anything that is unreal engine 5 seems not benefit from the changes

Unreal engine 4 seems to get some benefits .

so lots of works still needed .

Dead by daylight. 565 driver.
GPU utilization went down from 99% in menu to ~78-82% and maintain 120fps ( game allow only 120 fps ).
Forcing game running at directx11: gpu utilization is ~71-75% in menu.
On windows (DX12), I have like ~65% gpu utilization in menu.
My report to vkd3d [Dead By Daylight - GPU utilization too high compared to windows · Issue #2015 · HansKristian-Work/vkd3d-proton · GitHub]
Noticeable improvement overall