Xgl server

Brian Paul brian.paul at tungstengraphics.com
Fri Nov 5 16:27:55 PST 2004


Jon Smirl wrote:
> On Fri, 05 Nov 2004 01:03:05 +0100, David Reveman <c99drn at cs.umu.se> wrote:
> 
>>I've been doing some work to get an X server running on top of
>>OpenGL/glitz and I've got something that works pretty well now. I stuck
>>the code into the "xserver" tree and './configure --enable-xglserver'
> 
> 
> Have you tried it on a fast ATI/NVidia driver, how's performance?
> Did you use pbuffers?
> What is an example of something that can't be accelerated?
> 
> I'm still working on mesa-solo. There is still a lot of work to do
> there. Main problem is that mesa-solo relies on fbdev for mode suppot.
> fbdev only supports one head so I'm in the process of adding second
> head support to fbdev. I also need to merge fbdev and drm to make them
> stop fighting over the hardware.  DRM is in pretty good shape now,
> most of the work needed is in fbdev. All hardware drivers in mesa are
> missing pbuffer support. If any one wants to help with this there is
> plenty of work to do.
> 
> I would really like to see an XGL running on mesa-solo. It is Linux's
> answer to Longhorn.

Yeah, long-term, we certainly don't want to have to run two X servers.

A while back I suggested designing a very simple OpenGL glue interface 
for creating/managing rendering contexts, drawing surfaces, etc. that 
the GL-based X server could layer upon.  It would also work for people 
wanting to do X-less GL applications.

mesa-solo (aka mini-glx) serves that purpose now, but it's kind of a 
hack (the emulation of the GLX and basic Xlib functions is kind of icky).

It occured to me that maybe the EGL interface (part of the OpenGL ES 
standard) could be used instead.

The EGL spec can be found here:  http://www.khronos.org/opengles/spec.html

One potential advantage to using the EGL interface is the fact that it 
might be supported by other hardware vendors.  Suppose, 
hypothetically, that NVIDIA were to support EGL.  Then, the GL-based X 
server could run on it (instead of a full X server).

One thing with EGL is that it's designed to interface with an existing 
window system, like X or WGL.  See eglCreateWindowSurface() for 
example.  But, I think a "pure" EGL implementation is possible with a 
little work.

-Brian



More information about the xorg mailing list