How to Fix KDE Plasma Screen Tearing on Fedora

Fix KDE Plasma screen tearing on Fedora by enabling the Present backend in your X11 driver configuration file.

Screen tearing splits frames during fast motion

You drag a terminal window across the desktop and the text fractures horizontally. The top half of the window lags a few pixels behind the bottom half. You scroll a web page and the content shimmers like a damaged LCD panel. Screen tearing makes the interface feel unresponsive and breaks immersion during video playback or gaming. This artifact appears most frequently on Intel integrated graphics or when the X11 compositor loses synchronization with the display driver.

What causes the split

Screen tearing happens when the GPU finishes rendering a frame while the monitor is in the middle of scanning out the previous one. The display controller shows part of frame A and part of frame B simultaneously. Think of a flipbook where you turn the page halfway through the viewer's glance. The viewer sees the old drawing on the left and the new drawing on the right.

In X11, the graphics driver and the window compositor must coordinate the buffer swap. Without explicit synchronization, the driver may push a new frame to the framebuffer at any time. The present extension forces the driver to wait for the vertical blank interval before swapping buffers. This alignment ensures the monitor receives a complete frame during the refresh cycle. The result is a smooth image without horizontal splits.

Fedora defaults to Wayland for most desktop sessions. Wayland handles buffer synchronization at the protocol level, so tearing is rare. If you are seeing tearing, you are likely running an X11 session. KDE Plasma on Fedora defaults to Wayland unless you have a proprietary driver requirement or explicitly selected X11 at the login screen. Check your session type before applying X11-specific fixes.

Enable the present backend

The fix requires a configuration snippet that tells the X server to use the present backend for your graphics driver. This forces buffer swaps to align with the monitor's refresh cycle. Fedora uses the kernel modesetting driver for Intel and AMD GPUs by default. The configuration targets this driver.

Identify your graphics hardware and create the configuration directory if it does not exist.

# lspci lists all PCI devices. grep -i vga filters for graphics controllers.
# The -k flag shows kernel drivers in use. This confirms which driver to target.
lspci -k | grep -A 3 -i vga

# /etc/X11/xorg.conf.d holds user configuration overrides.
# The -p flag creates parent directories automatically if they are missing.
sudo mkdir -p /etc/X11/xorg.conf.d

Write the configuration file that enables the present backend for your driver. Replace intel with amdgpu if your hardware is AMD. Do not use this config for Nvidia proprietary drivers.

# tee writes the heredoc to the file with root privileges.
# /dev/null discards the stdout copy so the terminal output stays clean.
# The filename 20-intel.conf ensures this config loads after package defaults.
sudo tee /etc/X11/xorg.conf.d/20-intel.conf > /dev/null <<EOF
Section "Device"
    # Identifier names this config block. It does not need to match the driver name.
    Identifier "intel"
    # modesetting is the generic kernel DRM driver.
    # Fedora uses this for Intel and AMD instead of legacy user-space drivers.
    Driver "modesetting"
    # Present "true" enables the present extension.
    # This forces the driver to synchronize buffer swaps with the vertical blank.
    Option "Present" "true"
EndSection
EOF

Configuration files in /etc/X11/xorg.conf.d/ override defaults shipped in /usr/lib/X11/xorg.conf.d/. Always edit files in /etc. Package updates will overwrite /usr/lib but leave /etc untouched. This preserves your changes across system upgrades.

Log out and back in. The X server must restart to read the new config.

Verify the configuration

Restart your X session to apply the changes. A full reboot is not required unless the X server fails to restart cleanly. Drag a window across the screen to test for tearing. If the artifact persists, check the logs to confirm the extension loaded.

Check the X server log to confirm the present extension initialized without errors.

# /var/log/Xorg.0.log contains the full X server startup trace.
# grep searches for the present extension initialization message.
# A successful load prints a line confirming the extension is enabled.
grep -i present /var/log/Xorg.0.log

The output should include a line similar to (II) modesetting(0): Present extension enabled. If you see no output or an error, the configuration file has a syntax error or targets the wrong driver.

Check the Xorg log. If the extension is missing, the syntax is wrong.

Common pitfalls

The modesetting driver does not apply to Nvidia GPUs using the proprietary driver. Nvidia users should not create a modesetting config file. Screen tearing on Nvidia is often resolved by enabling the full composition pipeline. Open nvidia-settings, navigate to X Server Display Configuration, and check "Force Full Composition Pipeline". Alternatively, create a 20-nvidia.conf file with Option "TripleBuffer" "true" in the Device section.

KDE Plasma uses KWin as the compositor. KWin can introduce tearing if the compositor itself is disabled or misconfigured. Ensure the compositor is active before blaming the driver.

Verify KWin is running and compositing is enabled.

# qdbus6 queries the D-Bus interface of KWin on Plasma 6.
# This command checks if the compositor is currently active.
# A return value of true means compositing is on.
qdbus6 org.kde.KWin /Compositor compositingActive

If the command returns false, open System Settings, go to Display and Monitor, and enable "Enable compositing". Some users disable compositing to reduce CPU usage, but this removes the synchronization layer that prevents tearing.

The legacy intel driver is deprecated on Fedora. If you use Driver "intel" in your config, the file may not apply. Fedora switched to the kernel i915 driver with modesetting years ago. Check lspci -k to see which driver is in use. The config must match the active driver.

A syntax error in the conf file causes Xorg to ignore the section. Ensure the Section and EndSection tags are balanced and quotes are correct. The X server logs warnings for unparseable configs.

Verify the driver name. A config for the wrong driver does nothing and clutters your system.

Choose the right approach

Use the present backend fix when you are on X11 with Intel or AMD graphics and see horizontal splits during fast motion. Use Wayland as your primary session when you want tearing handled automatically by the protocol and do not rely on legacy X11-only applications. Use nvidia-settings composition pipeline when you are on the proprietary Nvidia driver and need to force full composition to eliminate tearing. Use the legacy intel driver config only when you are running an unsupported EOL Fedora release that predates the modesetting transition. Stay on the default configuration if your hardware is modern and the compositor is running without visible artifacts.

Where to go next