On Mon, Feb 11, 2019 at 12:09:26PM +0100, Michel Dänzer wrote: > On 2019-02-08 11:43 p.m., Kyle Brenneman wrote: > > > > Also, is Mesa the only client-side vendor library that works with the > > Xorg GLX module? I vaguely remember that there was at least one other > > driver that did, but I don't remember the details anymore. > > AFAIK, the amdgpu-pro OpenGL driver can work with the Xorg GLX module > (or its own forked version of it).
Maybe the amdgpu-pro OpenGL driver uses a fork of the Xorg GLX module (or sets the "GlxVendorLibrary" X configuration option?), but it doesn't look to me like the in-tree Xorg GLX module could report anything other than "mesa" for GLX_VENDOR_NAMES_EXT, without custom user configuration. GLX_VENDOR_NAMES_EXT, which client-side glvnd uses to pick the libGLX_${vendor}.so to load, is implemented in the Xorg GLX module with this: xserver/glx/glxcmds.c:__glXDisp_QueryServerString(): case GLX_VENDOR_NAMES_EXT: if (pGlxScreen->glvnd) { ptr = pGlxScreen->glvnd; break; } pGlxScreen->glvnd appears to be assigned here, defaulting to "mesa", though allowing an xorg.conf override via the "GlxVendorLibrary" option: xserver/glx/glxdri2.c:__glXDRIscreenProbe(): xf86ProcessOptions(pScrn->scrnIndex, pScrn->options, options); glvnd = xf86GetOptValString(options, GLXOPT_VENDOR_LIBRARY); if (glvnd) screen->base.glvnd = xnfstrdup(glvnd); free(options); if (!screen->base.glvnd) screen->base.glvnd = strdup("mesa"); And swrast unconditionally sets pGlxScreen->glvnd to "mesa": xserver/glx/glxdriswrast.c:__glXDRIscreenProbe(): screen->base.glvnd = strdup("mesa"); Is there more to this that I'm missing? > -- > Earthling Michel Dänzer | http://www.amd.com > Libre software enthusiast | Mesa and X developer _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev