From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: John Ernberg <j@j-ernberg.se>,
buildroot@buildroot.org, Adam Ford <aford173@gmail.com>,
Bernd Kuhls <bernd@kuhls.net>,
Joseph Kogut <joseph.kogut@gmail.com>,
Romain Naour <romain.naour@gmail.com>
Subject: Re: [Buildroot] [RFC PATCH] package: {libgl, libglvnd, mesa3d}: Propagate libglvnd GL provider to libgl dependencies
Date: Mon, 19 Oct 2026 09:40:54 +0200 [thread overview]
Message-ID: <atXItOiRRP2j79zR@windsurf> (raw)
In-Reply-To: <atWwZGNSjbN0GrwD@landeda>
Hello,
On Mon, Oct 19, 2026 at 07:53:40AM +0200, Yann E. MORIN wrote:
> > On Sun, Oct 18, 2026 at 06:06:51PM +0200, John Ernberg wrote:
> > Thanks for this new iteration. It is really annoying that mesa3d needs
> > libglvnd, as it prevents from doing the natural thing:
> > libgl -> libglvnd -> real OpenGL provider -> mesa3d
> > In the end this indeed means that the only option is to do something
> > like this:
> > libgl -> libglvnd
> > -> real OpenGL provider
>
> Is this for build dependencies?
Yes, because right now we have:
[GL-using package] -> libgl -> libglvnd
And separately
mesa3d -> libglvnd
which means that [GL-using package] can be built before mesa3d, except
that libglvnd doesn't provide *all* what is needed to act as a GL
provider, for example it doesn't provide dri.pc.
> AFAIR, the actual GL providers do depend on libglvnd at build time,
> so we'd have:
>
> [GL-using package] -> libgl -> libglvnd
> mesa3d -/
>
> I wonder if should further have this:
>
> [GL-using package] -> libgl -> libglvnd
> \-> mesa3d -/
I'm afraid I don't understand your diagrams :-/
> ... even though the libgl -> mesa3d would be here just to ensure build
> ordering, and there would be nothing from mesa3d that the [GL-using
> package] would use at build time in practice. I think...
And that's where you're not correct, and that's the whole point of
John's patch in the first place. Check out his commit log for details.
> libglvnd would allow having multiple GL (GLES, EGL, let's call all of
> that just "GL" to simplify) providers at the same time on the same
> system.
>
> For example, some boards have two GPUs, one integrated and one discrete.
>
> The idea of a series I sent back then [0], was when libglvnd was _not_
> enabled in the configuration, then we could have only one GL provider,
> i.e. the case currently. But when libglvnd was enabled, then multiple
> GL provider could be enabled in the same configuration.
>
> At the time, libglvnd was relatively new, nad only mesa3d had
> support for it; the nvidia package we had (and that we still have,
> AFAICS) was too old, but newer versions (IIRC) do support being
> installed so as to be found by libglvnd.
>
> So, the idea was to bump nvidia-driver, but that stalled for various
> reasons...
>
> Then, we need to also check which other GL providers can be configured
> with libglnvd support.
>
> > So shouldn't we drop libglvnd entirely?
>
> Depends if Buildroot eventually want to support boards with two GPU, one
> integrated and one (or more) discrete. This happens.
That is understood, but libglvnd was introduced in 2020, we're in late
2026 and nobody has enabled any other GL provider to be
libglvnd-capable. So it seems like this dual GPU use case is currently
of no interest to Buildroot users?
Essentially, I'm trying to figure out whether we should:
(1) Fix this libglvnd issue by adding more complexity
or
(2) Re-simplify everything by dropping libglvnd entirely
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-10-19 7:41 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-18 16:06 [Buildroot] [RFC PATCH] package: {libgl, libglvnd, mesa3d}: Propagate libglvnd GL provider to libgl dependencies John Ernberg
2026-10-18 20:41 ` Thomas Petazzoni via buildroot
2026-10-18 20:57 ` John Ernberg
2026-10-19 7:42 ` Thomas Petazzoni via buildroot
2026-10-19 5:53 ` Yann E. MORIN via buildroot
2026-10-19 7:40 ` Thomas Petazzoni via buildroot [this message]
2026-10-19 9:54 ` Yann E. MORIN via buildroot
2026-10-19 12:23 ` Thomas Petazzoni via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=atXItOiRRP2j79zR@windsurf \
--to=buildroot@buildroot.org \
--cc=aford173@gmail.com \
--cc=bernd@kuhls.net \
--cc=j@j-ernberg.se \
--cc=joseph.kogut@gmail.com \
--cc=romain.naour@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.