NVIDIA BUG, KDE Wayland Games are Force Vsynced

@kodatarule are you even able to enable VRR in Plasma’s settings? Or is it unnecessary? I thought it had to be enabled in the display settings or whatever.

This seems off topic, as for VRR on wayland we have a different topic, however to answer your question - yes I am able to enable VRR from the display settings.

@ekurzinger do you know if support for the tearing protocol will also be available in version 545?
I’m asking because for Wayland and XWayland it seems like changes to Mesa (here and here) are necessary, which would indicate that the Nvidia driver also has to add support for it.

The tearing protocol will not be supported in version 545.

@ekurzinger Could you please explain what’s the current state of g-sync on Wayland? It doesn’t seem to work for XWayland (Reddit - Dive into anything) at all but let’s say tomorrow wine runs natively on Wayland and I cap my fps below my monitor refresh rate. Will I get g-sync in this case? What about Wayland mailbox, will it still add lag even though g-sync is “working”? Do we need tearing protocol to get similar to XOrg lag with g-sync on?

Just wanted to let you know that even native wayland apps do not work with gsync, on a single monitor setup with KDE plasma you can see the VRR doing something but it isn’t actually syncing to the game/regardless if it is wayland or xwayland window/(as it was described in another thread) while on multi monitor setup - VRR doesn’t activate at all.

3 Likes

Hey, wayland support is almost complete on nvidia. There are a few things still missing such as GAMMA_LUT. Do you know when they’ll be available?

There was information that a patch for GAMMA_LUT was ready and was undergoing internal NVIDIA testing but no information since. Can you clarify about that please?

Using wayland on nvidia without GAMMA_LUT is unpleasant to the eyes.

Any idea on timeline for this? Need VRR and would prefer not buying another GPU (red).

Tearing protocol is ridiculous. VRR + V-Sync + capped within range is always the best experience (yes, even for competitive games…)

There are plenty of resources for this, go look at blurbusters.

We just need G-Sync to be reported by nvidia-drm, and direct scan-out for Xwayland windows AFAIK.

I already tried to ask somebody from NVidia to provide some details about how their VRR works but I really doubt VRR will work AT ALL without tearing protocol because without it Wayland adds its mailbox bs and I can’t imagine how mailbox and vrr would work at the same time. Also, NVidia doesn’t support implicit sync and Wayland doesn’t support explicit sync so I’m not sure how vrr would work until both NVidia and Wayland support the same sync. Yes, I know there are people that claim that vrr/g-sync works but I’m yet to see any proof of this (e.g. something like this NVIDIA Driver 535.54.03 released : linux_gaming).

I haven’t seen a note regarding this issue getting fixed in the patch notes of the beta 545 driver release.
Is it just not listed, or is/is it not coming with the full release? (Maybe I’m just not technical enough to understand what some of those features mentioned in the notes do or maybe it’s included with something else?)

Can confirm that alongside VRR this is also fixed!

I wouldn’t call VRR fixed: [Feature] G-Sync/Freesync under Wayland Session - #46 by mithras.ftw
It’s still glitching and tearing. I don’t think it’ll work properly until Wayland has explicit sync support.

1 Like

On my KDE setup I haven’t noticed that and noticed that games indeed sync to the monitor correctly. However I do believe that in certain scenarios the explicit sync would hurt the experience, however the thread was for G-Sync/Freesync support which is indeed correct that is working(at least to my tests) and not for explicit sync issues which are confirmed to happen if the app/game dips below refresh rates, most observant if it hits 60fps and you have high refresh monitor 144hz.
Still explicit sync has a lot of movement these days and Joshua indeed got it working on gamescope:

Unfortunately I cannot edit my original comment.
@ekurzinger While the forced vsync issue seems to be resolved for most apps, I still ran into some games to be forced vsync such as Left 4 Dead 2(native with -vulkan flag) and Quake 2(through proton experimental xwayland).
On Quake 2(the remastered) - if i remove focus from the window it uncaps fps, but if I focus back it caps it to 165(monitor refresh rate)

EDIT: this seems highly related to this 535.54.03 Screen tearing while gaming on Wayland session - #39 by Xpander as both under xorg and wayland I see some games cap at 165hz(forced vsync) regardless of forcecomp or not on X and exhibit the horizontal tearing
EDIT2: the issue for xorg which was reported on the screen tearing doesn’t seem to affect wayland as to why some games cap their fps to monitor still in 545

@ekurzinger Sorry for the ping - there seems to be some change in 545, while it does resolve the forced vsync for wayland, I noticed that some titles even on xorg (vkcube is the simplest one that you can try) - have forced vsync as well which cannot be turned off completely(despite absolutely no option for vsync to be on).
This issue is observed in some titles on xorg and wayland(30XX is good example, previous 2 left4dead2 and quake 2 are also that come to mind).
Now I am unsure if that extension mentioned by Xpander VK_KHR_present_wait is at fault or something else is happening behind the scenes.

vkcube is the simplest one that you can try

vkcube does use the FIFO presentation mode by default, which causes it to run vsynced. But, at least on my test system, if I tell it to use IMMEDIATE mode instead by passing the --present_mode 0 argument it runs at an uncapped framerate. Are you saying that this does not work for you?

Oh yeah that worked, thank you, it was because on another machine mangohud override it with vsync set to off forced what caused it to unlock FPS. Will be able to retry on a wayland session for the other 2 titles just to confirm if the issue still is present. Thanks

EDIT: 100 - Thanks indeed it seems some stuff trigger FIF0 and caps the FPS, I managed to test a bit more about the rare/oddities such as L4D2/Quake 2 it seems like they don’t trigger the flipping path or smth correctly, as playing around with borderless then fullscreen then back borderless is able to unlock them, could be different issue(under wayland that is).

Thanks!

How do you get individual games to run with the --present_mode 0 option? It doesn’t seem to work for me.

Also, I have seen some merges in the Gitlab for objsync but there doesn’t seem to be any new updates to the beta branch since october 17th. Perhaps you are observing a placebo effect?

You can force disable vsync using mangohud with goverlay there is a section for vsync if you change it from unset to off, it will force disable vsync for everything(incl. vkcube) as long as the app itself runs with mangohud enabled.