How To Enable Freesync and 10 Bit Colour Support

Sway supports cool display features like Freesync and 10 bit colour for a better experience. Maybe HDR will join these two one day as well…

Well, Freesync is an AMD trademark - something something something. Basically it is VESA Adaptive Sync. So, the option on most desktop environments and window managers is just called adaptive sync.

Super simple if you have an AMD GPU.

swaymsg output DP-1 adaptive_sync on

Where DP-1 is the name of the port.

This can cause flicker on high refresh rate displays, as whenever you stop moving the mouse, the display will run at the minimum (48Hz typically), and keep going between the min and max (144/240/etc) every time anything updates. This causes flicker. Will update when I have a fix.

KDE has an “automatic” mode, which only enables freesync when a fullscreen app like a game is running. This is probably a good idea.

NOTE! If you enable adaptive sync when you are not in game, and you have a high refresh rate monitor, you will encounter LOTS of flickering. This is because when there is no movement, the display will drop to minimum refresh rate (48Hz typically). The second you move the mouse, it will go to max (144/240/depends on your monitor). That sudden change will typically cause flicker. If you're editing a video say with kdenlive, stuttering video will force that transition of 48 ↔ 144 every stutter (very frequent on my system).

I highly recommend you only turn it on when something is fullscreen. This is what KDE Plasma's “automatic” option does, and is more sensible. That will make fullscreen applications tearing free, but allow normal desktop activities to run fine.

Unlike the last one, this should be fine without issues if your monitor supports it. Here is how to set the render bit depth:

swaymsg output DP-1 render_bit_depth 10

This should help make gradients and such smoother!

Sike! One day - but I also still don't quite get the point of HDR, since a high brightness display and 10 bit colour with tonemapping seems to work fine as well. And not to mention that even on Windows HDR, I (personally) find that on many monitors, tonemapping HDR to 10 bit SDR looks better.

The exception is OLED's where the don't always like to do their full brightness if sending an SDR signal…

  • scripts/sway/enable_freesync_and_10bit_colour.txt
  • Last modified: 2023-02-17 03:36
  • by Tony