Can't enable ULMB 2 on Wayland

Greetings.

I have a Asus PG27AQN monitor and I can’t enable ULMB 2 on Wayland because I can’t disable monitor’s G-Sync mode. Adaptive sync is off in the settings. I have been sent here from KDE’s bug tracker. They said that this is an issue on the driver side.

SOFTWARE/OS VERSIONS
EndeavourOS
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.113.0
Qt Version: 5.15.11
Kernel version: 6.6.8-arch1-1
GPU driver version: 545.29.06
Graphics platform: Wayland

Here are the attachments I have provided to them.


drm.txt (115.9 KB)
nvidia-bug-report.log.gz (1.5 MB)

Edit: Attached nvidia-bug-report.

The issue is still present on 550.54.14

Nothing has changed with the version 555.58

Hi @Steamvoker
I have filed a bug 4727427 internally for tracking purpose and will try to reproduce issue locally.

Just coming back to say that this is still present on 565 open driver. Also a user on KDE’s Discuss suggests that this could be related to AsyncFlipSecondaries.
Here’s the link: Can't disable G-Sync in Wayland - Help - KDE Discuss

Well, not exactly, I mentioned what happened when I enabled AsyncFlipSecondaries, the performance and responsiveness were similar in between X11 and Wayland, where if not enabled, X11 had much better responsiveness and way higher fps. Therefore seemed related to sync to vblank problem on wayland. Just as AsyncFlipSecondaries enabled has forced vblank enabled on the primary monitor.

It doesnt seem to be possible to disabled it in the nvidia driver, even with environment variables.
So the problemas are kept there, if at least environment variables were read by nvidia driver in wayland, maybe it would give a different result to the matter.

Better read in the url though.

Any progress on this @amrits ?


With Wine / Proton 10 almost released, Wayland will be improved with it’s native driver.

Even NTsync might bring other improvements in some cases. Though unrelated to Wayland.

Only issue left with Wayland, at least here, is this problem.


I took a photo of the settings showing the problem persisting even after disabling things in different places. Included in the url below.

Issue seems related to GPU driver, or maybe Wayland Compositor. But since it happens in more than one compositor, are more likely to be gpu driver issue. But who knows for sure.

I just installed nvidia 570, it also has a ULMB related change.

https://www.reddit.com/r/linux_gaming/comments/1i8l45g/comment/m8udwrv/

* Added a new kernel module parameter, 'conceal_vrr_caps', to the
  nvidia-modeset kernel module. This parameter may be used to enable
  usage of features on some displays such as ULMB (Ultra Low Motion
  Blur) which are incompatible with VRR. See the "Direct Rendering
  Manager Kernel Modesetting" (DRM KMS) chapter of the README for
  further information.

But after trying to set nvidia-modeset.conceal_vrr_caps=1 into kernel options or options nvidia-modeset conceal_vrr_caps=1 into a modprobe.d conf file.

Unless I am doing it wrong. The issue persist.

[    1.414549] nvidia_modeset: unknown parameter 'disable_vrr_mclk_switch' ignored
[    1.414551] nvidia_modeset: unknown parameter 'conceal_vrr_caps' ignored
[    1.414553] nvidia_modeset: unknown parameter 'disable_vrr_mclk_switch' ignored
[    1.414554] nvidia_modeset: unknown parameter 'conceal_vrr_caps' ignored
[    1.416416] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64  570.86.10  Release Build  (dvs-builder@U16-I3-B16-4-3)  Thu Jan 16 03:17:33 UTC 2025

Tried with _ and -

@aplattner


Fixed the first command, it was disable_vrr_memclk_switch. But nothing on conceal_vrr_caps. It doesnt even show as an option.

❯ sudo ls -l /sys/module/nvidia_modeset/parameters/
total 0
-r-------- 1 root root 4096 jan 24 22:13 config_file
-r-------- 1 root root 4096 jan 24 22:13 debug_force_color_space
-r-------- 1 root root 4096 jan 24 22:13 disable_hdmi_frl
-r-------- 1 root root 4096 jan 24 22:13 disable_vrr_memclk_switch
-r-------- 1 root root 4096 jan 24 22:13 enable_overlay_layers
-r-------- 1 root root 4096 jan 24 22:13 fail_alloc_core_channel
-r-------- 1 root root 4096 jan 24 22:13 fail_malloc
-r-------- 1 root root 4096 jan 24 22:13 hdmi_deepcolor
-r-------- 1 root root 4096 jan 24 22:13 malloc_verbose
-r-------- 1 root root 4096 jan 24 22:13 opportunistic_display_sync
-r-------- 1 root root 4096 jan 24 22:13 output_rounding_fix
-r-------- 1 root root 4096 jan 24 22:13 vblank_sem_control

I will wait and see when 570 hits the arch repos. When it does, I’ll report back on how it’s going.

It seem to be because it’s not even a beta yet. Unreleased version.

I tested the beta version, it’s the same andconceal_vrr_caps are still unknown / unavailable.

Apparently it was not included in the release.

Well, I guess we’ll have to wait another ~3 months.

1 Like

Probably more. Tested the actual release today 570.124.04 said to have fixed it, but it’s still not there.

Hi all,

Please help test with the latest beta version - 575.51.02.

You can set nvidia-modeset kernel module parameter conceal_vrr_caps=1 to use ULMB.

Added a new kernel module parameter, ‘conceal_vrr_caps’, to the
nvidia-modeset kernel module. This parameter may be used to enable
usage of features on some displays such as ULMB (Ultra Low Motion
Blur) which are incompatible with VRR. See the “Direct Rendering
Manager Kernel Modesetting” (DRM KMS) chapter of the README for
further information.

Thank you

This works for me.
I have a monitor with a Gsync module. With this setting, the monitor’s LED changes from red to white to indicate that Gsync is disabled, and ULMB is no longer grayed out in the monitor’s menu.

1 Like

Doesn’t really work for me.

The option to set VRR in KDE is gone, but the monitor in still in G-SYNC mode.


I have set it through modprobe.d config file and confirmed with sudo modprobe -c nvidia-modeset | grep vrr that the config works. Unless I’m doing something wrong, the issue persists.

Operating System: EndeavourOS
KDE Plasma Version: 6.3.4
KDE Frameworks Version: 6.13.0
Qt Version: 6.9.0
Kernel Version: 6.14.3-arch1-1 (64-bit)
GPU Driver Version: 575.51.02
Graphics Platform: Wayland

I’m attaching bug report file.
nvidia-bug-report.log.gz (801.0 KB)

It works now. I don’t know what has changed but after a couple of reboots the VRR is off.

Now I can’t re-enable G-SYNC regardless of whether the conceal_vrr_caps is set to 1 or 0.
I’m attaching another bug-report log just in case.
nvidia-bug-report.log.gz (795.2 KB)

1 Like

I just tried out. @abchauhan

❯ sudo cat /sys/module/nvidia_modeset/parameters/conceal_vrr_caps                                                                                                                                          
Y

The option is available now, differently from before. I had the option already enabled, from before.

But now, ULMB2 stopped working on X11 and does not work on Wayland, both have GSync mode enforced as ULMB2 are greyed out.

I rebooted twice to make sure, it didnt do anything.

Will rollback the driver.


After driver rollback, ULMB2 is working again on X11.

Not sure why the driver would affect X11 where is already working.

Not sure why VRR option would have to be gone.

It should be automatic. If you set Adaptive Sync / VRR to be disabled. ULMB2 should automatically be enabled and not require a flag.

Just like it is on X11 or Windows.