* [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs
@ 2025-09-12 13:44 Dmitry Baryshkov
2025-09-12 13:44 ` [PATCH 2/2] vulkan-loader: depend on the Vulkan ICD package Dmitry Baryshkov
2025-09-14 9:40 ` [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Mathieu Dubois-Briand
0 siblings, 2 replies; 4+ messages in thread
From: Dmitry Baryshkov @ 2025-09-12 13:44 UTC (permalink / raw)
To: openembedded-core
In order to let BSPs easily select OpenCL and Vulkan Installable Client
Drivers, add two virtual package names: virtual-opencl-icd and
virtual-vulkan-icd.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
meta/recipes-graphics/mesa/mesa.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc
index 5dee19fae9ea..3f09cfd4df21 100644
--- a/meta/recipes-graphics/mesa/mesa.inc
+++ b/meta/recipes-graphics/mesa/mesa.inc
@@ -219,6 +219,10 @@ CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS"
# Remove the mesa dependency on mesa-dev, as mesa is empty
DEV_PKG_DEPENDENCY = ""
+# Provide virtual names to allow selecting preferred rproviders
+RPROVIDES:mesa-vulkan-drivers += "virtual-vulkan-icd"
+RPROVIDES:libopencl-mesa += "virtual-opencl-icd"
+
# GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa.
# Add a dependency so the GLES3 dev package is associated with its implementation.
RPROVIDES:libgles2-mesa += "libgles3-mesa"
--
2.47.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] vulkan-loader: depend on the Vulkan ICD package
2025-09-12 13:44 [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Dmitry Baryshkov
@ 2025-09-12 13:44 ` Dmitry Baryshkov
2025-09-14 9:40 ` [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Mathieu Dubois-Briand
1 sibling, 0 replies; 4+ messages in thread
From: Dmitry Baryshkov @ 2025-09-12 13:44 UTC (permalink / raw)
To: openembedded-core
Instead of pulling Mesa Vulkan drivers via RRECOMMENDS, make use of the
new virtual-vulkan-icd package name, letting BSP layers specify a
differnt preferred Vulkan driver.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
meta/recipes-graphics/vulkan/vulkan-loader_1.4.321.0.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.4.321.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.4.321.0.bb
index 772705dff756..31e6e43a3287 100644
--- a/meta/recipes-graphics/vulkan/vulkan-loader_1.4.321.0.bb
+++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.4.321.0.bb
@@ -31,7 +31,7 @@ PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
-RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
+RDEPENDS:${PN} = "virtual-vulkan-icd"
# These recipes need to be updated in lockstep with each other:
# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools,
--
2.47.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs
2025-09-12 13:44 [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Dmitry Baryshkov
2025-09-12 13:44 ` [PATCH 2/2] vulkan-loader: depend on the Vulkan ICD package Dmitry Baryshkov
@ 2025-09-14 9:40 ` Mathieu Dubois-Briand
2025-09-15 9:46 ` Dmitry Baryshkov
1 sibling, 1 reply; 4+ messages in thread
From: Mathieu Dubois-Briand @ 2025-09-14 9:40 UTC (permalink / raw)
To: dmitry.baryshkov, openembedded-core
On Fri Sep 12, 2025 at 3:44 PM CEST, Dmitry Baryshkov via lists.openembedded.org wrote:
> In order to let BSPs easily select OpenCL and Vulkan Installable Client
> Drivers, add two virtual package names: virtual-opencl-icd and
> virtual-vulkan-icd.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Hi Dmitry,
Thanks for your patches.
It looks like it is introducing some build issue:
ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Unable to install packages. Command '/srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/opkg.conf -t /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/temp/ipktemp/ -o /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/rootfs --force-postinstall --prefer-arch-to-version install kernel-devsrc opkg packagegroup-base-extended packagegroup-core-boot packagegroup-core-eclipse-debug packagegroup-core-sdk packagegroup-core-ssh-openssh packagegroup-core-standalone-sdk-target packagegroup-core-tools-debug packagegroup-core-tools-profile packagegroup-core-tools-testapps packagegroup-core-x11-base packagegroup-core-x11-sato psplash run-postinsts ssh-pregen-hostkeys' returned 1:
Solver encountered 1 problem(s):
Problem 1/1:
- package packagegroup-core-tools-testapps-1.0-r0.qemuarm64 requires mesa-demos, but none of the providers can be installed
- package mesa-demos-9.0.0-r0.cortexa57 requires libvulkan1 >= 1.4.321.0, but none of the providers can be installed
- conflicting requests
- nothing provides virtual-vulkan-icd needed by libvulkan1-1.4.321.0-r0.cortexa57
Solution 1:
- do not ask to install a package providing packagegroup-core-tools-testapps
https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2366
https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/2395
Can you have a look at this issue please?
Thanks,
Mathieu
--
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs
2025-09-14 9:40 ` [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Mathieu Dubois-Briand
@ 2025-09-15 9:46 ` Dmitry Baryshkov
0 siblings, 0 replies; 4+ messages in thread
From: Dmitry Baryshkov @ 2025-09-15 9:46 UTC (permalink / raw)
To: Mathieu Dubois-Briand; +Cc: openembedded-core
On Sun, Sep 14, 2025 at 11:40:32AM +0200, Mathieu Dubois-Briand wrote:
> On Fri Sep 12, 2025 at 3:44 PM CEST, Dmitry Baryshkov via lists.openembedded.org wrote:
> > In order to let BSPs easily select OpenCL and Vulkan Installable Client
> > Drivers, add two virtual package names: virtual-opencl-icd and
> > virtual-vulkan-icd.
> >
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> > ---
>
> Hi Dmitry,
>
> Thanks for your patches.
>
> It looks like it is introducing some build issue:
>
> ERROR: core-image-sato-sdk-1.0-r0 do_rootfs: Unable to install packages. Command '/srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/recipe-sysroot-native/usr/bin/opkg --volatile-cache -f /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/opkg.conf -t /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/temp/ipktemp/ -o /srv/pokybuild/yocto-worker/qemuarm64-alt/build/build/tmp/work/qemuarm64-poky-linux/core-image-sato-sdk/1.0/rootfs --force-postinstall --prefer-arch-to-version install kernel-devsrc opkg packagegroup-base-extended packagegroup-core-boot packagegroup-core-eclipse-debug packagegroup-core-sdk packagegroup-core-ssh-openssh packagegroup-core-standalone-sdk-target packagegroup-core-tools-debug packagegroup-core-tools-profile packagegroup-core-tools-testapps packagegroup-core-x11-base packagegroup-core-x11-sato psplash run-postinsts ssh-pregen-hostkeys' returned 1:
> Solver encountered 1 problem(s):
> Problem 1/1:
> - package packagegroup-core-tools-testapps-1.0-r0.qemuarm64 requires mesa-demos, but none of the providers can be installed
> - package mesa-demos-9.0.0-r0.cortexa57 requires libvulkan1 >= 1.4.321.0, but none of the providers can be installed
> - conflicting requests
> - nothing provides virtual-vulkan-icd needed by libvulkan1-1.4.321.0-r0.cortexa57
>
> Solution 1:
> - do not ask to install a package providing packagegroup-core-tools-testapps
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/9/builds/2366
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/2/builds/2395
>
> Can you have a look at this issue please?
I see. The config requires vulkan feature, but Mesa doesn't provide
vulkan drivers, so there is no mesa-vulkan-drivers package (and thus no
virtual-vulkan-icd provider).
I'll keep RRECOMMENDS, making sure that it's possible to build the
system wthout actual Vulkan drivers.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-09-15 9:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-12 13:44 [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Dmitry Baryshkov
2025-09-12 13:44 ` [PATCH 2/2] vulkan-loader: depend on the Vulkan ICD package Dmitry Baryshkov
2025-09-14 9:40 ` [OE-core] [PATCH 1/2] mesa: add PROVIDES for Vulkan and OpenCL ICDs Mathieu Dubois-Briand
2025-09-15 9:46 ` Dmitry Baryshkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox