Wednesday, October 03, 2007

Performance of radeon free drivers

The other day, i updated to KUbuntu gutsy and saw it ships a free graphics driver for my Ati X300 card (r300 based). I switched to it from the non-free driver but i have went back.

Why? Well, actually it does work, but it is slow, for example, hiding and showing again a normally sized ktuberling, takes around 180ms on the fglrx driver while it takes 550ms on the radeon driver.

But well, after all, as far as i remember they reverse engineered the driver, so i should congratulate the people doing it, it's a bit slow but works, so people that NEED a free driver or where the non-free one does not work can actually use the card now, thanks :-)

This is with driver 6.7.194 which i would say is latest released version.

UPDATE: Setting the driver to use EXA makes it go as fast or faster than fglrx driver in this scenario of swapping ktuberling windows, now i ask me why this is not the default :-S

UPDATE 2: Now blogger.com newsticker makes CPU go to 100% on both konqueror and firefox. I think i'll wait for the next iteration of the driver.

12 comments:

Diederik van der Boor said...

Not sure if it's still the case but... when I used the 'radeon' driver I had to set the "AGPMode" for AGP speed (4x, 8x, etc..). If this isn't set, the speed defaults to 1x.

Not sure if that's still the case, but it could explain some performance issues. And frankly, I think this default should change.

Anonymous said...

I tried the free driver in Xorg 1.3 (Arch Linux) and it produced a stacktrace almost immediately after starting X. Previously with Xorg 1.2 it worked (dualhead didn't though - it too segfaulted), but was terribly slow. Also many games like Doom3 were unusable. Lots of graphic errors and usually crashes. Composite was slow. Now I have to use the vesa driver with an ugly 60Hz refresh rate because nothing else works. Really great quality...

Anonymous said...

Now blogger.com newsticker makes CPU go to 100% on both konqueror and firefox. I think i'll wait for the next iteration of the driver.

Did you reported the bug? The last time I reported a bug for the xf86-video-ati driver it was fixed in 24 hours.

Anonymous said...

EXA is not the default because until xserver 1.4 it was slower than XAA, and it missed the hw render acceleration. Now it still misses the render acceleration but the EXA implementation in the server has been considerably enhanced and the driver is usable.

Dark Phoenix (Nixa) said...

Interesting, 'cause I have the exact opposite situation; my graphics card runs faster with the radeon driver than with the fglrx driver. Of course, my card's also on the expired support list, and hasn't been supported by fglrx since 9.28 or so...

Anonymous said...

I am sincerely hoping that the ATI driver situation will improve dramatically within the next year.

I have an ATI Radeon XPRESS 200M 5955 (PCIE) on my laptop and it works ok for 2d work. It even suspends and resumes fine, but no 3d is a bit of a bummer as I would have liked to use Compizfusion.

Anonymous said...

For me, only Xorg 7.1 has good performance with the X300. I've tried upgrading many times and each time, I have found X to be slow at mapping windows and drawing in general. I've reported the bug, mentioned it on mailing lists and it never really gets fixed. So I'm stuck with Xorg 7.1. Fortunately, it's really fast. It's about as snappy as Windows and even turning on compositing with Kompmgr performs great. Pretty much only Firefox scrolling is slower by any significant amount (and even then it is still pretty darn fast)

Anonymous said...

Interesting post, but i would like to understand a little bit more. Could you tell me how:

- you measure the time to show and hide ktuberling ?
- where can you see the version of the radeon drivers ?
- what are EXA and XAA ?

Links are also good. Thank you!

Anonymous said...

I've been using the r300 driver for a long time now. My experience with the closed driver was that it was a PITA vis-a-vis Debian's kernel updates (In testing / unstable), and it had mind numbing, system halting, stability issues. (I've used the closed driver and the open driver on an ATI 8500, 9800, and now X700)

With that being said, there are some gotchas with the open driver:

1. No render acceleration on anything newer than an 9200.
2. Only partial EXA support.

The AGP info on the fist post is accurate. My configuration is:

Option "AGPMode" "4" #Should support 8?
Option "DMAForXv" "on"
Option "ColorTiling" "on"
#Option "DynamicClocks" "on"
Option "VGAAccess" "on"
Option "AccelMethod" "EXA" #EXA or XAA
Option "MigrationHeuristic" "greedy" #smart, greedy, always
Option "AccelDFS" "on"
Option "AGPFastWrite" "on"
Option "EnablePageFlip" "on"
Option "RenderAccel" "on" #None yet but the day shall come
Option "GARTSize" "128"
Option "EnableDepthMoves" "on"

This pretty much represents the most agressive settings you can have. Watch AGPFastWrite it can do 'bad things'. You can actually get EXA to preform really well, if you set the migrationhuristic to 'greedy'. If you have an AGP card, try AccelDFS with EXA... You might get a hardlock. The Radeon driver defaults to a really small gartsize that can cause GLX apps to die. Set that to taste. (64 is quite probably fine, but I have memory to spare.)

The other tip I have, is if a GL app is really slow, run driconf, and disable the 'low impact fallback'. You're sacrificing correctness for speed, but sometimes it's a lot of speed.

yOSHi314 said...

i am using x300se with opensource drivers. even darkplaces runs fine with pretty high detail. (setting lights level to max causes it to drop to 1-2 fps. if you don't - it runs very smooth).

performance is acceptable. i usually mess around with videos, and xv works like a charm, even with hd videos.

ps. make sure you
- select mesa as your opengl library
- load radeon and agp kernel modules for DRI
- load dri and drm xorg modules with radeon opensource driver

before complaining about performance. it's quite good. you can't get doom3 running smooth, that's true (opensource drivers do not fully provide shaders, or other opengl 2.0/2.1 feaures yet). but besides that the driver does a very good job.

Anonymous said...

Well as you all know ATI recently decided to improve their open source support, and we should expect vastly improved drivers in the next year.

ATI will provide a skeleton for a new open source driver thats supposed to be much faster, and they've already provided access to tons of technical data.

My point is we now have the prerequisites for getting a fast, high-quality open source radeon driver. Just have to be patient.

In the meantime, I'm curious about the new proprietary ATI driver that will support X00 etc.coming out this month...

Albert Astals Cid said...

- you measure the time to show and hide ktuberling ?
Using QTime and overloading paintEvent

- where can you see the version of the radeon drivers ?
apt told me

- what are EXA and XAA ?
http://en.wikipedia.org/wiki/XFree86_Acceleration_Architecture
http://en.wikipedia.org/wiki/EXA