diff mbox series

[v3,8/8] qemu.inc: handle GLVND-related providers

Message ID 20250616161037.1518306-8-dmitry.baryshkov@oss.qualcomm.com
State New
Headers show
Series [v3,1/8] mesa: fix RPROVIDEd package names | expand

Commit Message

Dmitry Baryshkov June 16, 2025, 4:10 p.m. UTC
If GLVND is enabled, then libglvnd is providing all OpenGL / ES
libraries. Tune qemu.inc to select a correct package in
this case.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 meta/conf/machine/include/qemu.inc | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Mark Hatle June 16, 2025, 8:20 p.m. UTC | #1
On 6/16/25 11:10 AM, Dmitry Baryshkov via lists.openembedded.org wrote:
> If GLVND is enabled, then libglvnd is providing all OpenGL / ES
> libraries. Tune qemu.inc to select a correct package in
> this case.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
>   meta/conf/machine/include/qemu.inc | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
> index d7392d476238..4fa18812dbc3 100644
> --- a/meta/conf/machine/include/qemu.inc
> +++ b/meta/conf/machine/include/qemu.inc
> @@ -1,9 +1,9 @@
>   PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
> -PREFERRED_PROVIDER_virtual/egl ?= "mesa"
> -PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
> -PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
> -PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
> -PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
> +PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> +PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> +PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> +PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> +PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"

The above is interesting.  The defaults for these are already specified in the 
distro/include/default-provders.inc.  This should be where this kind of change 
goes (or in a specific distro or other conf file if the defaults are overwritten.)

Setting these in qemu seems like a duplicate and really looks like the wrong 
thing to duplicate unless there is a specific machine reason to override the 
default provider for the system.

Unless this doesn't work, I'd simply remove the entries from qemu.inc.

(you already dropped the other duplicates in the qemu files, which is definitely 
the right thing to do.)

--Mark

>   XSERVER ?= "xserver-xorg \
>               ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#218842): https://lists.openembedded.org/g/openembedded-core/message/218842
> Mute This Topic: https://lists.openembedded.org/mt/113673610/3616948
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mark.hatle@kernel.crashing.org]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Dmitry Baryshkov June 17, 2025, 10:25 a.m. UTC | #2
On Mon, 16 Jun 2025 at 23:20, Mark Hatle <mark.hatle@kernel.crashing.org> wrote:
>
>
>
> On 6/16/25 11:10 AM, Dmitry Baryshkov via lists.openembedded.org wrote:
> > If GLVND is enabled, then libglvnd is providing all OpenGL / ES
> > libraries. Tune qemu.inc to select a correct package in
> > this case.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > ---
> >   meta/conf/machine/include/qemu.inc | 10 +++++-----
> >   1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
> > index d7392d476238..4fa18812dbc3 100644
> > --- a/meta/conf/machine/include/qemu.inc
> > +++ b/meta/conf/machine/include/qemu.inc
> > @@ -1,9 +1,9 @@
> >   PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
> > -PREFERRED_PROVIDER_virtual/egl ?= "mesa"
> > -PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
> > -PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
> > -PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
> > -PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
> > +PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> > +PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> > +PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> > +PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
> > +PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
>
> The above is interesting.  The defaults for these are already specified in the
> distro/include/default-provders.inc.  This should be where this kind of change
> goes (or in a specific distro or other conf file if the defaults are overwritten.)
>
> Setting these in qemu seems like a duplicate and really looks like the wrong
> thing to duplicate unless there is a specific machine reason to override the
> default provider for the system.

I think there is a difference between DISTRO-induced defaults and
MACHINE specifics. But I agree here, it should be fine to drop those
defaults.

>
> Unless this doesn't work, I'd simply remove the entries from qemu.inc.
>
> (you already dropped the other duplicates in the qemu files, which is definitely
> the right thing to do.)
>
> --Mark
>
> >   XSERVER ?= "xserver-xorg \
> >               ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \
> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#218842): https://lists.openembedded.org/g/openembedded-core/message/218842
> > Mute This Topic: https://lists.openembedded.org/mt/113673610/3616948
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mark.hatle@kernel.crashing.org]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta/conf/machine/include/qemu.inc b/meta/conf/machine/include/qemu.inc
index d7392d476238..4fa18812dbc3 100644
--- a/meta/conf/machine/include/qemu.inc
+++ b/meta/conf/machine/include/qemu.inc
@@ -1,9 +1,9 @@ 
 PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
-PREFERRED_PROVIDER_virtual/egl ?= "mesa"
-PREFERRED_PROVIDER_virtual/libgl ?= "mesa"
-PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
-PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"
-PREFERRED_PROVIDER_virtual/libgles3 ?= "mesa"
+PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
+PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
+PREFERRED_PROVIDER_virtual/libgles1 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
+PREFERRED_PROVIDER_virtual/libgles3 ?= "${@bb.utils.contains('DISTRO_FEATURES','glvnd','libglvnd','mesa',d)}"
 
 XSERVER ?= "xserver-xorg \
             ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-swrast xserver-xorg-extension-glx', '', d)} \