Tearing
Screen tearing is used to reduce latency and/or jitter in games.
Enabling tearing
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.
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.
Common issues
No tearing at all
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)
Apps that should tear, freeze
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.
Graphical artifacts (random colorful pixels, etc)
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
Other graphical issues
or
Hyprland instantly crashes on launch
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.