This concerns a multi monitor setup with different refresh rates (e. g. 1 with 60hz and 1 with 144hz).
The text below is part of the linked article. If you have both nvidia and picom installed, check both sections.
NVIDIA (propietary)
- Open
nvidia-settings
- Go to ‘X Server Display Configuration’
- In the bottom right, Click on ‘Advanced…’ if it says ‘Advanced…’
- Make sure anything regarding ‘force composition pipeline’ is checked off
- Make sure you selected the highest refresh rates possible. You can either select it through the settings, configure it with
xrandr
or with your DEs Display Settings, is applicable
picom
- Make sure to start picom with
--no-vsync
Misc
If it still doesn’t work, try settings these environment variables:
CLUTTER_DEFAULT_FPS=<your highest refresh rate>
__GL_SYNC_DISPLAY_DEVICE=<your highest refresh rate display>
__GL_SYNC_TO_VBLANK=0
Find the DISPLAY_DEVICE name with xrandr | grep connected
Add the text block above to /etc/environment
(Tip: Use EDITOR=<your editor, if EDITOR is not set anywhere else> sudoedit
instead of sudo nano
or sudo vim
)
-> sudoedit /etc/environment
Thanks for the write up. I’ll share what my experience as well. I’m currently using a 75 Hz and a 144 Hz GSYNC-compatible monitor, with force full composition pipeline on for both, at their max refresh rates, and I’m getting correct refresh rates for both monitors. I’m not using picom because I see no window tearing (probably from force full composition pipeline being on) and have no need for fancy animations. Although when I turn picom on with the
--no-vsync
flag, refresh rates are still correct but I’m getting a tiny bit of input delay and slightly janky scrolling.I remember seeing a bug report / issue thread somewhere and that Xorg now prioritizes the display with the highest refresh rate, at the cost of the other one being a bit janky (so 144 Hz and 72 Hz work because 72 is a multiple of 144, but 144 Hz and 60 Hz will mean the 60 Hz display is janky, but the 144 Hz one is smooth).
When gaming though, I have to turn off the second monitor, turn off composition pipeline to get GSYNC to work.
Suggestion to append the title with “and Nvidia”. Came here thinking this guide will have stuff for AMD