(Tutorial) How to make high refresh rates work in Xorg - eviltoast

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.