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

Emil Velikov emil.l.velikov at gmail.com
Mon Mar 20 17:19:06 UTC 2017


On 17 March 2017 at 14:07, Stefan Dirsch <sndirsch at suse.de> wrote:
> 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
>
Doing the link might lead to some subtle breakage, which I'm planning to test.

>> > 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. ;-)
>

None of the EGL GLVND work is upstream yet, but otherwise do give
master a try. Props to the Intel CI {amongst others) it's should be in
fairly good shape.

-Emil


More information about the Mesa-maintainers mailing list