Re: [poky] How to override mesa VULKAN_DRIVERS and GALLIUMDRIVERS variables?

Alexander Kanavin <[email protected]> Mon, 4 Aug 2025 12:15:34 +0200
Newsgroups org.yoctoproject.lists.poky
Message-ID <CANNYZj9gh1ucaFOtcCPScawXGT25O4MHfcAiJ=EYf-cUhXcX-Q@mail.gmail.com>
On Sun, 3 Aug 2025 at 08:28, trent.piepho via lists.yoctoproject.org
<[email protected]> wrote:
>
> I'd like to change the value of these.
>
> However, they are set like this:
> VULKAN_DRIVERS = ""
> VULKAN_DRIVERS:append:x86 = ",intel,amd"
> VULKAN_DRIVERS:append:x86-64 = ",intel,amd"
> ...
> VULKAN_DRIVERS:append ="${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}"
>
> Setting VULKAN_DRIVERS in an bbappend or machine conf file to something like "intel" doesn't work, because the append actions still append to that value all additional drivers.
> Trying to remove other drivers with something like VULKAN_DRIVERS:remove = ",amd" doesn't work either, as remove only matches on word boundaries and the list is command delimited, not space delimited.

VULKAN_DRIVERS is basically internal to the recipe. You need to set
PACKAGECONFIG for mesa to include the needed set:

VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'freedreno', ',freedreno', '', d)}"
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'broadcom', ',broadcom', '', d)}"
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'gallium-llvm', '${VULKAN_DRIVERS_LLVM}', '', d)}"
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'imagination', ',imagination-experimental', '', d)}"
VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG',
'panfrost', ',panfrost', '', d)}"
etc.

It's possible something is missing in the above, in which case,
patches to fix that are welcome.

Alex