hyprland-wiki/pages/Configuring/Tearing.md
2023-09-29 01:19:40 +01:00

1.9 KiB

Screen tearing is used to reduce latency and/or jitter in games.

Enabling tearing

To enable tearing:

  • Set general:allow_tearing to true. 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.

{{< hint type=note >}} Please note that tearing will only be in effect when the game is in fullscreen and the only thing visible on the screen. {{< /hint >}}

Example snippet:

general {
    allow_tearing = true
}

env = WLR_DRM_NO_ATOMIC,1

windowrulev2 = immediate, class:^(cs2)$

{{< hint type=warning >}} If you experience graphical issues, you may be out of luck. Tearing support is experimental.

See the likely culprits below. {{< /hint >}}

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.