3

My monitor (a Dell S2176DG) supports GSync, but needs an ICC/color profile to look nice on Linux. I'm able to set a color profile with GNOME settings, but whenever I open nvidia-settings, this gets reset.

The problem is: every boot I need to disable GSync, because it doesn't play nicely with GNOME Shell and my monitor configuration. There is some unusual stuttering unless I'm constantly dragging a window. For my workflow I don't need GSync when I'm booted into my Linux desktop, so I opt to disable it. But again, if I open nvidia-settings, then my ICC profile gets reset, and then I have to open GNOME settings again and toggle the profile. Every boot.

Is there any way to disable GSync, either permanently or at least when I log in, without opening nvidia-settings?

1 Answers1

3

nvidia-settings allows you to set individual options on the command line without opening the GUI. By default, it'll try to apply your saved configuration (which could mess up color profiles), but if you pass it the right options it'll only change what you ask it to change.

The option here is AllowGSYNC. The -q option can show its current state:

$ nvidia-settings -q AllowGSYNC

Attribute 'AllowGSYNC' (termina:1.0): 1.
'AllowGSYNC' is a boolean attribute; valid values are: 1 (on/true) and 0 (off/false).
'AllowGSYNC' can use the following target types: X Screen.

To toggle it, use the -a flag:

nvidia-settings -a AllowGSYNC=0

Boom, GSync disabled and no other settings were touched. This works with the other settings present in the application; the available options can be viewed with flag -L.

Add this to your X startup / session scripts / whatever and it should apply every time.

[ Answering my own question because this has plagued me for so long and I finally found a solution. Wahoo! ]