ThisCalculator

Everyday

How to Get Rid of Screen Tearing on Linux

Updated · Standard formula, shown below

How to Get Rid of Screen Tearing on Linux

Screen tearing on Linux—where the image splits horizontally during motion—happens when the display refreshes mid-frame, and you can usually eliminate it by enabling VSync, switching to a compositor that forces it, or changing your driver settings. The fix depends on your desktop environment and GPU, but most users solve it in under ten minutes with the steps below.

What Causes Screen Tearing?

Your monitor draws the screen line by line, top to bottom, many times per second (typically 60 Hz). The GPU sends new frames whenever they’re ready. If a frame arrives while the monitor is halfway through drawing the previous one, you see the top half of one frame and the bottom half of the next—that’s the tear. Tearing is most visible when scrolling web pages, watching video, or playing games, because the content changes quickly and your eye tracks the mismatch.

On Windows and macOS, the desktop compositor (the program that puts windows together) always synchronizes frames with the monitor’s refresh cycle, so tearing is rare. On Linux, the compositor may not do this by default, especially in lightweight environments like Xfce, LXQt, or i3, or when using certain graphics drivers.

VSync and the Compositor: The Core Fix

VSync (vertical synchronization) forces the GPU to send a new frame only when the monitor is ready to start drawing it. The GPU waits for the monitor’s “vertical blank” interval—the brief moment after the screen has finished drawing one frame and before it starts the next—and then delivers the new frame. This eliminates tearing but can add a little input lag, which is why some gamers disable it.

On a Linux desktop, the compositor is the program that draws windows to the screen. If your compositor has VSync enabled, it will synchronize every window update to the monitor’s refresh, preventing tears in everything—browsers, video players, and games running in windowed mode. The problem arises when:

  • The compositor is disabled entirely (common with tiling window managers).
  • The compositor is running but VSync is off (some lightweight compositors default to this).
  • The graphics driver doesn’t support the compositor’s sync method.

Fix by Desktop Environment

Different Linux desktops handle VSync differently. Here’s how to enable it in the most common ones.

GNOME (default on Ubuntu, Fedora Workstation, etc.)

GNOME’s Mutter compositor forces VSync on by default, and there’s no user-facing toggle. If you see tearing on GNOME, it’s almost always because your GPU driver is not working correctly. Make sure you’re using the proper driver (see below). If you use a custom theme or extension that disables VSync, try disabling them.

KDE Plasma

KDE uses the KWin compositor. Go to System Settings → Display and Monitor → Compositor. Set Rendering backend to OpenGL (or OpenGL 3.1) and check VSync to Automatic or Always. If you have an NVIDIA GPU, also try setting Rendering backend to XRender if OpenGL still tears—some NVIDIA driver versions have issues with OpenGL sync.

Xfce, LXQt, MATE

These environments use a separate compositor. In Xfce, open Settings → Window Manager Tweaks → Compositor and check Enable display compositing. Set VSync to Sync to Vblank. In LXQt, open Preferences → LXQt Settings → Session Settings → Basic Settings and check Enable compositing. MATE has a built-in compositor under System → Preferences → Window Manager—choose Compton or Marco with compositing and enable VSync in its settings.

i3, Sway, and other tiling window managers

Tiling WMs usually don’t include a compositor. Install one separately—picom is the most common. Run picom --vsync from your terminal, or add exec picom --vsync to your WM’s startup file (e.g., ~/.config/i3/config). Picom supports several backends; if you have an NVIDIA GPU, you may need picom --backend glx --vsync for proper sync.

Driver-Specific Settings

Your GPU driver plays a big role. Here’s what to check for each major vendor.

NVIDIA

If you use the proprietary driver, open NVIDIA X Server Settings (run nvidia-settings). Go to X Server Display Configuration → Advanced and check Force Full Composition Pipeline. This forces the driver to sync every frame to the monitor, eliminating tearing system-wide, even in fullscreen games. Apply and save to /etc/X11/xorg.conf. If you use the open-source Nouveau driver, try the same option—it may work, but Nouveau’s support is limited.

AMD

The open-source AMDGPU driver generally works well with compositors. If you still see tearing, ensure your compositor is using the GLX backend (not EGL) and that VSync is on. For fullscreen games, you can force VSync in the game’s settings or use vblank_mode=1 as a launch option (e.g., vblank_mode=1 game).

