airlied ([info]airlied) wrote,
@ 2006-02-24 11:20:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Xgl vs AIGLX - the missing bit (and a rant)
While I think the Xgl and AIGLX approaches are both quite interesting, and I believe the roadmap for getting the current X server to turn into something like Xgl is quite practical.

The method thrown about is to replace XAA and EXA with an XGL acceleration method which allows drivers to use a standard OpenGL acceleration architecture accelereated via aiglx,

You might still want some of EXA pixmap management capabilities, but the acceleration layers should all be in OpenGL.

I believe you end up with Xegl without having to split the tree into a lot of separate pieces. I however do believe that the tree needs to be split, the X server needs to become a smaller piece, the current X drivers need to be using an architecture where modesetting and memory management can be split from rendering and acceleration code.

Of course while I love both ideas I believe both vendors (I know the engineers know it .. but the management might not realise how bad it is,...) are missing one point:

None of the open source DRI based drivers are stable, not one, I can probably write an OpenGL app of some sort or play a game for long enough on any single one of them and have my machine hard hang. These crashes aren't easy to debug, they take serious work, the last one I tracked down took 2-3 weeks of work to figure out, and result in a hacky workaround, not a fix. So basing our future on drivers that are not given engineering support by manufactures, i.e. driver developer gets access to all the information about bugs in the chip that the windows people get, or on closed source evil locked in drivers, is not good. Neither fglrx or nvidia are exactly stable either, nvidia is probably the closest.... Intel are probably the best, and TG are doing some interesting memory management work which will let a lot of things work a lot better, however I think the high level people in the RHs and Novells need to stop trash-talking each others engineering effort and go engage the big customers (Dells, Lenovo, HP, etc..) to put pressure on the graphics card vendors to do something about this (and maybe try not to fuck it up this time, you know who you are....).

Reverse engineering drivers while fun, isn't going to produce stability, the chips seemed to be designed around some quantum instability, and only the manufacturer knows how to get the inertial dampners to work so it doesn't crash, we can hack up an inertial dampner but every so often we manage to lose the whole crew and my desktop.

Thanks. This rant is complete.


(Post a new comment)


[info]hub_
2006-02-24 12:47 am UTC (link)
Hi,

A rant like I like: argumented.

About proprietary drivers, I found that recently: http://www.driverheaven.net/~pete/article5.htm
It is probably old news for you.

And keep up the good work.
BTW I get hard freeze with the Intel drivers too, and quite randomly with a specific 3d intensive application: celestia...

And yes, the don't-careism from PC hardware vendors (I don't know the specific bits you are refering too) is getting really annoying.

(Reply to this)


[info]ajaxxx
2006-02-24 12:51 am UTC (link)
I can't speak for anyone else, but Red Hat is in fact working to improve the vendor dialogue. I'm just an engineer, so I don't have much to do with that besides being the guy who gets to fix the bugs themselves, but we're definitely working on it.

Driver stability certainly blows, but that's not a reason to abort mission, right? Make something that's pretty good, get people expecting that it works, and eventually you pile up enough customer pressure to get the IHVs to care about X. The horse has to come before the cart here, if people aren't using blingy X and expecting it to work then no IHV is going to care if it doesn't.

(Dave, I know you know this already, I just want to make sure the logic gets written down somewhere ;)

(Reply to this)(Thread)

all
[info]sich67
2007-01-19 10:17 am UTC (link)
hello

(Reply to this)(Parent)

Hear hear
(Anonymous)
2006-02-24 12:57 am UTC (link)
This really needed to be said. Totally agree, particularly with the X server needing to become a smaller piece. Currently it's all still pretty monolithic. The X.org 7.0.0 release helped a lot, but there's still a way to go with improving the situation as a whole.

