Cannot enable ULMB


When running Linux, my monitor’s OSD has “ULMB” grayed out and it can’t be enabled. Is there a way to use ULMB in Linux?

I tried all available refresh rates with which ULMB is supposed to work (85, 100, 120), but the option is always grayed out, no matter what refresh rate I choose in nvidia-settings.

The monitor is a ViewSonic XG2703-GS connected via DisplayPort to a GTX 980 Ti.

Currently no, sorry. The driver puts the monitor into G-SYNC mode all the time so that it can dynamically switch into and out of variable refresh rate mode without glitching the display. ULMB is incompatible with G-SYNC, which is why it’s grayed out.

It’s on my TODO list to add an option to disable G-SYNC at modeset time so that ULMB can be used.

Almost a half year has been passed after the request of such an essential function. How long do we need to get such an essential function? Is it really so hard to just added one option? Or just because you guys intend to ignore the need for Linux users. So disappointment about your guys.

Hi Aaron,

Do you know when we can expect an update to be released including this option?

Do you know of any workaround which could be used with the current drivers to solve this?


An “AllowGSYNC” MetaMode flag is in the next release branch currently in development. I don’t have an ETA for that, but it’ll allow you to set a MetaMode either in xorg.conf or with nvidia-settings to disable G-SYNC, to allow using G-SYNC monitors in ULMB mode or with Frame Lock.

Option "MetaModes" "nvidia-auto-select { AllowGSYNC=Off }"


nvidia-settings -a currentmetamode="nvidia-auto-select { AllowGSYNC=Off }"

Adding the option to xorg.conf works with 387.12! Thank you very much!

(Using nvidia-settings unfortunately puts the monitor in 60Hz mode.)

If it’s like my monitor, 60 Hz is marked as the preferred timing, so you need to use 1920x1080_120 instead of nvidia-auto-select if you want 120 Hz.

I’ve run into a bug. The monitor just turns itself off after a while when not in G-Sync mode (it’s not triggered by ULMB; that’s disabled too.) Turning the monitor off/on doesn’t help. Even unplugging the power cable or the displayport cable doesn’t help. A blind reboot is needed (Ctrl+Alt+F2 to switch to VC2, then Ctrl+Alt+Del to reboot.)

It’s not reproducible with any specific steps. It happens randomly at some random time (can be after 1 hours, can be after 5 hours.)


OK, never mind. It’s not specific to non-gsync mode. It happened with g-sync mode too. This appears to be a bug in the new driver (387.12) that wasn’t there in the previous driver (384.90.)

A workaround that seems to bring the monitor back is to go to the monitor’s OSD and toggle the “165Hz overclocking” mode. Setting it to “enabled”, then switching to VC2 and back to X11 again brings the screen back again, at which point I can set the overclocking mode to “disabled” again.

Not sure if it helps, but when it happens, I see this in dmesg:

[15377.763546] chrome[652]: segfault at 48 ip 00007fc8bca51019 sp 00007ffc8a459b38 error 6 in[7fc8bb827000+14f2000]
[15380.385150] xmessage[16635]: segfault at 8 ip 00007f70d782839e sp 00007fff39f13810 error 4 in[7f70d780e000+6a000]

I was able to turn on ULMB on such setup:
Ubuntu 17.10
Driver 387.34
GTX 1070

nvidia-settings -a currentmetamode="1920x1080_120 { AllowGSYNC=Off }"

But it’s behavior is noticeably different from one i get on Windows 10.
When ULMB is OFF and i scroll web pages or drag windows slowly i get blurry trail, when it’s ON i get distinct after-image of every sharp object instead.
I’ve made photo of screen, it’s kinda representative of what i see with my eyes: .
Text, instead of being blurred, gets semi-transparent copy of it lagging behind.
On Windows 10 i can barely notice this after-image and it is lagging much closer to current frame.

Is there any options i’m not aware that i can tweak to match Windows behavior?

Nice, it works! Thanks