Subject: Re: Mesa versions, use of GLX
To: Jason Thorpe <thorpej@shagadelic.org>
From: Matthias Drochner <M.Drochner@fz-juelich.de>
List: tech-x11
Date: 01/19/2007 23:01:03
[the GLX Xserver extension]
thorpej@shagadelic.org said:
> Seems like if the hardware doesn't do it, the capability should not be
>   sent to the clients.

I've done some limited field research on this and found that the
lack of a fallback in clients is not just some botch in the
Mesa build I have attempted or in the NetBSD reachover xfree86
structure. Every Linux bos I tried so far refuses to display
OpenGL applications on a display not GLX capable:

$ glxgears
Xlib:  extension "GLX" missing on display "localhost:10.0".
Error: couldn't get an RGB, Double-buffered visual

This is also evident if file sizes are looked at: The libGL
libraries are in the 500k order of magnitude on these boxes
which is enough for GLX passthrough but not for a software
renderer. The real thing is in an X server extension "GLcore"
(look in .../pkg/lib/xorg/modules/extensions) which is
about 2.5 MB in size.

So if we don't offer GLX in our X servers we lose interoperability
with most modern systems.

Now the question is whether we should use install OpenGL
client libraries using GLX per default. The reachover framework
does so, but this isn't used much because pkgsrc uses an own
libGL based on a newer Mesa version which does client side
software rendering only.
Noone complained so far which might mean that it shouldn't
be changed, but we lose any ability to make use of hardware
acceleration in pkgsrc that way.

best regards
Matthias