Tearing
Screen tearing is used to reduce latency and/or jitter in games.
To enable tearing:
- Set
general:allow_tearing
totrue
. This is a “master toggle” - Add
env = WLR_DRM_NO_ATOMIC,1
to your Hyprland config. This disables the usage of a newer kernel DRM API that doesn’t support tearing yet. - Add an
immediate
windowrule to your game of choice. This makes sure that Hyprland will tear it.
Please note that tearing will only be in effect when the game is in fullscreen and the only thing visible on the screen.
Example snippet:
general {
allow_tearing = true
}
env = WLR_DRM_NO_ATOMIC,1
windowrulev2 = immediate, class:^(cs2)$
env = WLR_DRM_NO_ATOMIC,1
is not recommended. If your kernel ver is >= 6.8, you can remove it.For kernels < 6.8, this env is required.
Check your kernel version with
uname -r
.
If you experience graphical issues, you may be out of luck. Tearing support is experimental.
See the likely culprits below.
Make sure your windowrules are matching and you have the master toggle enabled.
Also make sure nothing except for your game is showing on your monitor. No notifications, overlays, lockscreens, bars, other windows, etc. (on a different monitor is fine)
Almost definitely means your GPU driver does not support tearing, like e.g. Intel’s.
Please do not report issues if this is the culprit.
Likely issue with your graphics driver.
Please do not report issues if this is the culprit. Unfortunately, it’s most likely your GPU driver’s fault.
Could be the below as well
or
Likely issue with WLR_DRM_NO_ATOMIC
.
NO_ATOMIC forces the use of a legacy, less tested drm API.
Please do not report issues if this is the culprit. Unfortunately, you will have to wait for the Linux kernel to support tearing page flips on the atomic API.