Intel

Intel integrated graphics also use the open-source driver. Tearing is rare, but if it happens, the same compositor settings apply. Some users fix it by adding Option "TearFree" "true" to the Intel section in /etc/X11/xorg.conf.d/20-intel.conf. This forces the driver to avoid tearing, at a slight performance cost.

Fullscreen Applications and Games

Even with a compositor, fullscreen games and video players can bypass it and tear. Here’s how to handle them:

  • In games: Enable VSync in the game’s video settings. If the game uses OpenGL, you can also force it with export vblank_mode=1 before launching. For Vulkan games, set VK_PRESENT_MODE_FIFO_KHR (the default is usually FIFO, which is VSync).
  • In video players: MPV and VLC have VSync options. In MPV, add --vsync to your config file (~/.config/mpv/mpv.conf). In VLC, go to Tools → Preferences → Video and check Use GPU acceleration and Sync video to display.
  • In browsers: Most modern browsers enable VSync by default. If you still see tearing in Firefox or Chrome, try disabling hardware acceleration temporarily to see if that helps (though it may cause other issues).

Wayland vs. X11: Which Is Better?

Wayland is the modern display server protocol that is designed to eliminate tearing by design—the compositor always synchronizes frames. If you’re using GNOME or KDE on Wayland, tearing should be virtually impossible. However, Wayland has its own quirks: some older applications don’t run well, screen sharing can be tricky, and NVIDIA drivers historically had poor Wayland support (though recent versions are much better).

If you’re on X11 and can’t solve tearing, consider switching to Wayland if your desktop supports it. At the login screen, select the Wayland session (e.g., “GNOME on Wayland” or “Plasma on Wayland”). You can test it without reinstalling. Many users find that Wayland simply works with no tweaking needed.

Common Mistakes and Quick Checks

Before diving into complex settings, check the obvious:

  • Are you using the right driver? Run lspci -k | grep -A 3 VGA to see which driver is loaded. If it says nouveau for NVIDIA, you may want the proprietary driver for better sync support.
  • Is your compositor running? In Xfce, you can check with xfconf-query -c xfwm4 -p /general/use_compositing. If it returns false, enable it.
  • Did you restart after changing settings? Some driver options require a logout/login or a full reboot.
  • Is it really tearing? Some people confuse screen tearing with micro-stutter or frame drops. Tearing looks like a horizontal split—the image is misaligned. Stutter is a pause in motion. VSync won’t fix stutter.

Frequently Asked Questions

Does VSync cause input lag?

Yes, VSync can add a small amount of input lag because the GPU waits for the monitor’s refresh cycle. In fast-paced games, this can feel like a delay. If you’re sensitive to it, you can use “Fast Sync” (NVIDIA) or “Enhanced Sync” (AMD) which reduce tearing with less lag, but they’re not available everywhere. For desktop use, the lag is imperceptible.

Why does tearing happen only in fullscreen games and not in the desktop?

Fullscreen applications often bypass the compositor for performance. The game draws directly to the screen, so the compositor’s VSync doesn’t apply. You need to enable VSync in the game itself or force it via driver settings like “Force Full Composition Pipeline” on NVIDIA.

Can a bad HDMI cable cause screen tearing?

No, a cable won’t cause tearing. Tearing is a software/driver issue. A bad cable might cause flickering, artifacts, or no signal, but not a clean horizontal split.

Will screen tearing damage my monitor?

No, tearing is purely a visual artifact. It doesn’t harm your hardware. It’s just a mismatch between the GPU and monitor refresh timing.

Is there a way to fix tearing on a laptop with hybrid graphics?

Yes, but it’s more complex. Hybrid graphics (Intel + NVIDIA or AMD) often require special handling. On NVIDIA Optimus, use prime-run or nvidia-settings to switch to the discrete GPU, then apply the NVIDIA fix above. On Wayland, hybrid graphics are better supported in recent versions.

What if none of these fixes work?

Try a different compositor. For X11, picom is a drop-in replacement for many built-in compositors and has more VSync options. Also check your distribution’s forums—some hardware/driver combos have known quirks with specific workarounds. If you’re on a very old GPU, the driver may not support proper VSync at all.

Related

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.