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

Emil Velikov emil.l.velikov at gmail.com
Tue Mar 21 16:17:38 UTC 2017


On 21 March 2017 at 15:30, Stefan Dirsch <sndirsch at suse.de> wrote:
> On Fri, Mar 17, 2017 at 03:07:46PM +0100, Stefan Dirsch wrote:
>> > 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.
>
> I guess I misunderstood that a bit. ;-) With former you've likely meant
>
>   * it will produce a libGLX_mesa.so
>
> with latter
>
>   * the usual "conflicting" libGLES* and libEGL files
>
> The conflicting libEGL files issue has been addressed by a NVIDIA employee
> apparently: Kyle Brenneman <kbrenneman at nvidia.com>
>
>   https://lists.freedesktop.org/archives/mesa-dev/2017-January/139578.html
>   https://lists.freedesktop.org/archives/mesa-dev/2017-January/139727.html
>
> Not upstreamed yet, but received at least a reviewed by
>
>   Adam Jackson <ajax at redhat.com>
>
> in January after after Dylan Baker reviewed the patch already in September
>
>   https://lists.freedesktop.org/archives/mesa-dev/2016-September/128716.html
>
> I've applied both patches and it apparently fixes the libEGL conflict issue
> for me. If I understood correctly you planned to add NVIDIA's libglvnd EGL
> support to Mesa 17.1 - after polishing it.
>
Yes, pretty much.

> So what's missing is GLES support for libglvnd builds in Mesa. At least this
> is my understanding with NVIDIA and maybe also other vendors replacing these
> libs with theirs.
>
Libraries such as libGL, libGLX libOpenGL and the GLES ones are to be
provided by GLVND. On the backend/Vendor side - be that Mesa, Nvidia
and/or others, one needs to provide a lib{GLX,EGL}_$vendor [and
whatever components those require - like libglapi.so and
$hardware_dri.so for Mesa].

Emil


More information about the Mesa-maintainers mailing list