From 627464367ea7a3ea76a25beebed9a8f069b3cfc0 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sat, 8 Jan 2022 18:37:05 +0100 Subject: [PATCH] package/freescale-imx/imx-gpu-viv: declare as a libgbm provider Interestingly, only the aarch64 blobs provide libgbm support. This will help in fixing an issue that exists today, where ARM32 + imx-gpu-viv + wayland + qt5 fails to build, because qt5 is told that libgbm is available, i.e the following configuration: BR2_arm=y BR2_cortex_a9=y BR2_ARM_ENABLE_VFP=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y BR2_INIT_NONE=y BR2_SYSTEM_BIN_SH_NONE=y # BR2_PACKAGE_BUSYBOX is not set BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_GUI=y BR2_PACKAGE_QT5BASE_EGLFS=y BR2_PACKAGE_FREESCALE_IMX=y BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX6Q=y BR2_PACKAGE_IMX_GPU_VIV=y BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL=y # BR2_TARGET_ROOTFS_TAR is not set fails to build during the qt5base configure step with: ERROR: Feature 'gbm' was enabled, but the pre-condition 'libs.gbm' failed. Signed-off-by: Thomas Petazzoni --- package/freescale-imx/imx-gpu-viv/Config.in | 11 +++++++++++ package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/package/freescale-imx/imx-gpu-viv/Config.in b/package/freescale-imx/imx-gpu-viv/Config.in index f465167acd..9ba3d0428e 100644 --- a/package/freescale-imx/imx-gpu-viv/Config.in +++ b/package/freescale-imx/imx-gpu-viv/Config.in @@ -17,6 +17,10 @@ config BR2_PACKAGE_IMX_GPU_VIV select BR2_PACKAGE_LIBDRM if !(BR2_arm && BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB) select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES + # gbm is only available in the aarch64 blobs + select BR2_PACKAGE_HAS_LIBGBM if BR2_aarch64 + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF if BR2_aarch64 + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT if BR2_aarch64 select BR2_PACKAGE_HAS_LIBOPENCL select BR2_PACKAGE_HAS_LIBOPENVG help @@ -82,6 +86,13 @@ config BR2_PACKAGE_PROVIDES_LIBOPENCL config BR2_PACKAGE_PROVIDES_LIBOPENVG default "imx-gpu-viv" +if BR2_aarch64 + +config BR2_PACKAGE_PROVIDES_LIBGBM + default "imx-gpu-viv" + +endif + config BR2_PACKAGE_IMX_GPU_VIV_EXAMPLES bool "install examples" # example binaries are linked against libstdc++.so.6 diff --git a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk index ace025c656..1d76d79e2b 100644 --- a/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk +++ b/package/freescale-imx/imx-gpu-viv/imx-gpu-viv.mk @@ -19,6 +19,11 @@ IMX_GPU_VIV_LICENSE_FILES = EULA COPYING IMX_GPU_VIV_REDISTRIBUTE = NO IMX_GPU_VIV_PROVIDES = libegl libgles libopencl libopenvg + +ifeq ($(BR2_aarch64),y) +IMX_GPU_VIV_PROVIDES += libgbm +endif + IMX_GPU_VIV_LIB_TARGET = $(call qstrip,$(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT)) ifeq ($(IMX_GPU_VIV_LIB_TARGET),x11)