[Buildroot] [PATCH 3/4] package/mesa3d: add freedreno vulkan driver config

Romain Naour romain.naour at smile.fr
Sun Mar 8 22:25:31 UTC 2026


Hello Joseph,

Le 28/02/2026 à 00:14, Joseph Kogut a écrit :
> Signed-off-by: Joseph Kogut <joseph at anodize.com>
> ---
> Tested with:
>   BR2_PACKAGE_MESA3D=y
>   BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO=y
>   BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO=y
> 
> $ utils/test-pkg -p mesa3d -c mesa-freedreno-vdrm.config -a
>                              arm-aarch64 [ 1/32]: OK
>                bootlin-aarch64-glibc-old [ 2/32]: SKIPPED
>                    bootlin-aarch64-glibc [ 3/32]: OK
>                bootlin-arcle-hs38-uclibc [ 4/32]: OK
>                     bootlin-armv5-uclibc [ 5/32]: OK
>                      bootlin-armv7-glibc [ 6/32]: OK
>                       bootlin-armv7-musl [ 7/32]: OK
>                    bootlin-armv7m-uclibc [ 8/32]: SKIPPED
>                 bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED
>                bootlin-m68k-68040-uclibc [10/32]: OK
>              bootlin-microblazeel-uclibc [11/32]: SKIPPED
>                   bootlin-mips64el-glibc [12/32]: OK
>                    bootlin-mipsel-uclibc [13/32]: SKIPPED
>                 bootlin-mipsel32r6-glibc [14/32]: SKIPPED
>                  bootlin-openrisc-uclibc [15/32]: SKIPPED
>            bootlin-powerpc-e500mc-uclibc [16/32]: SKIPPED
>         bootlin-powerpc64le-power8-glibc [17/32]: SKIPPED
>                    bootlin-riscv32-glibc [18/32]: SKIPPED
>                    bootlin-riscv64-glibc [19/32]: SKIPPED
>                     bootlin-riscv64-musl [20/32]: SKIPPED
>                  bootlin-s390x-z13-glibc [21/32]: SKIPPED
>                       bootlin-sh4-uclibc [22/32]: SKIPPED
>                     bootlin-sparc-uclibc [23/32]: SKIPPED
>                    bootlin-sparc64-glibc [24/32]: SKIPPED
>                     bootlin-x86-64-glibc [25/32]: SKIPPED
>                      bootlin-x86-64-musl [26/32]: SKIPPED
>                    bootlin-x86-64-uclibc [27/32]: SKIPPED
>                    bootlin-x86-i686-musl [28/32]: SKIPPED
>                    bootlin-xtensa-uclibc [29/32]: SKIPPED
>                             br-arm-basic [30/32]: SKIPPED
>                     br-arm-full-nothread [31/32]: SKIPPED
>                       br-arm-full-static [32/32]: SKIPPED
> 32 builds, 24 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
> 
>  package/mesa3d/Config.in | 10 +++++++++-
>  package/mesa3d/mesa3d.mk |  3 ++-
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index b5aaec5e1c..e8c2c8473c 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -350,6 +350,13 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM
>  	help
>  	  Vulkan broadcom driver.
>  
> +config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO
> +	bool "Vulkan freedreno driver (turnip)"
> +	select BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_SUPPORTED_DRIVER
> +	select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
> +	help
> +	  Vulkan freedreno driver.
> +
>  config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION
>  	bool "Vulkan imagination driver"
>  	depends on BR2_arm || BR2_aarch64
> @@ -425,7 +432,8 @@ config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_AMDGPU
>  
>  config BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO
>  	bool "freedreno-virtio"
> -	depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
> +	depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO || \
> +		BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO
>  	help
>  	  Enable VirtIO support for freedreno native contexts
>  	  used by the freedreno (OpenGL) and turnip (Vulkan)
> diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk
> index e6f44ad73c..0a41d84446 100644
> --- a/package/mesa3d/mesa3d.mk
> +++ b/package/mesa3d/mesa3d.mk
> @@ -130,6 +130,7 @@ MESA3D_GALLIUM_DRIVERS-$(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ZINK)     += zink
>  # Vulkan Drivers
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_AMD) += amd
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM) += broadcom
> +MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO) += freedreno
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_IMAGINATION) += imagination
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL)   += intel
>  MESA3D_VULKAN_DRIVERS-$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_PANFROST) += panfrost
> @@ -157,7 +158,7 @@ else
>  MESA3D_CONF_OPTS += -Damdgpu-virtio=false
>  endif
>  
> -ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO),y)
> +ifneq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO)$(BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO),)

What if only BR2_PACKAGE_MESA3D_VULKAN_DRIVER_FREEDRENO is set ?

MESA3D_GALLIUM_DRIVER_FREEDRENO_KMDS can be set without
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO enabled.

Maybe MESA3D_GALLIUM_DRIVER_FREEDRENO_KMDS needs to be renamed ?

Something like MESA3D_FREEDRENO_KMDS? (without "Gallium word).

KMDS stand for "kernel-mode drivers" for freedreno gallium and vulkan driver

Best regards,
Romain


>  MESA3D_GALLIUM_DRIVER_FREEDRENO_KMDS = msm
>  ifeq ($(BR2_PACKAGE_MESA3D_HOST_NATIVE_CONTEXT_DRIVER_FREEDRENO),y)
>  MESA3D_GALLIUM_DRIVER_FREEDRENO_KMDS += virtio
> 



More information about the buildroot mailing list