How to Fix Screen Tearing on Linux
Fix screen tearing on Linux for Intel, AMD, and NVIDIA GPUs using TearFree, Force Composition Pipeline, and compositor settings on X11 and Wayland.
Before you start
- ▸Know your GPU vendor (Intel, AMD, or NVIDIA) and which driver is active
- ▸sudo or root access to write files in /etc/X11/
- ▸NVIDIA users need the proprietary driver installed (not Nouveau) for Force Composition Pipeline
- ▸X11 session (most fixes do not apply to Wayland, which handles vsync natively)
Screen tearing — that horizontal split where the top and bottom halves of the display don't line up — is one of the most common annoyances on Linux desktops. It happens when the GPU pushes a new frame to the display mid-refresh, before the monitor has finished drawing the previous one. The fix depends on your GPU vendor, desktop environment, and whether you're running X11 or Wayland. This guide walks through every major scenario.
Understand What's Causing Your Tear
Before applying fixes, identify your hardware and session type:
lspci | grep -E 'VGA|3D|Display'
echo $XDG_SESSION_TYPE
The first command shows your GPU. The second prints x11 or wayland. Tearing is almost exclusively an X11 problem — Wayland compositors synchronise frame delivery by design. If you're already on Wayland and still see tearing, jump to the compositor section. If switching to Wayland is an option and your workflow supports it, that alone often solves everything.
Fix Tearing on Intel Graphics (X11)
The modesetting driver (default since Mesa 10 / kernel 4.x) and the older intel Xorg driver both support a TearFree option. It buffers scanout so frames are only swapped on a vblank boundary.
Create an Xorg configuration snippet
sudo mkdir -p /etc/X11/xorg.conf.d
sudo nano /etc/X11/xorg.conf.d/20-intel.conf
Paste the following. Use Driver "modesetting" on modern systems (kernel ≥ 4.2); use Driver "intel" only if you still have xserver-xorg-video-intel installed and need SNA acceleration.
Section "Device"
Identifier "Intel Graphics"
Driver "modesetting"
Option "TearFree" "true"
EndSection
Log out and back in (or restart the display manager) to apply. With the legacy intel driver you may also want Option "AccelMethod" "sna" on the same block — SNA performs better than UXA and cooperates well with TearFree.
Fix Tearing on AMD Graphics (X11)
The open-source amdgpu driver exposes TearFree the same way.
sudo nano /etc/X11/xorg.conf.d/20-amdgpu.conf
Section "Device"
Identifier "AMD Graphics"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
The older radeon driver (pre-GCN cards) accepts the same option with Driver "radeon". Reboot or restart your display manager after saving.
Fix Tearing on NVIDIA Graphics (X11)
NVIDIA's proprietary driver does not support TearFree. Instead, use the Force Composition Pipeline setting, which routes all rendering through the compositor before handing frames to the display engine.
Option A — nvidia-settings (per-session)
nvidia-settings
Navigate to X Server Display Configuration → Advanced and enable Force Composition Pipeline (or Force Full Composition Pipeline for stubborn cases). Click Apply, then Save to X Configuration File to persist across reboots. This writes to /etc/X11/xorg.conf.
Option B — xorg.conf snippet (recommended for headless/automated setups)
sudo nano /etc/X11/xorg.conf.d/20-nvidia.conf
Section "Screen"
Identifier "Screen0"
Option "metamodes" "nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
Option "AllowIndirectGLXProtocol" "off"
Option "TripleBuffer" "on"
EndSection
Force Full Composition Pipeline adds one more buffering stage and is only necessary if the standard option doesn't eliminate every tear. It costs a few milliseconds of extra latency, so don't use it unless needed.
The open-source Nouveau driver has limited power management and reclocking; tearing there is better solved by switching to the proprietary driver or moving to Wayland with the nvidia-drm.modeset=1 kernel parameter.
Compositor-Level Fixes
Even with driver-level options set, a misconfigured compositor can reintroduce tearing. Each DE has its own knob.
KDE Plasma (X11)
Go to System Settings → Display and Monitor → Compositor. Set Rendering backend to OpenGL 3.1 and enable Allow applications to block compositing only if you need it for gaming. The tearing prevention option should read Automatic or Full screen repaints.
# Force-re-enable the compositor if it was disabled
qdbus org.kde.KWin /KWin reconfigureEffect
GNOME (X11)
Mutter, GNOME's compositor, manages vsync internally. If tearing appears, confirm the compositor is running:
ps aux | grep mutter
If it's absent, a running app has probably requested "unredirect fullscreen windows" mode. Disable that override:
gsettings set org.gnome.mutter unredirect-fullscreen-windows false
Xfce (Xfwm4)
Open Window Manager Tweaks → Compositor and enable Use display's v-sync. If Xfwm4's built-in compositor is off, tearing is guaranteed on X11 — either enable it or run a standalone compositor like Picom.
Picom (standalone compositor for i3, bspwm, openbox, etc.)
nano ~/.config/picom/picom.conf
vsync = true;
backend = "glx"; # or "egl" on newer Picom builds
use-damage = false; # set true after confirming no tearing for better perf
Restart Picom after editing. If you're not yet running it, install it first:
# Debian/Ubuntu
sudo apt install picom
# Fedora
sudo dnf install picom
# Arch
sudo pacman -S picom
Wayland — When Tearing Still Appears
True tearing is rare under Wayland, but stuttering and frame-pacing issues can look similar. Ensure the NVIDIA driver exports itself correctly for Wayland:
# Add to /etc/modprobe.d/nvidia.conf
options nvidia-drm modeset=1 fbdev=1
# Regenerate initramfs
# Debian/Ubuntu
sudo update-initramfs -u
# Fedora/RHEL
sudo dracut --force
# Arch
sudo mkinitcpio -P
For KDE Plasma on Wayland with NVIDIA, also set the environment variable KWIN_DRM_USE_EGL_STREAMS=0 in /etc/environment (Plasma ≤ 5.27) — newer Plasma 6 handles this automatically.
Verify the Fix
Play a scrolling test video or use the built-in browser test at testufo.com. Alternatively, run a fullscreen terminal with rapid output:
watch -n 0.1 cat /proc/interrupts
Scroll quickly with the mouse. If the text no longer splits horizontally, tearing is gone. You can also run glxgears in a window while dragging it rapidly across the screen — a tear-free setup shows no diagonal breaks in the gear teeth.
Troubleshooting
- TearFree causes blank screen on boot: The modesetting driver may conflict with KMS. Add
nomodesettemporarily to the kernel line in GRUB, then switch back to theintelXorg driver or remove the snippet. - Force Composition Pipeline breaks multi-monitor layout: You must define a
metamodesentry for each connected screen, not just the primary. Usenvidia-settingsto regenerate the fullxorg.conf. - Picom vsync causes 100% CPU: Switch the backend from
xrendertoglx. The xrender backend does software compositing and spins on vsync. - Tearing only in fullscreen games: The game is bypassing the compositor (direct rendering). Enable Force Composition Pipeline (NVIDIA) or set
TearFreeat the driver level rather than relying on the compositor alone. - Changes not taking effect after reboot: Confirm there is no conflicting
/etc/X11/xorg.confoverriding your snippet. Snippets inxorg.conf.d/are merged, but a monolithicxorg.conftakes precedence for matched sections.
Frequently asked questions
- Why does TearFree not exist for NVIDIA's proprietary driver?
- NVIDIA's proprietary driver manages its own display pipeline and does not expose the TearFree Xorg option. Force Composition Pipeline achieves the same result by routing all scanout through the driver's compositor stage before the frame reaches the display.
- Will enabling TearFree or Force Composition Pipeline hurt gaming performance?
- TearFree adds one frame of buffering latency, which is imperceptible for most users but noticeable to competitive gamers. Force Full Composition Pipeline adds slightly more. For competitive play, consider enabling VRR/FreeSync/G-Sync or accepting a small amount of tearing in exchange for lower latency.
- I'm on Wayland — why do I still see something that looks like tearing?
- What you're likely seeing is frame-pacing stutter or judder rather than true tearing. On NVIDIA, missing DRM modesetting (nvidia-drm modeset=1) is the most common cause. On AMD and Intel under Wayland, stutter usually points to a GPU clock scaling issue or a compositor bug.
- Does the modesetting driver work better than the intel Xorg driver for TearFree?
- On modern kernels (4.2+) modesetting is preferred and receives active development. The xserver-xorg-video-intel package is effectively unmaintained. Use modesetting unless you have a specific reason — such as a very old GPU — to stay on the intel driver.
- My tearing only appears in fullscreen applications. Why doesn't TearFree stop it?
- Fullscreen applications often trigger direct rendering mode, which bypasses the compositor entirely. Setting TearFree at the driver level (not just the compositor) covers this case. On NVIDIA, Force Composition Pipeline must also be active because the driver controls the scanout path in all modes.
Related guides
Wayland vs X11: How to Choose and Configure Each
Know when to run Wayland or X11, how to check your current session, switch at login with GDM/SDDM/LightDM, and handle NVIDIA and XWayland edge cases.
How to Customize KDE Plasma
Customize KDE Plasma with themes, widgets, activities, and System Settings tweaks. Covers all major distros, Wayland, and config file locations.
How to Customize the GNOME Desktop
Customize GNOME with Tweaks, Extension Manager, GTK and Shell themes, keyboard shortcuts, and fixed workspaces — practical steps for GNOME 44/45.
Esperanto and Multilingual Support on Linux
Add Esperanto locale, keyboard layout, and input methods on Linux. A practical walkthrough covering GNOME, KDE, Wayland, TTY, and Fcitx5 that applies to any language.