[Mesa-maintainers] Recommendations for building Mesa with LIBGLVND support

Stefan Dirsch sndirsch at suse.de
Fri Mar 17 14:07:46 UTC 2017


On Thu, Mar 16, 2017 at 04:58:18PM +0000, Emil Velikov wrote:
> On 16 March 2017 at 16:10, Stefan Dirsch <sndirsch at suse.de> wrote:
> > On Wed, Mar 15, 2017 at 05:15:09PM +0100, Stefan Dirsch wrote:
> >> Hi,
> >>
> >> I'm wondering whether there are recommendations for building Mesa with
> >> LIBGLVND support.
> >>
> >> Should one build libglvnd with EGL/GLES support?
> >>
> >> But then in order to avoid file conflicts one probably needs to build Mesa
> >> without EGL/GLES1/GLES2 support resulting in missing headers for EGL/GLES and
> >> additional issues. Or build it with EGL/GLES1/GLES2 support, but just not
> >> package the libs, but the headers?
> >>
> >> Plan is also to support NVIDIA's LIBGLVND driver version. They ship special
> >> EGL/GLES libs AFAIK, so a EGL/GLES dispatcher would be required I guess.
> >>
> >> Anybody with experience in this area, who can give me a hint?
> >
> In general the EGL parts still needs some love, despite that some
> distros have decided to include it.

I see.

> The fact that pretty much nobody wants to review the patches gives in
> interesting vibe. 

I feel sorry to hear this.

> That aside:
> 
>  - build mesa with --enable-glvnd
> it will produce a libGLX_mesa.so and the usual "conflicting" libGLES*
> and libEGL files.
>  - former is fine, while for the latter you'll need your current
> workaround(s).

Not sure, why the former (GLES) conflict is fine. Currently I don't have a
workaround for the latter (EGL) unless I use the patches, which I found at
Arch Linux. Which I believe address that issue. Not tested though.

> Note: you will need to ship libglapi.so which is used by all
> components of Mesa - same as before.

I do. Just the DRI drivers weren't linked against it, so this failed. This is

https://bugs.freedesktop.org/show_bug.cgi?id=98428
https://git.archlinux.org/svntogit/packages.git/tree/trunk/0001-glapi-Link-with-glapi-when-built-shared.patch?h=packages/mesa

> > BTW, I can't get LIBGLVND working at all.
> >
> > (EE) AIGLX error: dlopen of /usr/lib64/dri/swrast_dri.so failed
> > (/usr/lib64/dri/swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)
> > (EE) GLX: could not load software renderer
> > (II) GLX: no usable GL providers found for screen 0
> >
> > # glxinfo
> > name of display: :0.0
> > Error: couldn't fine RGB GLX visual or fbconfig
> >
> > # glxgears
> > Error: couldn't get an RGB, Double-buffered visual
> >
> > I'm using libglvnd dc16f8c337703ad141f83583a4004fcf42e07766
> > and Mesa 17.0.1. Of course I'm building Mesa with
> >
> >   --enable-libglvnd
> >
> > Any ideas what's going wrong here or what to do to investigate this?
> >
> Yes the issue is well known and there was a bug report with
> suggestions and discussed downsides. Myself/Ian requested some
> clarification from Adam who seems to have disappeared :-(
> 
> See: https://bugs.freedesktop.org/show_bug.cgi?id=98428
> Note: [some of] the patches in there are broken :-)

Right. See my comment above.

> I'm finishing up some fixes in out glsl tests ... which haven't been
> run in ~2 years. I should have that one done today.

Sounds good.

> Afterwords my aim, is to investigate the issue in the bug report, and
> polish the GLVND EGL stuff for 17.1

This sounds promising. Is it recommended to use git master for testing
LIBGLVND support? Meanwhile I guess so. ;-)

Thanks,
Stefan

Public Key available
------------------------------------------------------
Stefan Dirsch (Res. & Dev.)   SUSE LINUX GmbH
Tel: 0911-740 53 0            Maxfeldstraße 5
FAX: 0911-740 53 479          D-90409 Nürnberg
http://www.suse.de            Germany 
---------------------------------------------------------------
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham
Norton, HRB 21284 (AG Nürnberg)
---------------------------------------------------------------


More information about the Mesa-maintainers mailing list