LWN.net Logo

I hate Linux Graphics (Linux Hater's Blog)

I hate Linux Graphics (Linux Hater's Blog)

Posted Jul 2, 2008 18:22 UTC (Wed) by drag (subscriber, #31333)
In reply to: I hate Linux Graphics (Linux Hater's Blog) by mmarq
Parent article: I hate Linux Graphics (Linux Hater's Blog)

[quote]Where does Gallium3D and DRI2 will lead ??... how can they interoperate ??... what is
the
mission statement ?? ... the possible goals ??[/quote]


Well...

Gallium3D and/or DRI2 will match modern hardware design. Modern GPU and OpenGL 'acceleration'
really is just a software OpenGL stack optimized so that portions of it gets executed on your
CPU and other portions get executed on your GPU. They are also programmable, with dynamic
pipelines, dynamic memory management, and their own programming languages (aka shader
languages). 

All three biggies.. Intel, ATI, and Nvidia are moving towards a 'hybrid' GPU/CPU design were
they are even more open to programming. (although with different directions... Nvidia seems to
be aiming at a proprietary software shim to separate hardware changes from software, Intel
seems to want to extend the x86 ISA to include graphics, ATI/AMD probably want to keep both
the GPU and CPU seperate and just get a standardized graphics ISA.. Not sure, I am not a
expert on this stuff) Possibly this is one of the reasons why ATI and Intel are starting to be
much more open then they have in the past. Basically, in the distant future, when you compile
a application then the GCC would be able to optimize it so that it can take advantage of the
GPU as another processor core, as a extension to the x86 ISA. Like Altivac for PPC, or how the
IBM/Sony Cell processor works, and MMX or whatever. Extra core, extra registers you can take
advantage of. Ultimately how all this works out, I don't know. 

Once Linux graphics gets caught up in the driver design department it will allow X/Linux to be
competitive. Once it's competitive people will start to be able to take more advantage of it,
it will get more commercial attention, more money, more developers being paid to devote more
time to X, more help from graphic card manufacturers. 

Just like the Linux kernel itself was ignored by large vendors until it got the capability of
actually being useful for heavier workloads. Then with commercial backing (think: 2.4 to 2.6
transition) they were able to match, and often surpass, any contemporary OS in terms of
flexibility and performance. 


-------------------------------------------------

As far as X and normal people are concerned one of big rewards of moving to a Gallium or other
3D based acceleration API, as well as kernel level mode setting and memory management, is that
we can move X off the hardware.

You know how OpenBSD spent so much effort with privilege separation to improve security, and
all the sacrifices that went along with it? How about eliminating the need for root access at
all and still be able to keep all the graphical goodness?

... well once we get good driver model done then we can eliminate the DDX portion of X.org.
That is move X off the hardware, get it out of the business of setting up PCI devices... Once
we get X using regular generic graphic APIs, just like any other application, then that will
lead to have X running entirely under the user's user account. No need for root access.  No
need for anything like that. 

Imagine the usability, stability, and security improvements that we can get from Linux by
making it so that X is just another application. That we can run a GUI with no need for root
permissions. Multiple users, safer networking, easier time running and developing with
multiple versions of X. Easier virtualization etc etc etc.

When X crashes or some application takes over the display and fails, eliminating the user's
ability to interact with the machine, we won't have to worry about that screwing up any
hardware drivers and requiring the entire machine to shutdown.

Instead of having to coordinate between VGA/framebuffer drivers, DRM drivers, DDX drivers, DRI
drivers.. we can eliminate all that complexity and go with just a DRI2/Gallium3D based system
and kernel-level DRM interface. Simpler, more portable, better performing, easier to get
improvements. 



(Log in to post comments)

I hate Linux Graphics (Linux Hater's Blog)

Posted Jul 2, 2008 21:10 UTC (Wed) by Sutoka (guest, #43890) [Link]

Another advantage of moving the drivers out of the X server is that it'd be far easier to
completely replace Xorg. Currently if you want to write your own complete windowing system
you'd also have to deal with the very low level stuff of writing a video driver (or porting
one from X), with Gallium3D and friends you'd be able to target a generic API like OpenGL 3
(or another low level API that specializes in this sort of thing) and not have to spend close
to as much time on that hardware-specific stuff.

We probably wouldn't be saying goodbye to Xorg (or X11) anytime soon after Gallium is ready,
but just like Xegl/Xgl and other like-projects, the ideas and gained knowledge could always be
used to imporve Xorg. I'm personally quite excited about what Gallium means for the future of
the Linux desktop, it seems like the current bottleneck is Xorg, with both the Linux kernel
being quite kick ass (wrt non-graphics) and everything above X in dire need of more room to
expand.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds