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.

Bookmark/Search this post with

Comments

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.

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.

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 (?)).

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.

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.

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.

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.

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.

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).

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..