xserver on OpenGL

Keith Whitwell keith@tungstengraphics.com
Wed, 03 Dec 2003 19:06:36 +0000


Jon Smirl wrote:
> Is working being done on this? Everyone has been so quiet since Thanksgiving.

I've been looking into it.  I'm not expecting fast progress due to work 
commitments.

At the moment, there are some choices to be made in terms of which GL do we 
really mean when we say X on GL?  It shouldn't matter in the long term, as 
Brian's IGL proposal or something like it will fill the bill.

But right now, there are choices between various not-quite-perfect alternatives:

1) Duplicate xnest and replace all the drawing code with GL stuff instead. 
This is a little clunky as I believe xnest simply passes most drawing commands 
on unchanged to the host xserver, so really we'd want to pull in some or all 
of mi,fb,kaa,xaa to decompose the drawing operations (like arcs) to things 
which are more reasonable.  Also, it's not easy to prove that all X11 
dependencies will have been removed and pure GL rendering substituted.  On the 
other hand, this approach will allow us to run on any XFree86-supported 
hardware, including nVidia, which currently is the only option with hw pbuffer 
support.

2) Duplicate one of the kdrive servers, but target one of the embedded or 
linux-solo GL platforms.  This means we do without pbuffers, and whoever runs 
this has to get linux-solo up and running as well as X.  Additionally, the 
kdrive drivers are heavily dependent on a framebuffer mapping to run fb - so 
when this driver is finished, it won't really look much like a kdrive driver. 
  But hopefully at least we'd be able to use the keyboard/mouse/etc code.
(***Keith Packard: I know you want a mapped framebuffer for ongoing 
development, I'm just interested in persuing the consequences of a 'clean' 
architecture...)

3) Something else?  (I had another choice, but it looks a little wacky so I'll 
abandon it).

> I'm still plugging away at extracting the mode setting code from X. I actually
> got it to set a mode last night. It still needs a huge amount of cleanup to
> remove all of the X dependencies that I have stubbed out. 
> 
> I still can't believe it takes over 100K of code to do mode setting. xserver is
> only 680K. But most of the mode setting code does appear to be necessary.

Gak.  Good work though - and respect for taking it on.

Keith