Message ID | 20250729-mesa-libclc-panfrost-v3-6-42559ddc93ef@cherry.de |
---|---|
State | New |
Headers | show |
Series | mesa: lighten up target's libclc dependencies and fix panfrost support | expand |
On Tue, Jul 29, 2025 at 11:36:27AM +0200, Quentin Schulz wrote: > From: Quentin Schulz <quentin.schulz@cherry.de> > > According to the introducing commit log[1] and Dmitry's recollection[2], > the whole point of mesa-gl recipe is to provide GL library in case there > are vendor-provided GLES libraries. > > Therefore, let's remove EGL and GLES default PACKAGECONFIG as if people > really need them, they likely should be using the full mesa target > recipe and not mesa-gl. > > [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 > [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ > > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Please squash this into patch 1, otherwise you are fixing an error that you've just introduced. > --- > meta/recipes-graphics/mesa/mesa-gl.bb | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb > index 865b032fb0865ad0e76c3b3690eeec3d96def921..530a0c508c6868e8867ab6e60eca692610136864 100644 > --- a/meta/recipes-graphics/mesa/mesa-gl.bb > +++ b/meta/recipes-graphics/mesa/mesa-gl.bb > @@ -10,7 +10,7 @@ PACKAGECONFIG = " \ > gallium \ > video-codecs \ > ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ > + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl gbm virgl', '', d)} \ > ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ > " > > > -- > 2.50.1 > >
Hi Dmitry, On 7/29/25 1:02 PM, Dmitry Baryshkov wrote: > On Tue, Jul 29, 2025 at 11:36:27AM +0200, Quentin Schulz wrote: >> From: Quentin Schulz <quentin.schulz@cherry.de> >> >> According to the introducing commit log[1] and Dmitry's recollection[2], >> the whole point of mesa-gl recipe is to provide GL library in case there >> are vendor-provided GLES libraries. >> >> Therefore, let's remove EGL and GLES default PACKAGECONFIG as if people >> really need them, they likely should be using the full mesa target >> recipe and not mesa-gl. >> >> [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 >> [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ >> >> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> >> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> > > Please squash this into patch 1, otherwise you are fixing an error that > you've just introduced. > I've not introduced it, it's been like this for years already, I'm just moving things around in patch 1. I would argue we should have the moving and the egl/gles removal in separate commits because it highlights there was an issue with how we used to configure it. Patch 1 isn't intended to change anything in terms of behavior. I have an additional question though, should we make PACKAGECONFIG "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" like we thought it was before patch 1 in patch 6? or is what's in patch 6 good enough? We can start with that and people using mesa-gl can trim it down further if they want? What do you think? Cheers, Quentin
On Tue, 29 Jul 2025 at 14:07, Quentin Schulz <quentin.schulz@cherry.de> wrote: > > Hi Dmitry, > > On 7/29/25 1:02 PM, Dmitry Baryshkov wrote: > > On Tue, Jul 29, 2025 at 11:36:27AM +0200, Quentin Schulz wrote: > >> From: Quentin Schulz <quentin.schulz@cherry.de> > >> > >> According to the introducing commit log[1] and Dmitry's recollection[2], > >> the whole point of mesa-gl recipe is to provide GL library in case there > >> are vendor-provided GLES libraries. > >> > >> Therefore, let's remove EGL and GLES default PACKAGECONFIG as if people > >> really need them, they likely should be using the full mesa target > >> recipe and not mesa-gl. > >> > >> [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 > >> [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ > >> > >> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > >> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> > > > > Please squash this into patch 1, otherwise you are fixing an error that > > you've just introduced. > > > > I've not introduced it, it's been like this for years already, I'm just > moving things around in patch 1. Yep... Maybe then this can be a separate commit before #1 - fix mesa-gl PACKAGECONFIG. > > I would argue we should have the moving and the egl/gles removal in > separate commits because it highlights there was an issue with how we > used to configure it. Patch 1 isn't intended to change anything in terms > of behavior. > > I have an additional question though, should we make PACKAGECONFIG > "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', > '', d)}" like we thought it was before patch 1 in patch 6? or is what's > in patch 6 good enough? We can start with that and people using mesa-gl > can trim it down further if they want? I'd say, replace ??= with = in patch 0. It should be fine then. > > What do you think? > > Cheers, > Quentin
On 7/29/25 4:46 PM, Dmitry Baryshkov wrote: > On Tue, 29 Jul 2025 at 14:07, Quentin Schulz <quentin.schulz@cherry.de> wrote: >> >> Hi Dmitry, >> >> On 7/29/25 1:02 PM, Dmitry Baryshkov wrote: >>> On Tue, Jul 29, 2025 at 11:36:27AM +0200, Quentin Schulz wrote: >>>> From: Quentin Schulz <quentin.schulz@cherry.de> >>>> >>>> According to the introducing commit log[1] and Dmitry's recollection[2], >>>> the whole point of mesa-gl recipe is to provide GL library in case there >>>> are vendor-provided GLES libraries. >>>> >>>> Therefore, let's remove EGL and GLES default PACKAGECONFIG as if people >>>> really need them, they likely should be using the full mesa target >>>> recipe and not mesa-gl. >>>> >>>> [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 >>>> [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ >>>> >>>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> >>>> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> >>> >>> Please squash this into patch 1, otherwise you are fixing an error that >>> you've just introduced. >>> >> >> I've not introduced it, it's been like this for years already, I'm just >> moving things around in patch 1. > > Yep... Maybe then this can be a separate commit before #1 - fix > mesa-gl PACKAGECONFIG. > Actually we can do better I believe. In patch 5, I remove support for native and nativesdk support, so I can make :class-target the default without an override and remove :class-native as well. Essentially, we wouldn't modify anything in terms of behavior until we remove support for native/nativesdk recipes (hence no need to actually fix the PACKAGECONFIG value for native/nativesdk). Does that work for you? Would look like: """ commit 0656461de69559057c7c5d49f124ac2702920e0f Author: Quentin Schulz <quentin.schulz@cherry.de> Date: Tue Jul 29 11:15:23 2025 +0200 mesa-gl: make recipe target only According to the introducing commit log[1] and Dmitry's recollection[2], the whole point of mesa-gl recipe is to provide GL library in case there are vendor-provided GLES libraries. Therefore, let's make this recipe target only by removing the BBCLASSEXTEND variable. Because it is a target-only recipe, we can make class-target overrides the default value of the variable(s) and remove the class-native override. No intended change in behavior for the target recipe. [1] https://git.yoctoproject.org/poky/commit/?id=015cb13a67c672de30f5384dab5ab4b8db305281 [2] https://lore.kernel.org/openembedded-core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ Suggested-by: Ross Burton <ross.burton@arm.com> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index bdb4920572..e4e66a762d 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -6,19 +6,8 @@ PROVIDES = "virtual/libgl virtual/mesa" TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" -PACKAGECONFIG = " \ - gallium \ - video-codecs \ - ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ -" - -PACKAGECONFIG:class-target = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" +PACKAGECONFIG = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau svga" PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" -PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau svga" - -BBCLASSEXTEND = "native nativesdk" """ Cheers, Quentin
On 30/07/2025 12:20, Quentin Schulz wrote: > On 7/29/25 4:46 PM, Dmitry Baryshkov wrote: >> On Tue, 29 Jul 2025 at 14:07, Quentin Schulz >> <quentin.schulz@cherry.de> wrote: >>> >>> Hi Dmitry, >>> >>> On 7/29/25 1:02 PM, Dmitry Baryshkov wrote: >>>> On Tue, Jul 29, 2025 at 11:36:27AM +0200, Quentin Schulz wrote: >>>>> From: Quentin Schulz <quentin.schulz@cherry.de> >>>>> >>>>> According to the introducing commit log[1] and Dmitry's >>>>> recollection[2], >>>>> the whole point of mesa-gl recipe is to provide GL library in case >>>>> there >>>>> are vendor-provided GLES libraries. >>>>> >>>>> Therefore, let's remove EGL and GLES default PACKAGECONFIG as if >>>>> people >>>>> really need them, they likely should be using the full mesa target >>>>> recipe and not mesa-gl. >>>>> >>>>> [1] https://git.yoctoproject.org/poky/commit/? >>>>> id=015cb13a67c672de30f5384dab5ab4b8db305281 >>>>> [2] https://lore.kernel.org/openembedded- >>>>> core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ >>>>> >>>>> Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> >>>>> Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> >>>> >>>> Please squash this into patch 1, otherwise you are fixing an error that >>>> you've just introduced. >>>> >>> >>> I've not introduced it, it's been like this for years already, I'm just >>> moving things around in patch 1. >> >> Yep... Maybe then this can be a separate commit before #1 - fix >> mesa-gl PACKAGECONFIG. >> > > Actually we can do better I believe. In patch 5, I remove support for > native and nativesdk support, so I can make :class-target the default > without an override and remove :class-native as well. > > Essentially, we wouldn't modify anything in terms of behavior until we > remove support for native/nativesdk recipes (hence no need to actually > fix the PACKAGECONFIG value for native/nativesdk). Does that work for you? > > Would look like: > """ > commit 0656461de69559057c7c5d49f124ac2702920e0f > Author: Quentin Schulz <quentin.schulz@cherry.de> > Date: Tue Jul 29 11:15:23 2025 +0200 > > mesa-gl: make recipe target only > > According to the introducing commit log[1] and Dmitry's > recollection[2], > the whole point of mesa-gl recipe is to provide GL library in case > there > are vendor-provided GLES libraries. > > Therefore, let's make this recipe target only by removing the > BBCLASSEXTEND variable. > > Because it is a target-only recipe, we can make class-target overrides > the default value of the variable(s) and remove the class-native > override. > > No intended change in behavior for the target recipe. > > [1] https://git.yoctoproject.org/poky/commit/? > id=015cb13a67c672de30f5384dab5ab4b8db305281 > [2] https://lore.kernel.org/openembedded- > core/5ebxxyvkcur3zpef5krvyizomgdgtls4qau7s2i2mgcmvs2loy@ilcud37qk6sn/ > > Suggested-by: Ross Burton <ross.burton@arm.com> > Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> > > diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes- > graphics/mesa/mesa-gl.bb > index bdb4920572..e4e66a762d 100644 > --- a/meta/recipes-graphics/mesa/mesa-gl.bb > +++ b/meta/recipes-graphics/mesa/mesa-gl.bb > @@ -6,19 +6,8 @@ PROVIDES = "virtual/libgl virtual/mesa" > > TARGET_CFLAGS = "-I${STAGING_INCDIR}/drm" > > -PACKAGECONFIG = " \ > - gallium \ > - video-codecs \ > - ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', > d)} \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles I'd really prefer not to get egl / gles into mesa-gl at all. Would it be possible to do it other way around first drop native / nativesdk classes in mesa-gl, then move PACKAGECONFIG? > gbm virgl', '', d)} \ > - ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ > -" > - > -PACKAGECONFIG:class-target = "opengl gallium > ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" > +PACKAGECONFIG = "opengl gallium ${@bb.utils.contains('DISTRO_FEATURES', > 'x11', 'x11', '', d)}" > > PACKAGECONFIG:append:x86 = " libclc gallium-llvm intel amd nouveau svga" > PACKAGECONFIG:append:x86-64 = " libclc gallium-llvm intel amd nouveau > svga" > PACKAGECONFIG:append:i686 = " libclc gallium-llvm intel amd nouveau svga" > -PACKAGECONFIG:append:class-native = " libclc gallium-llvm amd nouveau > svga" > - > -BBCLASSEXTEND = "native nativesdk" > > """ > > Cheers, > Quentin
diff --git a/meta/recipes-graphics/mesa/mesa-gl.bb b/meta/recipes-graphics/mesa/mesa-gl.bb index 865b032fb0865ad0e76c3b3690eeec3d96def921..530a0c508c6868e8867ab6e60eca692610136864 100644 --- a/meta/recipes-graphics/mesa/mesa-gl.bb +++ b/meta/recipes-graphics/mesa/mesa-gl.bb @@ -10,7 +10,7 @@ PACKAGECONFIG = " \ gallium \ video-codecs \ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 vulkan wayland glvnd', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm virgl', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl gbm virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan', 'zink', '', d)} \ "