New Acceleration Architecture for X.org

At the recent European X.Org Developers Meeting KDE developer and Trolltech employee Zack Rusin presented a new acceleration architecture named Exa (eyecandy X architecture) for X.org. Being based on KAA (KDrive acceleration architecture) it's designed to be an alternative to the currently used XAA (XFree86 acceleration architecture) with better acceleration of XRender which is used by composite managers for desktop eyecandy effects. The next X.org release which is expected to contain Exa is planned to be released in September.

Making existing graphic card drivers using XAA take advantage of Exa is said to be easy and Zack volunteered to, besides bringing Exa into X.org, to port all unmaintained graphic card drivers as soon as he gets the respective hardware in his hands. Exa is meant to improve the desktop experience and bring users some much needed eye-candy while Xgl, an X-Server layered on top of OpenGL is being worked on.

Dot Categories: 

Comments

by Erik (not verified)

Outstanding. The instant-gratification part of me is happy this is being done on two stages (KAA then Xgl) as opposed to having to wait for Xgl. Any news about the Unichrome chipset's support? I could perhaps lend a hand.

by Simon Edwards (not verified)

What kind of timetable is Xgl running on? Anyone know when we can expect it to come out?

--
Simon

by cl (not verified)

> Anyone know when we can expect it to come out?

When it's done. ;)

by cies breijs (not verified)

and even if Xgl is out we still depend on the proprietary/binary-only drivers that come with the graphic cards...
if those drivers continue to be unoptimised and of poor quality the real power of our modern graphic monsters will remain unused.

anyway, what zack is doing will probably help pushing X' desktop graphics to an acceptable level.

thanks zack!

_cies.

by Tom (not verified)

Well, apart from those of us getting reasonable performance out of the free drivers in Xorg :)

by cies breijs (not verified)

i dont know, but, is there any free (as in Freedom) driver for the recent 3D graph cards?

by Brandybuck (not verified)

No, not really. Next time don't throw away your video card just because some pimply kid makes fun of your "obsolete" system :-)

by Zak Jensen (not verified)

Hey- that statement isn't exactly fair to those of us who (inexplicably or accidentally, of course!) destroy our hardware. ;)

As far as the nVidia cards go, the (proprietary) linux drivers have performed very well. I have yet to have an issue with the speed of my rendering, and I've been using their driver for a few years now.

It supports all of the features available on windows, and it even has its own configuration program. :) nVidia seems quite devoted to the cause.

Note: I have a desktop card (GeForce), not a workstation card (Quatro (?)).

by Jonas (not verified)

You can still buy the (DRI supported) Radeon 9200s. They're really cheap, needs no fans, and some models comes with DVI so it's a perfect product right now. But they probably won't be available in another 6 months, since they will stop producing the chipsets.

by Lurchi (not verified)

Bought an 9250 some days ago. Works fine with the OS drivers, has DVI+VGA+TV, 128MB and passive cooling. It also work with AGP 2x-8x (3.3V, 1.5V and 0.8V signal level), which I needed for my really old motherboard (GA-7ixe4, SDR-RAM, Duron 700). Nice and cheap card.

If you need more power, there is the 9550, which is supported by the r200 driver, and for newer cards (r(v)3xx and r4xx series) support is on its way (http://r300.sf.net/), Quake3 already working.

by KDE User (not verified)

Haha, I love the comment about the no fans. They should hype that as a feature in fact.

I hate the fans. So noisy and annoying.

by thom (not verified)

So it's a new 2D acceleration layer which doesn't use OpenGL, how is it different from Evas ?
Is it specific to Qt and does it need any modifications beside video drivers ?

by Morty (not verified)

Its not dependent on any toolkit, not like Evas which is part of a toolkit. It's in the Xserver and not specific to Qt. It does not sound like it needs any modifications besides the video driver, it's a replacement for xaa.

by superstoned (not verified)

well, it is part of X11, and evas is not. i guess evas is specific for enlightenment...

it has nothing to do with QT, afaik, all it has to do is replace XAA (and be faster).

by Anonymous (not verified)

evas is a generic graphics library, it doesn't depend on Enlightenment, much like imlib which was also created by E crew.

by Craig Ringer (not verified)

Because evas is a fast canvas library. This is an in-driver architecture to let drivers accelerate primitive drawing operations they couldn't before, and do existing ones much more simply.

Evas (and Cairo) provide a simple and optimised way to do things like say "draw an antialiased line at 50 pt width on a 1m canvas scaled to fit my 400x400 px window" without the app author descending into sobbing fits. XAA and friends help the graphics card driver do the underlying "draw this antialiased 5pt line from (x1,y1)px to (x2,y2)px on :0.0" *really* *fast*.

Evas, Cairo, etc can't reach into the graphics driver level and use hardware specific graphics tricks. XAA and friends aren't a drawing API, they're an acceleration framework. The two really have basically nothing in common, except in that the former can use tha latter.

by jenga (not verified)

nice post. to all others doing a "what about debian" in a slack topic, leap.

by superstoned (not verified)

well, i think it is not bad to ask about technology that seems to be related. not only because it can be informative (i didn't exactly know the diferences as the parent did), but also point to duplication off efforts - which CAN be a bad thing.

by ac (not verified)

Everything of E17 is duplication, otherwise it would be a concerted effort together with X, GNOME and KDE.

by illogic-al (not verified)

since the things in E17 came first they are being duplicated. Try getting your facts straight before troll... wait nm. Trolls don't get there facts straight.

by thom (not verified)

Thanks for your answer,
So will Qt use Cairo or something similar (is it arthur) on top of EXA ?

by Anonymous (not verified)
by ac (not verified)

Qt Arthur will use XRender that is accelatered by the graphics drivers use of EXA.

by fast_rizwaan (not verified)

Thanks for improving X and Desktop experience. Thanks in advance :)

by blacksheep (not verified)

Yeah, Thanks Zack! This guy is really a talanted hacker!
Trolltech: pay him good!

by Ryan (not verified)

Plasma here we come!

by ac (not verified)

"Zack volunteered to port all unmaintained graphic card drivers as soon as he gets the respective hardware in his hands"

Where did Zack suddenly get the whole knowledge to promise and do something like that? I didn't know him doing any hardware driver development before...

by Anonymous (not verified)

Do you think that he knew something about Mozilla code before hacking on it at aKademy? :-)

