LWN.net Logo

Re: kernel/xorg disconnect

Re: kernel/xorg disconnect

Posted Apr 18, 2008 23:01 UTC (Fri) by tialaramex (subscriber, #21167)
In reply to: Re: kernel/xorg disconnect by Duncan
Parent article: Stable kernel 2.6.25 released

The kernel isn't going to do OpenGL. Doesn't want to do OpenGL. Doesn't need to do OpenGL.

OpenGL is huge. The kernel is interested only in mediating userspace access to your graphics
hardware. So it does not need to care whether you are sending co-ordinates mixed with color
information in the form of 16-bit "half precision" floating point values, which is something
you might do with OpenGL -- but instead only cares about whether your userspace program has
permission to write to this particular part of the card's RAM, or to twiddle some particular
register in the chipset.

And yes, like the other poster said, OpenGL already runs fine using GLX on a remote machine,
so long as you have enough bandwidth, and a good enough driver. nVidia's (sadly proprietary)
driver, plus a cheap 1000baseT network, is enough to play relatively recent 3D games on one
machine, with the display on another. I've seen Quake 3 played that way a few years back, and
one of the MMORPGs. Network transparency already applies just the same to 3D graphics as with
2D.


(Log in to post comments)

Re: kernel/xorg disconnect

Posted Apr 21, 2008 5:07 UTC (Mon) by djabsolut (guest, #12799) [Link]

The kernel isn't going to do OpenGL. Doesn't want to do OpenGL. Doesn't need to do OpenGL. OpenGL is huge. The kernel is interested only in mediating userspace access to your graphics hardware.

Do correct me if I'm wrong -- isn't the job of the kernel to not only mediate access, but also to abstract hardware? Allowing a user-space program to twiddle a particular register (chip specific, by implication) sounds like weaselly half-a-driver here and half-a-driver there approach. The second part of the driver allegedly lives in user-space, but for all intents and purposes it's an extension to the kernel -- this "user-space" program is directly banging the hardware.

Shouldn't the kernel provide a set of primitives on which a hardware-neutral OpenGL / Xorg is built in userspace ?

Re: kernel/xorg disconnect

Posted Apr 21, 2008 19:18 UTC (Mon) by Spudd86 (subscriber, #51683) [Link]

OpenGL is a massive abstraction, what might make sense is for the kernel to provide an
abstraction that is more low level and closer to the hardware than OpenGL that a generic
OpenGL implementation can be built on.

This is essentially what the Gallium3D people are working on making, although I can't recall
how much of that stuff is gonna be in kernel.

Modern 3D hardware can be driven primarily by writing to it's memory so the driver can
actually run in userspace for little or no penalty, possibly even requiring fewer transitions
from kernel to userspace and so actually being faster, this however applies slightly less to
older less general graphics hardware.

To find out lots about this sort of thing poke around on the nouveau wiki since the direction
taken by them is likely to be the direction taken by other open source drivers, and they are
moving some things into the kernel that are at the moment userspace only things.

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