144hz primary monitor limited to 60hz when dual monitor is enabled [NVIDIA driver bug]

Whenever my 60 hz monitor is enabled, my primary monitor set to 144hz is able to display 144hz on the desktop (I can see the cursor is very smooth), but in-game like Geometry Wars 3 on Steam, I am limited to 60 FPS. If I disable my 60hz monitor, I am able to reach full 144hz in-game. I have NVIDIA 460.84 for my GTX 1070, Ubuntu 20.04 with Xfce 4.14. I have tried disabling display compositing in Xfce settings, but it doesn’t help (and I understand it only affects windowed applications - not full-screen applications, indicating this is an NVIDIA problem?) and the problem still persists no matter what I do. In nvidia-settings, I have tried syncing to my primary monitor (DP-2), I have tried sync to vblank enabled and disabled with allow flipping both enabled and disabled, nothing helps.

Here are my specs:
OS: Ubuntu 20.04.2 LTS x86_64
Kernel: 5.4.0-77-generic
Uptime: 3 days, 18 hours, 16 mins
Packages: 3813 (dpkg), 39 (snap)
Shell: zsh 5.8
Resolution: 1920x1200, 1920x1080
DE: Xfce 4.14
WM: Xfwm4
WM Theme: Default
Theme: Arc-Dark [GTK2], Yaru-dark [GTK3]
Icons: elementary-xfce-darker [GTK2/3]
Terminal: xfce4-terminal
Terminal Font: Hack 12
CPU: Intel i7-5960X (16) @ 4.300GHz
GPU: NVIDIA GeForce GTX 1070
Memory: 21424MiB / 32029MiB

Here is my xrandr output: https://i.imgur.com/aJBDdFt.png and as you can observe, it says that DP-2 is the primary, and it has 144.00* (for some strange reason it has 60.00 + 144.00*, it doesn’t seem to matter as xrandr seems to report the same thing with only 1 monitor enabled)

I would appreciate any ideas anyone has, although I suspect this is an NVIDIA driver bug so I may need the NVIDIA development team to see this somehow.

Adding __GL_SYNC_DISPLAY_DEVICE=DP-2 %command% in my geometry wars 3 Steam launch options works - but adding it in /etc/environment (without %command% of course) doesn’t seem to work, neither does __GL_SYNC_DISPLAY_DEVICE=DP-2 or export __GL_SYNC_DISPLAY_DEVICE=DP-2 in command line (zsh).

Does wine and/or proton not access environmental variables that Linux has? This is super hard to debug because there’s so many layers involved, for example in league of legends I use wine-lol for, and I use regular wine in lutris for Blizzard games like Overwatch.

This is now solved.

Adding __GL_SYNC_DISPLAY_DEVICE=DP-2 to my /etc/environment and then logging out fixed it for at least Geometry Wars 3 - I can safely assume it’s fixed for everything now.

edit: 144hz now works in Chrome and Firefox too.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.