[RFC PATCH xserver 0/5] Server-side vendor neutral dispatch for GLX

Adam Jackson ajax at redhat.com
Wed Aug 30 18:58:23 UTC 2017

The idea here is that the DDX creates a GLX provider during AddScreen,
and then GlxExtensionInit walks the list of created providers and calls
their setup functions to initialize GLX for a screen. If you have
heterogeneous GPUs in a Zaphod setup this would let you have GLX on
both. If you often change between drivers with different GLX stacks,
this lets the driver ask for the right thing instead of requiring
xorg.conf changes.

That's a lie, of course, because in this series the xfree86 DDX doesn't
implicitly register a provider for you. I'm not sure what the best way
to handle this is. I'd like not to have to touch every driver, and I'd
like it if the DRI2 provider was only probed if the screen called
DRI2ScreenInit, and I'd like it if that didn't rely knowing which order
CallCallbacks was going to walk its list; I may not get everything I
want. It might be worth just teaching the vnd layer about the swrast
provider and letting it claim any otherwise-unclaimed screens, even
though that feels like a layering violation.

Other things that aren't quite handled yet:

- autotools build system
- windows and osx builds
- dmx not ported
- libglx should be loadable for more than just xfree86

Still, feedback much appreciated.

- ajax

More information about the xorg-devel mailing list