Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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