kumquat-buildroot/package/freescale-imx/imx-gpu-viv/Config.in
Thomas Petazzoni 627464367e 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 <thomas.petazzoni@bootlin.com>
2022-01-08 19:04:33 +01:00

115 lines
3.3 KiB
Plaintext

comment "imx-gpu-viv needs a glibc toolchain with armhf enabled"
depends on BR2_arm
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
comment "imx-gpu-viv needs a glibc toolchain"
depends on BR2_aarch64
depends on !BR2_TOOLCHAIN_USES_GLIBC
config BR2_PACKAGE_IMX_GPU_VIV
bool "imx-gpu-viv"
# Pre-built binaries only available for ARM EABIhf
depends on (BR2_arm && BR2_ARM_EABIHF) || BR2_aarch64
# Library binaries are linked against libc.so.6
depends on BR2_TOOLCHAIN_USES_GLIBC
# Library binaries are linked against libdrm.so.2, except framebuffer
# output on ARM
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
Userspace libraries for Vivante GPU on i.MX platforms
It contains libraries and headers for GLES, OpenCL, and
OpenVG. It also contains a DRI plugin for X11. It also
contains a plugin for DirectFB-1.4.0, but that doesn't work
together with buildroot's DirectFB version.
This library is provided by Freescale as-is and doesn't have
an upstream.
if BR2_PACKAGE_IMX_GPU_VIV
choice
prompt "Output option"
help
There are two versions of this library: one for
direct framebuffer access, one for X11 rendering.
Choose here which version to install.
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
bool "X11"
depends on BR2_PACKAGE_XORG7
# The i.MX8 blob doesn't support X11 output
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
select BR2_PACKAGE_XLIB_LIBXDAMAGE
select BR2_PACKAGE_XLIB_LIBXEXT
select BR2_PACKAGE_XLIB_LIBXFIXES
comment "X11 backend needs Xorg package"
depends on !BR2_PACKAGE_XORG7
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
bool "Framebuffer"
# The i.MX8 blob doesn't support FB output
depends on !BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
bool "Wayland"
select BR2_PACKAGE_WAYLAND
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
endchoice
config BR2_PACKAGE_IMX_GPU_VIV_OUTPUT
string
default "x11" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11
default "fb" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
default "wayland" if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL
config BR2_PACKAGE_PROVIDES_LIBEGL
default "imx-gpu-viv"
config BR2_PACKAGE_PROVIDES_LIBGLES
default "imx-gpu-viv"
config BR2_PACKAGE_PROVIDES_LIBOPENCL
default "imx-gpu-viv"
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
depends on BR2_INSTALL_LIBSTDCPP
help
Copy the Vivante examples to the target.
Warning: examples take approximately 150 MB of disk space.
comment "imx-gpu-viv-examples need a toolchain w/ C++ support"
depends on !BR2_INSTALL_LIBSTDCPP
config BR2_PACKAGE_IMX_GPU_VIV_GMEM_INFO
bool "install gmem_info tool"
help
Copy the gmem_info tool to the target which provides
information about GPU memory consumption.
endif