[Buildroot] [PATCH v3 4/7] package/sunxi-mali-mainline: add support for different outputs

Giulio Benetti giulio.benetti at benettiengineering.com
Thu Oct 7 20:03:54 UTC 2021


Hi Kamel,

On 10/7/21 11:51 AM, Kamel Bouhara wrote:
> From: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> 
> Adds support for selecting one of the four display API supported: fbdev,
> wayland, x11-dmabuf, x11-ump.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara at bootlin.com>
> ---
> Changes v2 -> v3:
>   - Moved gbm.pc install into patch 5/7
> 
>   package/sunxi-mali-mainline/Config.in         | 26 +++++++++++++++++
>   .../sunxi-mali-mainline.mk                    | 28 +++++++++++++++++--
>   2 files changed, 51 insertions(+), 3 deletions(-)
> 
> diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
> index a2fb95bd79..31a9152407 100644
> --- a/package/sunxi-mali-mainline/Config.in
> +++ b/package/sunxi-mali-mainline/Config.in
> @@ -17,6 +17,24 @@ config BR2_PACKAGE_PROVIDES_LIBEGL
>   config BR2_PACKAGE_PROVIDES_LIBGLES
>   	default "sunxi-mali-mainline"
>   
> +choice
> +	prompt "Output"
> +
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
> +	bool "fbdev"
> +
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
> +	bool "wayland"
> +	depends on BR2_PACKAGE_WAYLAND
> +
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
> +	bool "x11 dma-buf"

as done for "wayland" here ^^^ I would add "depends on BR2_PACKAGE_XORG7"

> +
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
> +	bool "x11 ump"

ditto

> +
> +endchoice
> +
>   choice
>   	prompt "Version"
>   	default BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
> @@ -27,9 +45,17 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
>   	bool "r6p2"
>   config BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1
>   	bool "r8p1"
> +	depends on BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV

This is not enough because this way, when you select r8p1, you still can 
see "x11 ump" and "x11 dma-buf". So I would invert the depends on by 
removing the above one and adding the depends on 
BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 to
BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND/X11_DMABUF/X11_UMP

Also I would invert the order of the 2 choices, first I would place the 
Version to choose and then the Output, this way is more intuitive for me.

And please, add me to Cc since I'm the maintainer on 
sunxi-mali-mainline* in DEVELOPERS. As already pointed you on previous 
e-mail, please use ./utils/get-developers script to obtain the already 
ready git send-mail command.

Thank you!

Best regards
-- 
Giulio Benetti
Benetti Engineering sas

>   
>   endchoice
>   
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT
> +	string
> +	default "fbdev"		if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
> +	default "wayland"	if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
> +	default "x11_dma_buf" 	if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
> +	default "x11_ump"     	if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
> +
>   config BR2_PACKAGE_SUNXI_MALI_MAINLINE_REVISION
>   	string
>   	default "r6p2"	if BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2
> diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> index b46f572311..e058b5c3cd 100644
> --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> +++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> @@ -21,22 +21,44 @@ else ifeq ($(BR2_aarch64),y)
>   SUNXI_MALI_MAINLINE_ARCH=arm64
>   endif
>   
> +SUNXI_MALI_MAINLINE_OUTPUT = $(call qstrip,$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT))
> +SUNXI_MALI_MAINLINE_LIB_SUBDIR = \
> +	$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/$(SUNXI_MALI_MAINLINE_OUTPUT)
> +
> +ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF)$(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP),y)
> +SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR = include/x11
> +else
> +SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR = \
> +	include/$(SUNXI_MALI_MAINLINE_OUTPUT)
> +define SUNXI_MALI_MAINLINE_FIXUP_EGL_PC
> +	$(SED) "s/Cflags: /Cflags: -DMESA_EGL_NO_X11_HEADERS /" \
> +		$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
> +endef
> +endif
> +
> +ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND),y)
> +SUNXI_MALI_MAINLINE_DEPENDENCIES += wayland
> +endif
> +
> +# FIXME: install gbm.pc conditionally
>   define SUNXI_MALI_MAINLINE_INSTALL_STAGING_CMDS
>   	mkdir -p $(STAGING_DIR)/usr/lib $(STAGING_DIR)/usr/include
>   
> -	cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
> +	cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_LIB_SUBDIR)/*.so* \
>   		$(STAGING_DIR)/usr/lib/
> -	cp -rf $(@D)/include/fbdev/* $(STAGING_DIR)/usr/include/
> +	cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_INCLUDE_SUBDIR)/* \
> +		$(STAGING_DIR)/usr/include/
>   
>   	$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/egl.pc \
>   		$(STAGING_DIR)/usr/lib/pkgconfig/egl.pc
>   	$(INSTALL) -D -m 0644 package/sunxi-mali-mainline/glesv2.pc \
>   		$(STAGING_DIR)/usr/lib/pkgconfig/glesv2.pc
> +	$(SUNXI_MALI_MAINLINE_FIXUP_EGL_PC)
>   endef
>   
>   define SUNXI_MALI_MAINLINE_INSTALL_TARGET_CMDS
>   	mkdir -p $(TARGET_DIR)/usr/lib
> -	cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_REV)/$(SUNXI_MALI_MAINLINE_ARCH)/fbdev/*.so* \
> +	cp -rf $(@D)/$(SUNXI_MALI_MAINLINE_LIB_SUBDIR)/*.so* \
>   		$(TARGET_DIR)/usr/lib/
>   endef
>   
> 




More information about the buildroot mailing list