While I normally post about Arch Linux, as that’s what I currently use, a friend recently asked how to get rid of his screen tearing issues. He’s using an AMD graphics card, and is running Ubuntu Gnome with open source AMD drivers. Currently for Ubuntu 16.04, no proprietary drivers are being offered for AMD cards (note this method is only intended for open source drivers anyhow). Basing myself off my previous post, I had him setup a configuration file to correct the tearing.
Update: Seems this configuration is effective for many different systems, according to feedback, including Mint, OpenSUSE and Gentoo. I expect it will work with most systems, with the exception of those with hybrid graphics. It’s most likely using Xorg-server 1.19 or Wayland may correct such issues.
In /usr/share/X11/xorg.conf.d/ directory, edit (or create) a file called 20-radeon.conf (look for amdgpu.conf for users with the amdgpu drivers) with the following contents:
Section "Device" Identifier "Radeon" Driver "radeon" Option "TearFree" "on" EndSection
The key here is the TearFree option. After saving this, restart the X server (running restart gdm can suffice). Be sure to save any work and close applications first, as this will log out any users utilizing the graphical front-end. A modified version of this configuration may also improve performance, by utilizing DRI (direct rendering infrastructure) 3, which has certain improvements for the way the X server handles rendering. Also enabling Glamor (if not enabled already by default) can improve 2D rendering tasks, performing them through Mesa’s OpenGL libraries. Note older AMD cards will not support Glamor. The enhanced configuration is as follows:
Section "Device" Identifier "Radeon" Driver "radeon" Option "TearFree" "on" Option "DRI" "3" Option "AccelMethod" "glamor" EndSection