17 November 2009

Kubuntu Karmic Koala and Radeon 9600 Mobility M10 (RV350) xorg.conf magic

The upgrade to Kubuntu 9.10 "Karmic Koala" threw me back to the glorious 90s, when installing Linux would invariably require long battles with the infamous XFree config files. Hours and hours wasted trying out magic incantations in order to escape the brutal world of command-line interfaces. !FUN

Anyway, here's a bit background: basically, ATI stopped releasing proprietary Linux drivers for their old cards. So you can either use the old drivers, or move to the open-source ones (a complete rewrite, which only recently got good enough for real use). But here's the problem: the version of (KDE window manager) KWin shipped with Karmic crashes horribly with the old ATI drivers, and recent Xorg releases don't really work well with them anyway. So you haven't much of a choice: move to the free drivers and thank Stallman for inventing the cure to the annoying problem of manufacturers dropping support for products after less than five years.

The problem with the open-source drivers, however, is that running with default parameters will give you shockingly bad perfomance, especially for 2D (weird). I was forced to delve into xorg.conf and turn on all the "turbo-boost" switches I could find. At the moment, I'm getting decent result with the following parameters:

Section "Device"
Identifier      "Configured Video Device"
Driver  "radeon"
Option  "AccelDFS"              "on"
Option  "AccelMethod"           "XAA"
Option  "MigrationHeuristic"    "smart" # "greedy" works well also
Option  "EnablePageFlip"        "on"
Option  "EnableDepthMoves"      "on"
Option  "ColorTiling"           "on"
Option  "FBTexPercent"          "0"
Option  "AGPMode"               "4" # this is the real kicker
Option  "TripleBuffer"          "true"
EndSection

Note AccelMethod being set to XAA. In the future that will probably be EXA (which apparently is a newer algorithm), but my experiments with it included too many crashes for my taste.

There are a few other parameters that I scavenged from Google and man radeon, but they mostly resulted in crashes on my machine (tbh, I'm not sure they were always the guilty party, but better safe than sorry):

  • "AGPSize" "128" -- from what I understand, this should just be the amount of video RAM you have.
  • "EXAOptimizeMigration" "on" -- relevant only if you use EXA
  • "XAANoOffscreenPixmaps" "on" -- no idea what this is, but my card doesn't like it
  • "BIOSHotkeys" "on" -- my screen-related Fn-* hotkeys work anyway, even without this parameter
  • "AGPFastWrite" "on" -- this hangs X on my laptop (Rock Pegasus Ti)

I put this here so I may remember to search my blog next time instead of wasting time going through random forum threads, but I hope it may be of help to fellow Radeon linuxers. All in all, KDE 4.3 is lovely, but it kinda reminded me that five years is quite a long lifespan for a laptop.

6 comments:

zeppo said...

I created an xorg.conf file in /etc/X11 using your suggestion and I'm getting much better performance. Thank you for taking the time to work this out.

Also, my Firefox browser seemed to lock up the whole machine once in a while with the default settings (i.e. no xorg.conf file). There was no way out; I had to use the power switch to reboot. With the new settings Firefox seems to be much more stable.

Andrew said...

Thanks for the tips, GiacomoL, but alas even with your modifications, video is still horribly jerky on my Radeon 9600 under Karmic.

Video is a really important aspect of what I use my PC for; with this kind of performance, and with my graphics card now no longer supported (for Linux, at least) by ATI, I may have to abandon Linux completely and go back to XP.

If anyone HAS solved this problem, I'd love to hear from you!

Anonymous said...

Thank you, thank you, thank you. Huge improvement.

southpole said...

wow, just copied and pasted the above lines to a fresh xorg.conf and i'm back in the 2000's (or rather 2010's since this morning). awesome. thanks a lot!

nomiz said...

Really boosted performance on my Ubuntu Karmic. glxgearswent from 9000- to 15000+ !! Great job, thans!

PapaRaven said...

How awesome is it that you persevered, and that I have the exact same video as you. That is to say, thanks!