The State of Linux Graphics
jonsmirl writes "I've written a lengthy article covering what I learned during the last two years building the Xegl display server. Topics include the current X server, framebuffer, Xgl, graphics drivers, multiuser support, using the GPU, and a new display server design. Hopefully it will help you fill in the pieces and build an overall picture of the graphics landscape."
There's also a discussion about this on the linux-kernel mailing list (lkml) currently - certainly worth reading:
= 1&w=2
http://marc.theaimsgroup.com/?t=112541793700006&r
quidquid latine dictum sit altum videtur.
Looking Glass is a move akin to flexing your muscles at the gym. Sun just wanted to prove "their stuff" to Microsoft and Apple, demonstrating a desktop technology demo.
It's barely usable and already been opensourced because, once shown to the press, it had little use to them.
Hack your mind out of its sandbox.
>the toolkit --> the X server --> and the driver/hw!!
i vers/hardware
>When I saw this (App->gtk+->Cairo->XRender->Xgl ->GLX(X)->GL->hw) it blew my mind..
Well it is really more like this
App->toolset->Cairo->XRender->Xgl->GLX(X)->GL->hw
|___App______||__Xserver_______________||OpenGLdr
(might not be lined up)
It is in fact the 3 part system that you think it should be, however it (for many diffent reasons) spilt up into subparts.
Like if I where to show you the way a file system works i might draw:
App->API->driver->hardware
when it is more like:
App->API->filesystem driver->device diver framework->PCI bus driver->PCI to IDE controller driver->Disk driver
It is still in the same 4 parts as it was shown in the first but this( 2nd one) is more detailed.
And as this is "News for nerds" surly we should crave the more detailed account.
If you compare the 2D performance of an ATI Rage1128, Radeon 9000, and a Radeon X850 you will discover that they all perform about the same. But if you compare 3D performance of the X850 to the R128 you will see a 500:1 improvement.
I didn't brush the open driver issue off, I simply chose not to address a topic that is the source of a lot of controversy. I am well aware of the problems of obtaining driver documentation.
X just needs to make a choice, continue with the flat-lined 2D performance or make the jump to the 3D hardware. If X chooses 3D I would much rather see if use a well designed, standardized API like OpenGL than to slowly extend the existing code base to start using 3D features like EXA does.
If you want open 3D drivers go lobby the hardware vendors to release code and specs. However, I think it is wrong for Linux to ignore the immense performance gains available from the 3D hardware on the grounds that the hardware is not completely open. Withholding use of 3D hardware on Linux will do nothing to open the vendors and it will definitely result in Linux having an inferior competitive desktop experience.
Have you considered that the opposite effect might happen? It Linux builds an excellent 3D desktop and attracts a lot of new users the hardware vendors may start to take Linux seriously and open their specs.