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