Re: Why run xserver on the OpenGL API?

Keith Whitwell <keith-CdwZJljFklH+2FeEXyspIVaTQe2KTcn/@public.gmane.org>
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
Jon Smirl wrote:
> --- Keith Packard <[email protected]> wrote:
> 
>>>2) With OpenGL under xserver all windows will always have the OpenGL API
>>>available. xlib can slowly phased out. OpenGL is a well designed API
>>
>>suitable of
>>
>>>the next 10 years. 
>>
>>I'm not sure this is desirable; with the 2D Render API sitting atop GL 
>>where GL is available, having apps use that API will still let us run 
>>reasonably fast software implementations, Mesa still has a lot of 
>>overhead, especially on machines with limited CPU performance (or a lack 
>>of an FPU, like arm machines).

There's only a limited window of time where these incomplete machines will 
continue to exist.  I'm told we'll be seeing full GL implementations right 
down to cellphone devices within a year or so.  I don't think it's wise to 
design to a disappearing anomoly - ie non-GL capable hardware.

> Limited machines could just continue to use the existing xlib API and existing
> xservers.
> 
> What you don't want to do is make OpenGL an option in the new desktop servers.
> If it is a known fact that OpenGL will be in every freedesktop xserver no matter
> what the hardware, then apps will get written to use it. But if OpenGL is an
> option, few people will write to it - that's the state we're in right now.
> Instead they will stick with the 'standard' xlib API because it will be more
> 'compatible'. Every window created on the xserver needs to support OpenGL from
> day one.

I hadn't thought this through, but it makes a lot of sense.

> Apps that are targeted to tiny machines will use xlib. freedesktop xserver will
> of course support xlib as a compatility mode. Besides, whose to say that we
> won't see OpenGL on tiny machines, that's what EmbeddedGL is all about. keithw
> can give us some size numbers for EmbeddedGL.

Even embedded GL is a bit of a mistake for broad deployments for the reason 
listed above - all new hardware will support full GL very soon.

> Even if we shipped a fully OpenGL enabled xserver today it will still take years
> for a significant number of apps to get converted. Converting toolkits to OpenGL
> will be a big help. But we need to get the full 3D conversion in motion since we
> don't want to end up five years from now with all MS apps converted and nothing
> happening on Linux. The decision to convert the industry to 3D hardware has
> already been made (because of MS); we just have to decide if Linux to going to
> take advantage of it.

I really like this long view you're taking, Jon.

Keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.