I'm using the free r300 drivers with X11R7. They're quite unstable with GL and dual monitor, but for most 2D stuff they're great, and 3D is getting there, but look at how long it's taken. The Radeon 9500 is how old now? ATI in particular, but nVidia too, need to get their act together and produce rock solid drivers that are up to date and support the latest cards. I really hate trying to get someone onto linux and then telling them that they'll need to wait for 3d drivers. As you said, unfortunately, a few X/linux hackers aren't going to convince them so we really need support from big companies.

(Reply to this)(Thread)

Re: Hear hear
[info]hub_
2006-02-24 04:39 am UTC (link)
you forgot "that are open source"

(Reply to this)(Parent)

Good read
[info]jonsmirl
2006-02-24 01:28 am UTC (link)
Since you seem to be greatly influenced by Scotty's engineering marvels I think you'll like this book staring your favorite hero. I just finished it and it is the best Star Trek book I have read in quite a while. A lot of the recent ones have been real junk.

Engines of Destiny

(Reply to this)(Thread)


[info]gravityboy
2006-02-24 02:51 am UTC (link)
Very well said. As cool as the GL stuff is looking, I want to be sure we can provide a modicum of support for people who can't use it. It's why I'm more excited about EXA than any of the other efforts personally.

(Reply to this)(Parent)(Thread)

EXA and GL
[info]jonsmirl
2006-02-24 04:20 am UTC (link)
The cards with EXA support are the same cards as with GL support. I believe there is one exception to this, a Number 9 card that is not made any more. So chasing EXA on the basis of hardware support is pointless.

(Reply to this)(Parent)

Needed Dummies Book:
[info]smitty1e
2006-02-24 02:55 am UTC (link)
X11 Projects, their Capabilities and Interrelationships for Dummies Like Smith.
Is there an acronym decoder anywhere, boss?

(Reply to this)(Thread)

Re: Needed Dummies Book:
[info]jonsmirl
2006-02-24 04:23 am UTC (link)
This article provides a lot of background on the current debate.
It is six months old so it does not cover things like AIGLX.

http://dri.freedesktop.org/~jonsmirl/graphics.html

(Reply to this)(Parent)

yeah
[info]stalynx
2006-02-24 07:56 am UTC (link)
Well engineers know who signs their checks so there is going to be some animosity between two companies and their employees. If one loses some market-share (and bling sells) then their buddies get fired or they do. It's only human nature.

Anyway with that in mind Nvidia/ATI only care so much about Linux in the sense that they will support it until it costs them money (if (profits - resources) < 0 ). They are not in it because they respect RMS and Linus or think GPL is cool, etc. They main reason they support AIGLX is a business one. They don't have the resources allocated for linux devel to write additional driver support for a X-on-OpenGL server (EGL, OpenGL ES, etc). So when I see people cite the Nvidia whitepaper as if Nvidia has Linux/OSS in its best interests it cracks me up.