by Nicolai Haehnle (not verified)

When he says "port", he really means switch some function calls around so it uses the Exa framework instead of XAA. Only the most basic primitive will actually be accelerated in hardware (and even then, only if the driver already accelerated them before).

Porting a driver to Exa appears to be really simple, due to clever design by Zack, so porting a driver is mostly a formality. Still, you obviously need to have the hardware and do testing on it (which is usually the far more time-consuming part in driver development if it's to be done right).

by Morty (not verified)

It's not needed because of the way he implemented Exa, from the anoncement "Note that you don't have to be a driver developer to switch any of those drivers."

by ac (not verified)

But it's Zack himself who made that possible so he has to already have quite a knowledge about the whole graphic card driver architecture which again involves plenty of hardware details.

by clee (not verified)

Zack is not really human. He's the last member of an advanced überprogramming alien race, kind of like Superman but with a text editor instead of laser eyes.

His only weakness? Battlestar Galactica.

by superstoned (not verified)

+5 funny

by Leon Mergen (not verified)

... let the Slashdot begin...

by mm (not verified)

Will there be any progress with subpixel antialiasing? What does Eye Candy help when the fonts are still ugly displayed (yes, I switched subpixel hinting on in KDE)

Best wishes
mm

by asdasd (not verified)

qt4 has all the features you need , help coding / porting today !!!

by Hans (not verified)

> Will there be any progress with subpixel antialiasing?

No.
Subpixel hinting is ready to use. Maybe you should select another hinting modus or activate the bytecode interpreter.

> What does Eye Candy help when the fonts are still ugly displayed

??
subpixel hinting + hinting=full gives very clear fonts.
subpixel hinting + bytecode interpreter gives *sometimes* even better fonts.

by zxcvzxvcv (not verified)

This has absolutely NOTHING to do with what's mentioned in this article.

Try enableing the Freetype Bytcode Interpreter to improve your fonts.

by Renato Sousa (not verified)

Anyone find it funny that these K-initial technologies are in no way related to KDE (in the sense that the K in their name is not from KDE)

by ac (not verified)

Nope, it's just like with the Linux kernel which uses k all the time as well. (Maybe I'm just unfunny.)

by Jake (not verified)

Which brings up a good point, we should port the kernel to Qt :)

by Zak Jensen (not verified)

Dude. Just imagine the power of QT signals in the kernel, and you can see the potential.

*ducks*

by Hans (not verified)

"make xconfig" is using qt...

by Anonymous (not verified)

That's the reason why it had to be replaced/improved ;-)...

by ac (not verified)

I use the binary 2d and 3d hardware accelerated driver from Nvidia.
Will I still see a speed/flicker improvement in X?

by Anonymous (not verified)

Nvidia signaled to support Exa in their driver.

by wangxiaohu (not verified)

Current COMPOSITE feature crashes a lot of applications. How about this one?

by Jack (not verified)

Here here!

Stability of the composite extension is erm... non existant? :)

I've gone through two graphic cards (granted, both nVidia (GeForceMX460, GeForce2GTS), and two completely different hardware platforms (Athlon 1.3, and Athlon64bit3200+), both give lockups consistantly after using xorg with the composite extension enabled after about 1Sec-1Min of use..

I want my pretty desktop damnit :P

by superstoned (not verified)

the kde composition support is much more stable for me. maybe it helps...

(so dont use xcompositemgr but enable shadows and transparancy in kwin)

by Vlad Blanton (not verified)

works good for me! nvidia geforce 6800GT with the kde configuration tool in control center.

I don't get any crashes but sometimes windows forget to stop being transparent after I move them or change the size. Oh, and some games flicker a bit.