Story / scenario opener
You are scrolling through a video or dragging a window, and the image splits horizontally. The top half moves while the bottom half lags behind. It looks like the screen cracked. This is screen tearing. It happens when the GPU sends frames faster than the monitor can refresh. Fedora gives you the tools to fix this, but the right tool depends on your hardware and your session type.
What's actually happening
Think of your monitor as a flipbook. The GPU draws pages and hands them to the monitor. The monitor flips pages at a fixed speed, usually 60 or 144 times per second. If the GPU hands over a new page while the monitor is still flipping the old one, the monitor shows half the old page and half the new page. That split is the tear.
VSync solves this by making the GPU wait until the monitor is ready. Wayland handles this in the compositor automatically. Xorg requires explicit configuration to enable frame synchronization. The fix changes based on whether you are running Intel, AMD, or NVIDIA hardware, and whether you are on Wayland or Xorg.
Check your driver and session
Before changing settings, confirm which GPU and driver are active. The fix changes based on the hardware. You also need to know if you are running Wayland or Xorg.
Run these commands to identify the driver and session type.
# Identify the GPU model and kernel driver in use
lspci -k | grep -A 3 -i vga
# Check the OpenGL renderer string for driver details
glxinfo | grep "OpenGL renderer"
# Print the current display server type
echo $XDG_SESSION_TYPE
Run lspci first. Guessing the driver wastes time.
Switch to Wayland
Fedora's default GNOME session runs on Wayland. Wayland compositors synchronize frames automatically. Tearing is rare on Wayland with modern drivers. If you are on Xorg, switching to Wayland is the fastest fix.
Log out of your session. Click the gear icon on the login screen. Select GNOME instead of GNOME on Xorg. Log in. The compositor now handles frame synchronization.
Switch to Wayland. The compositor handles synchronization for you.
Intel and AMD on Xorg
If you must use Xorg with Intel or AMD hardware, enable TearFree. This option forces the driver to buffer frames and synchronize with the display refresh rate.
Config files in /etc/ are user-modified. Files in /usr/lib/ ship with the package. Edit /etc/. Never edit /usr/lib/.
Create a configuration snippet in /etc/X11/xorg.conf.d/. The filename must end in .conf.
# /etc/X11/xorg.conf.d/20-intel.conf
# Create this file to enable TearFree for Intel GPUs on Xorg
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
# Buffer frames to synchronize with the display refresh rate
Option "TearFree" "true"
EndSection
On modern Fedora, Intel GPUs use the modesetting driver by default. The intel driver is legacy. If your system uses modesetting, the TearFree option still works, but you must set Driver "modesetting" in the config. Check lspci -k to see which driver is active.
For AMD GPUs, the config is similar.
# /etc/X11/xorg.conf.d/20-amdgpu.conf
# Create this file to enable TearFree for AMD GPUs on Xorg
Section "Device"
Identifier "AMD Graphics"
Driver "amdgpu"
# Buffer frames to synchronize with the display refresh rate
Option "TearFree" "true"
EndSection
Restart the display manager to apply the changes. This logs out all users. Save work before running.
# Restart the display manager to apply Xorg config changes
# This logs out all users; save work before running
sudo systemctl restart gdm
Edit /etc/X11/xorg.conf.d. Never touch /usr/lib/X11.
NVIDIA on Xorg and Wayland
NVIDIA hardware requires the proprietary driver. Fedora does not ship the driver by default. Install it from RPM Fusion.
Fedora uses akmod packages to build kernel modules on demand. The driver compiles against your current kernel during installation. If you upgrade the kernel, the module rebuilds automatically on the next boot.
# Install the NVIDIA driver module from RPM Fusion
# Requires RPM Fusion enabled; run dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm first if missing
sudo dnf install -y akmod-nvidia
# Reboot to load the kernel module and build the driver
sudo systemctl reboot
After rebooting, confirm the driver is active.
# Verify the NVIDIA driver is loaded and report GPU status
nvidia-smi
For Xorg sessions, enable ForceFullCompositionPipeline. This forces the driver to composite all frames through the X server, eliminating tearing.
# /etc/X11/xorg.conf.d/20-nvidia.conf
# Enable full composition pipeline to fix tearing on NVIDIA Xorg
Section "Device"
Identifier "NVIDIA"
Driver "nvidia"
# Force the driver to composite all frames through the X server
Option "ForceFullCompositionPipeline" "On"
# Triple buffering reduces stutter when vsync is forced
Option "TripleBuffer" "On"
EndSection
For NVIDIA on Wayland, you need DRM kernel mode setting. This allows the kernel to manage the display, which Wayland requires.
# Check if the kernel parameter is already active
cat /proc/cmdline | grep nvidia-drm
# Add the parameter to all kernels if missing
# This enables DRM kernel mode setting required for Wayland
sudo grubby --update-kernel=ALL --args="nvidia-drm.modeset=1"
Reboot after grubby changes. Kernel parameters do not reload at runtime.
Verify it worked
Run a simple OpenGL test to check for smooth rendering.
# Install a simple OpenGL test if not present
sudo dnf install -y mesa-demos
# Run the test and watch for smooth rotation
glxgears
Scroll a long page. If the text stays solid, the fix worked.
Common pitfalls
Editing /usr/lib/X11/xorg.conf.d/ causes your config to vanish on the next package update. The package manager overwrites files in /usr/lib/. Always place custom snippets in /etc/X11/xorg.conf.d/.
If sudo systemctl restart gdm hangs or you lose the session, check the logs.
# Check GDM logs for errors after a config change
# The -u flag filters by unit, -e jumps to the end
journalctl -xeu gdm
TearFree adds input latency. If you play competitive games, you might prefer tearing over input lag. Disable the option for gaming sessions.
NVIDIA on Wayland fails silently if nvidia-drm.modeset=1 is missing. The system falls back to Xorg or shows a black screen. Always verify the kernel parameter with cat /proc/cmdline.
Check journalctl -xeu gdm. The log tells you why the session failed.
When to use this vs alternatives
Use Wayland when you want tearing fixed automatically without manual configuration. Use Xorg with TearFree when you rely on legacy applications that break on Wayland. Use ForceFullCompositionPipeline when you are stuck on NVIDIA Xorg and need frame synchronization. Use nvidia-drm.modeset=1 when you want NVIDIA hardware acceleration on Wayland. Stay on Xorg without fixes only when you need maximum performance for competitive gaming and can tolerate visual artifacts.
Match the tool to the hardware. Wrong config breaks the display.
Where to go next
- How to Fix No Sound on Fedora (Complete Troubleshooting Guide)
- Fix sound issues
- How to Fix "No Space Left on Device" Error on Fedora (Even When There Is Space)
Read the sound guide. Audio and video often share the same pipeline.