I removed my "response time tweaks" file and it didn't change anything.
This could also be Fsync related. I had very similar stuff in some other games which were completely fixed by using NTsync instead. When I looked at certain stuff, FPS would tank and GPU would be at half power and half MHz. But it was fixed by NTsync.
I see you're using GE-Proton10-10 and kernel 6.15.6 but you're still using Fsync instead of NTsync? You should load the ntsync module with sudo modprobe ntsync and add it to mkinitcpio.conf inside MODULES=()so it automatically loads at boot in the future. GE-Proton10-10 automatically uses NTsync, so you don't have to do anything else.
Worth a try.
I tried it. I alternated multiple times with and without NTSync. I wanted to believe it could help. I have not found a particular spot where I saw the same drastic performance loss, but I found spots where I had some drops and with both NTSync and FSync, I had the same behaviour. Like here:
I'll need to get back to the exact same scene to be sure, but I'll have to finish the campaign first because I don't have a save where I reproduced the bug.
Is there any chance you could test this on Windows on the same system?
It's possible that it's just CPU bound combined with threads waiting for each other.
Also, because it's a pet peeve of me: Don't just use random environment variables you read somewhere.
VKD3D_CONFIG=dxr11 That gets enabled by default on compatible hardware.
DXVK_ASYNC=1 That does nothing in D3D12 games.
VKD3D_FEATURE_LEVEL=12_2 It'll also pick the highest feature level automatically on compatible hardware. RDNA 3 should get 12_2 automatically unless I'm forgetting something.
I just went back to the exact same scene this morning and I didn't have the same experience now:
Sometimes, the GPU usage would go down to 80-85%, but go back up. That was different from what I experienced the other day. I don't know why. Seems like it was the same behaviour
Is there any chance you could test this on Windows on the same system?
It's possible that it's just CPU bound combined with threads waiting for each other.
I could try to do that soon. I actually get a similar behaviour in Gray Zone Warfare which I have reported on Proton's github ticket for the game. I was wondering if the discussion about this would be more fruitfull on a ticket over here at vkd3d-proton since I'm talking performance. I was thinking to try the game on my Windows partition, so may be I could report on that here? Or should I stick to the same game for this ticket and open another one for GZW?
Also, because it's a pet peeve of me: Don't just use random environment variables you read somewhere.
VKD3D_CONFIG=dxr11That gets enabled by default on compatible hardware.
DXVK_ASYNC=1That does nothing in D3D12 games.
VKD3D_FEATURE_LEVEL=12_2It'll also pick the highest feature level automatically on compatible hardware. RDNA 3 should get 12_2 automatically unless I'm forgetting something.
Alright, I'll take note of this. You know, sometimes, when you don't know what's going on, you just get desperate and try stuff.
I did a test with GZW and I uploaded this video https://www.youtube.com/watch?v=gla8TSOIToE where we can see both performance of Windows and Linux.
Observations
This is not as drastic as what I first reported on this ticket. However, I'm curious though why I get 20FPS less on Linux vs. Windows.
On my 32 threads CPU, I fixed this on the enhanced edition (I assume behavior might be similar on the non EE version) by using VKD3D_CONFIG=no_upload_hvv and WINE_CPU_TOPOLOGY=8:0-7. More than 8 threads and the framerate dropped heavily but no_upload_hvv seemingly was needed too as only limiting the game to 8 threads didn't help too much (rebar enabled at all times, so we can assume this wouldn't affect a system without rebar or with it disabled). no_upload_hvv also didn't fix it by itself, and only both gave "expected" performance.
Tested on both a 7800XT and a 9070XT with similar results.
Hopefully you'll be able to reproduce those gains on your end.
Also, just in case, make sure to disable PROTON_LOG=1 when actually playing to prevent additional unwanted overhead.
@Tk-Glitch: thanks for that answer! I tried it and it made a world of difference on Gray Zone Warfare. I can't say for Metro Exodus, but I guess it would have the same effect. Now, my GPU is used at 98%!
By the way, I'm not sure if the setting WINE_CPU_TOPOLOGY=8:0-7 did what it should have done because when I was looking at my CPUs being used, I saw all of them being used at the same level. I would have expected this setting to make it so cores 0-7 would have been used more than the others, but it was not the case.
Also, of course enabling resizable bar in the BIOS was crucial. I think that I tried your suggestion back a couple months ago, but I didn't turn on resizable bar then, so I didn't see a difference. That's why.
I guess I could close this issue since using rebar with the mentioned DXVK flags seems to fix the issue.
Update: force_host_cached resolves GPU underutilization in Shadow of the Tomb Raider (DX12)
I'm seeing the same GPU underutilization pattern in Shadow of the Tomb Raider (DX12, VKD3D-Proton) on my RX 7800 XT (RADV NAVI32):
force_host_cached: GPU usage sits at ~50-55%, FPS drops to ~44-50 in certain scenes. CPU-bound despite low GPU load. Lowering graphics settings has minimal impact.VKD3D_CONFIG=no_upload_hvv,force_host_cached: GPU usage jumps to 80-100%, FPS improves to ~60. The CPU bottleneck is resolved.Claude Opus 4.6's interpretation: This suggests the default memory allocation path in VKD3D-Proton creates a CPU-side bottleneck on NAVI32, where the CPU stalls on memory transfers to device-local VRAM. Forcing host-cached allocations makes CPU writes more efficient (going through CPU cache), which unblocks the GPU submission pipeline.
This is the same pattern I reported with Metro Exodus and Gray Zone Warfare — GPU starved because the CPU can't feed it fast enough through the default memory path.
ge-proton10-10x2 2025-07VKD3D_CONFIG=no_upload_hvv,force_host_cached`:**x1 2026-04WINE_CPU_TOPOLOGY=8:0-7`x1 2026-03PROTON_LOG=1`x1 2025-08VKD3D_CONFIG=no_upload_hvv`x1 2025-08WINE_CPU_TOPOLOGY=8:0-7`.x1 2025-08DXVK_ASYNC=1`x2 2025-07VKD3D_CONFIG=dxr11`x2 2025-07VKD3D_FEATURE_LEVEL=12_2`x2 2025-07DXVK_ASYNC=1x1 2025-07PROTON_LOG=1x1 2025-07VKD3D_CONFIG=dxr11x1 2025-07VKD3D_FEATURE_LEVEL=12_2x1 2025-07
When looking at different scenes, the CPU and GPU start to be underutilized and performance degrade. Here is a video demonstrating the issue: https://youtu.be/_n_eYGZaDSk. I could not film during the fight that just preceded this scene, but during this fight, things were even worst. I'm looking for ideas as to why this could happen. May be I'm at fault...
Software information
Game: Metro Exodus
Steam flags used:
My gamemode.ini config. But the same happens if I don't launch the game with
gamemoderun, so that must not be it.I also use these response time tweaks suggested by the Arch Wiki.
System information
Mesa/Vulkan related packages installed
Log files
steam-1449560.log