627464367e
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>
115 lines
3.3 KiB
Plaintext
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
|