Long time since I posted last, I guess as I come across many Linux problems just like I did with Windows (now I use Ubuntu Server for my desktop machine), its worth getting back into this. Note that Word Press’ Javascript ‘insert link’ functionality is broken so all links will be in text.
I delayed installing 11.04 for some time due to bugs with kernel power management and the GNOME classic desktop, but this week I finally decided it was time to upgrade.
After fixing the usual minor breakage from the upgrade, one thing became apparent – video playback was fucked using the free software radeon driver. Since practically everything revolves around watching anime on this machine, that was completely unacceptable. Tearing and stuttering was obvious during pans (mplayer wasnt complaining that the cpu was too slow etc, and since I started in 9.04 video playback has been fine), making anime unwatchable.
Long story short, I read up on Phoronix (http://www.phoronix.com/scan.php?page=article&item=amd_r600g_june10&num=1) to get some familiarity with the current state of X windows rendering and did some work on how to test X configurations without logging out of your main session (which is unacceptable as this machine is essentially a server running some gui apps).
It turns out that the ‘Switch Users’ feature actually allows you to spawn multiple sessions of X running under different users – and when you login as a new user, of course the new X session’s configuration is generated/read in without affecting your normal X session. With this and after reading the radeon manpage, I was able to create the following ‘/etc/X11/xorg.conf’:
Section “Device”
Identifier “devname”
Driver “radeon”
Option “SwapbuffersWait” “off”
Option “ColorTiling” “on”
Option “EXAVSync” “on”
EndSection
SwapbuffersWait and ColorTiling are set as Phoronix said they would make 3D things faster (Minecraft is still shockingly slow – 9-15fps – so I havent really seen that), however the important option is EXAVSync.
This has stopped tearing in video playback, however I still get nasty judders visible during pans. Testing on a separate X instance showed that with the above settings, playback was almost perfect – so I assume that my normal 2D desktop session is too much for radeon to cope with any more (…).
At least I can switch over to a separate user to watch videos with this, I’d rather stick to free software and not use the proprietary driver.
If anyone has ideas of how to fight this issue further, I’m all ears (enabling the xorg-edgers PPA with the above xorg.conf actually lead to performance worse than the stock 11.04 configuration, which worries me greatly for the future).