NOTE: ATI’s most recent drivers now include a no tearing option in the driver control panel. Enabling it there is now the preferred method.
Two of the linux machines that I use both have ATI graphics cards from the 4xxx series in them. They work well enough for what I do, very casual gaming, lots of video watching, but one thing has always bothered me to no end: video tearing. I assumed that this was due to vsync being off by default (probably for performance sake) but even after installing the proprietary drivers in the new Ubuntu 10.04 and trying to force it on I still could not get the issue to resolve itself. After some long googling I found what seems to be a solution, at least in my case. I’ll walk you through what I did.
Before you continue read this: In order to fix this issue on my computers I had to trash xorg.conf and start over. If you are afraid you are going to ruin yourself, or if you have a custom setup already, please be very careful and read before doing what I suggest or don’t continue at all. Be sure to make a backup!
1 ) Install the ATI proprietary drivers and restart so that they can take effect.
2 ) Make a backup of your xorg.conf file. Do this by opening a terminal and copying it to a backup location. For example I ran the following code:
sudo cp /etc/X11/xorg.conf /etc/X11/backup.xorg.conf
3 ) Remove your existing (original) xorg.conf file:
sudo rm /etc/X11/xorg.conf
4 ) Generate a new default xorg.conf file using aticonfig (that’s two dashes below):
sudo aticonfig –initial
5 ) Enable video syncing (again two dashes before each command):
sudo aticonfig –sync-video=on –vs=on
6 ) If possible also enable full anti-aliasing:
sudo aticonfig –fsaa=on –fsaa-samples=4
7 ) Restart now so that your computer will load the new xorg.conf file.
8 ) Open up Catalyst Control Center and under 3D -> More Settings make sure the slider under Wait for vertical refresh is set to Always On.
That should be it. Please note that this trick may not work with all media players either (I noticed Totem seemed to still have some issues). One other thing I tried in VLC was to change the video output to be OpenGL which seemed to help a lot.