ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.93k stars 1.05k forks source link

Nvidia+Wayland+Proton+Vulkan , Some games locked to refresh rate #7896

Open zoobporsor opened 2 months ago

zoobporsor commented 2 months ago

Compatibility Report

I confirm:

[steam-379720.log](https://github.com/user-attachments/files/16203114/steam-379720.log) ## Symptoms

It seems like SOME (but not all) Proton+Vulkan+Wayland specific, games are restricted to refresh rate, despite forcing off Vsync in both KDE Plasma and even using Mangohud to further enforce No vsync. If I switch those games to OpenGL, or DirectX mode, the frame cap goes away If I switch to X11, the cap also goes away. It is due to the specific combo Proton+Vulkan+Wayland.

Non-steam vulkan apps, such as vkcube has no frame limit

While other games like Doom 2016, and Quake 2 RTX, will always restrict FPS to Refresh rate ONLY using Proton+Vulkan+Wayland. eg (60, 144, 165) I know Doom 2016 has a Hard cap of 200fps, but still it will not exceed any refresh rate before that. eg; if i set refresh rate to 60, Doom 2016 will not exceed 60 with Vulkan+Proton+Wayland and vsync set to off.

Weirdly, it is not all Vulkan+Proton+Wayland steam games. Other Vulkan+Proton+Wayland games such as Doom 64 and Hellpoint, has no frame limit.

So it is some combination of SOME games + Vulkan+Proton+Wayland causing the issue of restricted framerate.

It is an issue because It feels like input lag to have restricted framerate like this, and moreover it seems like it is an enforced Vsync on this specific combination and games, that I would like to disable for better responsiveness.

Reproduction

Use Nvidia(?) Latest Use KDE Plasma (?) Latest , make sure Allow tearing is checked on Plasma Display configuration Use Wayland Enable steam play Launch Doom 2016 or Quake 2 RTX (among other vulkan+proton games?) Disable vsync, framerate still locked to refresh rate If you switch off Vulkan, frame limit goes away. If you switch to X11, frame limit also goes away. It should also go away on Vulkan+Wayland+Proton, though. for some reason it is restricted with this combo and feels like forced Vsync still.

CosmicSavant commented 1 week ago

I have the same issue with Total War Warhammer 3 through Proton. It seems FPS locked to 58 on Wayland, both gnome and plasma. Whereas on X11 it isn't, both gnome and plasma.

In my case this was fixed by making a dxvk.conf in the executable directory with the dxgi.syncInterval = 0 line. Which is strange as the display is a 240hz, it's also set to this frequency through the display driver and respective desktop configuration gui's.

This particular game, also failed to start after having set display resolution in game, meaning I had to delete and reset settings after each startup. With the above line, this was no longer necessary. Without it, the game would crash when setting resolution.

zoobporsor commented 3 days ago

oh thats interesting however when I tried putting dxvk.conf inside for example Quake 2 RTX folder where the executable is, the framecap still exists. I cannot find any way to remove it on some games still, except for not using Wayland or Vulkan, or KDE.