Basically the Xgl/Xegl solution might make sense engineering wise in the long term and the best solution for Linux/OSS/X/* overall but it's a bad solution short-term business wise. It might be a bad solution in the business sense all around. So the possibilities are adopt AIGLX and hope Linux market share increases and therefore nvidia/ati take X-on-OpenGL more seriously. I doubt this will happen but who knows maybe Jesus will endorse Linux when he comes back and then when ATI/Nvidia will OSS their drivers and all this will be moot. The other more likely but slower/tougher/harder possibility is that the OSS community itself developes X-on-OpenGL knowing it's the best solution and hope the vendors and companies will follow. Apparently to some degree Novell believes X-on-OpenGL is the best solution but who knows, David Reveman for sure believes this. Does Red Hat believe this?

(Reply to this)(Thread)

Open Graphics project
(Anonymous)
2006-02-24 01:29 pm UTC (link)
I'd keep my eyes on the Open Graphics project:
http://wiki.duskglow.com/tiki-index.php?page=Open-Graphics

They're pretty motivated to create a graphics card whose specs AND internal design will be LGPL. This will allow the hardware to be extended by anyone in the world, and for open source drivers under Linux to support 100% of its the card's capabilities. Perhaps companies like Redhat and Novell should help fund the Open Graphics project in order to break our dependency on ATI and NVIDIA, whose selfish actions (or inactions) have proven to be the biggest stumbling block in Linux graphics development.

(Reply to this)(Parent)(Thread)

Re: Open Graphics project
(Anonymous)
2006-03-01 02:15 am UTC (link)
Yup. Open source the card design and start building. I Zapata Telephony and Linux Support Services (or whatever it was called) can get together to create Digium cards on a shoestring I think you'd find alternative hardware manufacturers more than willing to build cards to spec (open spec. that is).

It might take a long time and there could be plenty of lawyers involved of course ...

(Reply to this)(Parent)

Stability of Free 3D drivers
(Anonymous)
2006-02-24 08:44 am UTC (link)
Perhaps it is just me, but I've *never* had the Free Software 3D drivers crash on me. I play plenty of 2d and 3d games, and I write plenty of 2d and 3d software, and I've never once had any kind of freeze, lockup, or other driver problem.

On the other hand, I know several people who use the proprietary nVidia or ATI drivers, and they frequently run into stability issues caused by those drivers.

Obviously a handful of samples doesn't constitute proof; insert comment about the value of anecdotal evidence here. However, it certainly seems to back up what I've heard elsewhere: that the Free drivers are rock solid and not particularly fast, while the proprietary drivers support more hardware, run faster, and don't fare well on the stability front.

(Reply to this)(Thread)

Re: Stability of Free 3D drivers
(Anonymous)
2006-02-28 04:54 am UTC (link)
I have used Free software DRI drivers a few times. They are unstable as anything else.

Once you get them setup and running they are ok. But getting to the point were they are stable can be quite a difficult experiance sometimes.

I've used Intel 85* 'extreme blaster' on x86 and ATI 9200 DRI drivers on Powerpc.

Nowadays they are quite a bit more stable. Modern cards that have Free software drivers are Intel 'GMA' stuff with the 915/954/955 style intel chipsets and R300 ATI drivers (currently very experimental.. they are included with X.org 6.9/7.0 release, but are not compiled by default)

In my eyes the argument of the stability of 3d drivers versus 2d drivers is pointless. 2-D drivers are largely irrelevent nowadays and are only going to become more and more irrelevent as time goes on.

X.org will either provide Free 3-D drivers OR people will use Propriatory 3-D drivers. Very very few people will use just Free 2-D. 2-D acceleration will not provide the functionality that people expect...

I don't care about eye candy so much, but I want to be able to play games and I want to be able to use applications like Blender. Contrary to popular belief there are plenty of Free software games.

It's not that nobody cares about 2-D performance.. it's that time has obsoleted 2-D-only drivers. 3-D can do everything 2-D can do.

The thing about that is is that the current driver model for Linux isn't very good. It's counterproductive to providing good desktop performance and stability.

You have at least 3 drivers acting simultaniously on a single peice of hardware at any one time. You have drivers for the virtual console (framebuffer or vgaconsole or whatnot). You have drivers for 2-D (EXA or XAA) and you have drivers for 3-D like DRI. All of these things can be replaced effectively buy 3-D only.

The way it seems to me is that this is not a ideal situation. It looks like it is very difficult and expensive to acheive stability and performance for both 2-D and 3-D, which users not only expect, but require.

The way forward, as it seems to me, that is most relevent to the goal of having stable and usefull Free software drivers for video cards in Linux is to make it as easy as possible make 3-D drivers.

(Reply to this)(Parent)

(Reply from suspended user)

(Anonymous)
2008-02-19 04:42 pm UTC (link)
bolindir.com (http://www.bolindir.com)

(Reply to this)


Create an Account
Forgot your login?
Login w/ OpenID
English • Español • Deutsch • Русский…