* [Buildroot] [PATCH 1/8] package/opengl/libgbm: new virtual package
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 13:31 ` Thomas Petazzoni
2021-09-21 13:03 ` [Buildroot] [PATCH 2/8] package/opengl/libgbm: introduce api features Kamel Bouhara
` (6 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Bernd Kuhls, Thomas Petazzoni
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Kodi 18.0-Leia will implement stand-alone gbm support alongside x11 &
wayland. To enable building libgbm in mesa3d without x11 & wayland we
need to create a virtual package for libgbm.
Also other packages besides mesa3d may provide libgbm.so, see
http://patchwork.ozlabs.org/patch/647235/
http://patchwork.ozlabs.org/patch/939703/
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/opengl/Config.in | 1 +
package/opengl/libgbm/Config.in | 6 ++++++
package/opengl/libgbm/libgbm.mk | 7 +++++++
3 files changed, 14 insertions(+)
create mode 100644 package/opengl/libgbm/Config.in
create mode 100644 package/opengl/libgbm/libgbm.mk
diff --git a/package/opengl/Config.in b/package/opengl/Config.in
index cbc001427d..cfa51def45 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -1,5 +1,6 @@
source "package/opengl/libgl/Config.in"
source "package/opengl/libegl/Config.in"
+source "package/opengl/libgbm/Config.in"
source "package/opengl/libgles/Config.in"
source "package/opengl/libopencl/Config.in"
source "package/opengl/libopenvg/Config.in"
diff --git a/package/opengl/libgbm/Config.in b/package/opengl/libgbm/Config.in
new file mode 100644
index 0000000000..ee18c4e6cb
--- /dev/null
+++ b/package/opengl/libgbm/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_LIBGBM
+ bool
+
+config BR2_PACKAGE_PROVIDES_LIBGBM
+ string
+ depends on BR2_PACKAGE_HAS_LIBGBM
diff --git a/package/opengl/libgbm/libgbm.mk b/package/opengl/libgbm/libgbm.mk
new file mode 100644
index 0000000000..5b3d8262a5
--- /dev/null
+++ b/package/opengl/libgbm/libgbm.mk
@@ -0,0 +1,7 @@
+################################################################################
+#
+# libgbm
+#
+################################################################################
+
+$(eval $(virtual-package))
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 2/8] package/opengl/libgbm: introduce api features
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
2021-09-21 13:03 ` [Buildroot] [PATCH 1/8] package/opengl/libgbm: new virtual package Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 14:10 ` Thomas Petazzoni
2021-09-21 13:03 ` [Buildroot] [PATCH 3/8] package/mesa3d: add gbm " Kamel Bouhara
` (5 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara
We introduce two feature that shall help user choosing the version
implemented by a libgbm provider. This foresightly avoid building package
without having the required libgbm version (e.g. kmscube, qt5, sdl2
etc.)
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/opengl/libgbm/Config.in | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/package/opengl/libgbm/Config.in b/package/opengl/libgbm/Config.in
index ee18c4e6cb..f6d68e847a 100644
--- a/package/opengl/libgbm/Config.in
+++ b/package/opengl/libgbm/Config.in
@@ -4,3 +4,15 @@ config BR2_PACKAGE_HAS_LIBGBM
config BR2_PACKAGE_PROVIDES_LIBGBM
string
depends on BR2_PACKAGE_HAS_LIBGBM
+
+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
+ bool
+ depends on BR2_PACKAGE_HAS_LIBGBM
+
+comment "feature implemented in mesa gbm api version 17 or later"
+
+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
+ bool
+ depends on BR2_PACKAGE_HAS_LIBGBM
+
+comment "feature implemented in mesa gbm api 10 or later"
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 2/8] package/opengl/libgbm: introduce api features
2021-09-21 13:03 ` [Buildroot] [PATCH 2/8] package/opengl/libgbm: introduce api features Kamel Bouhara
@ 2021-09-21 14:10 ` Thomas Petazzoni
0 siblings, 0 replies; 18+ messages in thread
From: Thomas Petazzoni @ 2021-09-21 14:10 UTC (permalink / raw)
To: Kamel Bouhara; +Cc: buildroot
Hello Kamel,
On Tue, 21 Sep 2021 15:03:19 +0200
Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
> We introduce two feature that shall help user choosing the version
> implemented by a libgbm provider. This foresightly avoid building package
> without having the required libgbm version (e.g. kmscube, qt5, sdl2
> etc.)
>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
I think this should be squashed into PATCH 1.
> diff --git a/package/opengl/libgbm/Config.in b/package/opengl/libgbm/Config.in
> index ee18c4e6cb..f6d68e847a 100644
> --- a/package/opengl/libgbm/Config.in
> +++ b/package/opengl/libgbm/Config.in
> @@ -4,3 +4,15 @@ config BR2_PACKAGE_HAS_LIBGBM
> config BR2_PACKAGE_PROVIDES_LIBGBM
> string
> depends on BR2_PACKAGE_HAS_LIBGBM
> +
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
> + bool
> + depends on BR2_PACKAGE_HAS_LIBGBM
> +
> +comment "feature implemented in mesa gbm api version 17 or later"
I'm not sure this makes sense as a comment visible in menuconfig, as
the option itself is not even visible. I would rather suggest something
like this:
# gbm implementations should select this option if they provide the
# format modifier plane count feature. This API was initially introduced
# in mesa3d version 17. A gbm implementation provides this feature if it
# is implement function A, B, C.
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
> + bool
> + depends on BR2_PACKAGE_HAS_LIBGBM
> +
> +comment "feature implemented in mesa gbm api 10 or later"
Same here.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 3/8] package/mesa3d: add gbm api features
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
2021-09-21 13:03 ` [Buildroot] [PATCH 1/8] package/opengl/libgbm: new virtual package Kamel Bouhara
2021-09-21 13:03 ` [Buildroot] [PATCH 2/8] package/opengl/libgbm: introduce api features Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 13:03 ` [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version Kamel Bouhara
` (4 subsequent siblings)
7 siblings, 0 replies; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Bernd Kuhls, Kamel Bouhara
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Introduce gbm features so that each packages depending
on it can choose which implementation is required.
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/mesa3d/Config.in | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index eb7c1eef46..a181a363da 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -387,6 +387,9 @@ config BR2_PACKAGE_MESA3D_GBM
bool "gbm"
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
|| (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
+ select BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
help
Enable Generic Buffer Management (gbm)
@@ -423,6 +426,9 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES
endif # BR2_PACKAGE_MESA3D_DRIVER
+config BR2_PACKAGE_PROVIDES_LIBGBM
+ default "mesa3d" if BR2_PACKAGE_MESA3D_GBM
+
config BR2_PACKAGE_PROVIDES_LIBGL
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
` (2 preceding siblings ...)
2021-09-21 13:03 ` [Buildroot] [PATCH 3/8] package/mesa3d: add gbm " Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 13:31 ` Thomas Petazzoni
2021-09-21 15:43 ` Giulio Benetti
2021-09-21 13:03 ` [Buildroot] [PATCH 5/8] package/sunxi-mali-mainline: add support for different outputs Kamel Bouhara
` (3 subsequent siblings)
7 siblings, 2 replies; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara, Thomas Petazzoni
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bumps the sunxi-mali-mainline upstream version to 418f55585e76f375792dbebb3e97532f0c1c556d
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/sunxi-mali-mainline/sunxi-mali-mainline.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
index 701a1fbbb4..b46f572311 100644
--- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -4,7 +4,7 @@
#
################################################################################
-SUNXI_MALI_MAINLINE_VERSION = d691cb93884ca8ac67860502117bbec283dc19aa
+SUNXI_MALI_MAINLINE_VERSION = 418f55585e76f375792dbebb3e97532f0c1c556d
SUNXI_MALI_MAINLINE_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION))
SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES
SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version
2021-09-21 13:03 ` [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version Kamel Bouhara
@ 2021-09-21 13:31 ` Thomas Petazzoni
2021-09-21 15:43 ` Giulio Benetti
1 sibling, 0 replies; 18+ messages in thread
From: Thomas Petazzoni @ 2021-09-21 13:31 UTC (permalink / raw)
To: Kamel Bouhara; +Cc: buildroot
Hello Kamel,
On Tue, 21 Sep 2021 15:03:21 +0200
Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>
> Bumps the sunxi-mali-mainline upstream version to 418f55585e76f375792dbebb3e97532f0c1c556d
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> ---
> package/sunxi-mali-mainline/sunxi-mali-mainline.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
This patch is not sufficient: without an update to
sunxi-mali-mainline.hash, I doubt this can work.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version
2021-09-21 13:03 ` [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version Kamel Bouhara
2021-09-21 13:31 ` Thomas Petazzoni
@ 2021-09-21 15:43 ` Giulio Benetti
1 sibling, 0 replies; 18+ messages in thread
From: Giulio Benetti @ 2021-09-21 15:43 UTC (permalink / raw)
To: Kamel Bouhara, buildroot; +Cc: Thomas Petazzoni
Hi Kamel,
have you used ./utils/get-developers script to obtain the git send-mail
command including the maintainers? I'm not in Cc but I'm a developer of
sunxi-mali-mainline. Can you please use such script next time?
Thank you very much
Best regards
--
Giulio Benetti
Benetti Engineering sas
On 9/21/21 3:03 PM, Kamel Bouhara wrote:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>
> Bumps the sunxi-mali-mainline upstream version to 418f55585e76f375792dbebb3e97532f0c1c556d
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> ---
> package/sunxi-mali-mainline/sunxi-mali-mainline.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> index 701a1fbbb4..b46f572311 100644
> --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> +++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -SUNXI_MALI_MAINLINE_VERSION = d691cb93884ca8ac67860502117bbec283dc19aa
> +SUNXI_MALI_MAINLINE_VERSION = 418f55585e76f375792dbebb3e97532f0c1c556d
> SUNXI_MALI_MAINLINE_SITE = $(call github,bootlin,mali-blobs,$(SUNXI_MALI_MAINLINE_VERSION))
> SUNXI_MALI_MAINLINE_INSTALL_STAGING = YES
> SUNXI_MALI_MAINLINE_PROVIDES = libegl libgles
>
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 5/8] package/sunxi-mali-mainline: add support for different outputs
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
` (3 preceding siblings ...)
2021-09-21 13:03 ` [Buildroot] [PATCH 4/8] package/sunxi-mali-mainline: bump version Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 15:39 ` Giulio Benetti
2021-09-21 13:03 ` [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm Kamel Bouhara
` (2 subsequent siblings)
7 siblings, 1 reply; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara, Thomas Petazzoni
From: Thomas Petazzoni <thomas.petazzoni@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@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/sunxi-mali-mainline/Config.in | 26 ++++++++++++++++
.../sunxi-mali-mainline.mk | 30 +++++++++++++++++--
2 files changed, 53 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"
+
+config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
+ bool "x11 ump"
+
+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
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..e9091b05a2 100644
--- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -21,22 +21,46 @@ 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
+ $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/gbm.pc \
+ $(STAGING_DIR)/usr/lib/pkgconfig/gbm.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
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 5/8] package/sunxi-mali-mainline: add support for different outputs
2021-09-21 13:03 ` [Buildroot] [PATCH 5/8] package/sunxi-mali-mainline: add support for different outputs Kamel Bouhara
@ 2021-09-21 15:39 ` Giulio Benetti
0 siblings, 0 replies; 18+ messages in thread
From: Giulio Benetti @ 2021-09-21 15:39 UTC (permalink / raw)
To: Kamel Bouhara, buildroot; +Cc: Thomas Petazzoni
Hi Kamel, Thomas,
On 9/21/21 3:03 PM, Kamel Bouhara wrote:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>
> Adds support for selecting one of the four display API supported: fbdev,
> wayland, x11-dmabuf, x11-ump.
Only r6p2 arm supports x11_ump.
r6p2 aarch64 doesn't.
And r8p1 only supports fbdev.
So you have to add some check below.
Also, x11-ump is pretty old, do we really want to keep it?
Best regards
--
Giulio Benetti
Benetti Engineering sas
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> ---
> package/sunxi-mali-mainline/Config.in | 26 ++++++++++++++++
> .../sunxi-mali-mainline.mk | 30 +++++++++++++++++--
> 2 files changed, 53 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"
> +
> +config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_UMP
> + bool "x11 ump"
> +
> +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
>
> 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..e9091b05a2 100644
> --- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> +++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
> @@ -21,22 +21,46 @@ 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
> + $(INSTALL) -D -m 0644 package/sunxi-mali-mainline/gbm.pc \
> + $(STAGING_DIR)/usr/lib/pkgconfig/gbm.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
>
>
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
` (4 preceding siblings ...)
2021-09-21 13:03 ` [Buildroot] [PATCH 5/8] package/sunxi-mali-mainline: add support for different outputs Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 14:13 ` Thomas Petazzoni
2021-09-21 13:03 ` [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package Kamel Bouhara
2021-09-21 13:03 ` [Buildroot] [PATCH 8/8] package/gcnano-binaries: provides libgbm Kamel Bouhara
7 siblings, 1 reply; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara, Thomas Petazzoni
Registers the package as a libgbm provider.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/sunxi-mali-mainline/Config.in | 6 ++++++
package/sunxi-mali-mainline/gbm.pc | 12 ++++++++++++
package/sunxi-mali-mainline/sunxi-mali-mainline.mk | 1 +
3 files changed, 19 insertions(+)
create mode 100644 package/sunxi-mali-mainline/gbm.pc
diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
index 31a9152407..dfcca89e46 100644
--- a/package/sunxi-mali-mainline/Config.in
+++ b/package/sunxi-mali-mainline/Config.in
@@ -3,6 +3,8 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE
depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm)
depends on BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
select BR2_PACKAGE_HAS_LIBGLES
help
Install userspace Allwinner OpenGL libraries.
@@ -14,6 +16,9 @@ if BR2_PACKAGE_SUNXI_MALI_MAINLINE
config BR2_PACKAGE_PROVIDES_LIBEGL
default "sunxi-mali-mainline"
+config BR2_PACKAGE_PROVIDES_LIBGBM
+ default "sunxi-mali-mainline" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
+
config BR2_PACKAGE_PROVIDES_LIBGLES
default "sunxi-mali-mainline"
@@ -26,6 +31,7 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
bool "wayland"
depends on BR2_PACKAGE_WAYLAND
+ select BR2_PACKAGE_HAS_LIBGBM
config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_X11_DMABUF
bool "x11 dma-buf"
diff --git a/package/sunxi-mali-mainline/gbm.pc b/package/sunxi-mali-mainline/gbm.pc
new file mode 100644
index 0000000000..e2f6c04a82
--- /dev/null
+++ b/package/sunxi-mali-mainline/gbm.pc
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=/usr
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: gbm
+Description: ARM Mali implementation of gbm
+Requires.private:
+Version: 1.0
+Libs: -L${libdir} -lgbm
+Libs.private:
+Cflags: -I${includedir}
diff --git a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
index e9091b05a2..8a76b46aba 100644
--- a/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
+++ b/package/sunxi-mali-mainline/sunxi-mali-mainline.mk
@@ -38,6 +38,7 @@ endif
ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND),y)
SUNXI_MALI_MAINLINE_DEPENDENCIES += wayland
+SUNXI_MALI_MAINLINE_PROVIDES += libgbm
endif
# FIXME: install gbm.pc conditionally
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm
2021-09-21 13:03 ` [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm Kamel Bouhara
@ 2021-09-21 14:13 ` Thomas Petazzoni
2021-09-22 9:29 ` Kamel Bouhara
0 siblings, 1 reply; 18+ messages in thread
From: Thomas Petazzoni @ 2021-09-21 14:13 UTC (permalink / raw)
To: Kamel Bouhara; +Cc: buildroot
On Tue, 21 Sep 2021 15:03:23 +0200
Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
> diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
> index 31a9152407..dfcca89e46 100644
> --- a/package/sunxi-mali-mainline/Config.in
> +++ b/package/sunxi-mali-mainline/Config.in
> @@ -3,6 +3,8 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE
> depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm)
> depends on BR2_TOOLCHAIN_USES_GLIBC
> select BR2_PACKAGE_HAS_LIBEGL
> + select BR2_PACKAGE_HAS_LIBGBM
> + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
So here, you specify that sunxi-mali-mainline always provides libgbm.
> select BR2_PACKAGE_HAS_LIBGLES
> help
> Install userspace Allwinner OpenGL libraries.
> @@ -14,6 +16,9 @@ if BR2_PACKAGE_SUNXI_MALI_MAINLINE
> config BR2_PACKAGE_PROVIDES_LIBEGL
> default "sunxi-mali-mainline"
>
> +config BR2_PACKAGE_PROVIDES_LIBGBM
> + default "sunxi-mali-mainline" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
But here only if the wayland output is selected.
> +
> config BR2_PACKAGE_PROVIDES_LIBGLES
> default "sunxi-mali-mainline"
>
> @@ -26,6 +31,7 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
> config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
> bool "wayland"
> depends on BR2_PACKAGE_WAYLAND
> + select BR2_PACKAGE_HAS_LIBGBM
If only the wayland variant provides a gbm implementation, then only
this select should stay there, along with the select of
BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF.
> diff --git a/package/sunxi-mali-mainline/gbm.pc b/package/sunxi-mali-mainline/gbm.pc
> new file mode 100644
> index 0000000000..e2f6c04a82
> --- /dev/null
> +++ b/package/sunxi-mali-mainline/gbm.pc
> @@ -0,0 +1,12 @@
> +prefix=/usr
> +exec_prefix=/usr
> +libdir=${exec_prefix}/lib
> +includedir=${prefix}/include
> +
> +Name: gbm
> +Description: ARM Mali implementation of gbm
> +Requires.private:
> +Version: 1.0
> +Libs: -L${libdir} -lgbm
> +Libs.private:
> +Cflags: -I${includedir}
Is it a requirement for GBM providers to provide a gbm.pc? If so, I
think it would be great to mention it in the libgbm.mk, as a comment.
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm
2021-09-21 14:13 ` Thomas Petazzoni
@ 2021-09-22 9:29 ` Kamel Bouhara
0 siblings, 0 replies; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-22 9:29 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot
On Tue, Sep 21, 2021 at 04:13:21PM +0200, Thomas Petazzoni wrote:
> On Tue, 21 Sep 2021 15:03:23 +0200
> Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
>
> > diff --git a/package/sunxi-mali-mainline/Config.in b/package/sunxi-mali-mainline/Config.in
> > index 31a9152407..dfcca89e46 100644
> > --- a/package/sunxi-mali-mainline/Config.in
> > +++ b/package/sunxi-mali-mainline/Config.in
> > @@ -3,6 +3,8 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE
> > depends on BR2_aarch64 || (BR2_ARM_EABIHF && BR2_arm)
> > depends on BR2_TOOLCHAIN_USES_GLIBC
> > select BR2_PACKAGE_HAS_LIBEGL
> > + select BR2_PACKAGE_HAS_LIBGBM
> > + select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
>
> So here, you specify that sunxi-mali-mainline always provides libgbm.
>
> > select BR2_PACKAGE_HAS_LIBGLES
> > help
> > Install userspace Allwinner OpenGL libraries.
> > @@ -14,6 +16,9 @@ if BR2_PACKAGE_SUNXI_MALI_MAINLINE
> > config BR2_PACKAGE_PROVIDES_LIBEGL
> > default "sunxi-mali-mainline"
> >
> > +config BR2_PACKAGE_PROVIDES_LIBGBM
> > + default "sunxi-mali-mainline" if BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
>
> But here only if the wayland output is selected.
>
> > +
> > config BR2_PACKAGE_PROVIDES_LIBGLES
> > default "sunxi-mali-mainline"
> >
> > @@ -26,6 +31,7 @@ config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_FBDEV
> > config BR2_PACKAGE_SUNXI_MALI_MAINLINE_OUTPUT_WAYLAND
> > bool "wayland"
> > depends on BR2_PACKAGE_WAYLAND
> > + select BR2_PACKAGE_HAS_LIBGBM
>
> If only the wayland variant provides a gbm implementation, then only
> this select should stay there, along with the select of
> BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF.
>
Yes that makes more sens, thanks.
> > diff --git a/package/sunxi-mali-mainline/gbm.pc b/package/sunxi-mali-mainline/gbm.pc
> > new file mode 100644
> > index 0000000000..e2f6c04a82
> > --- /dev/null
> > +++ b/package/sunxi-mali-mainline/gbm.pc
> > @@ -0,0 +1,12 @@
> > +prefix=/usr
> > +exec_prefix=/usr
> > +libdir=${exec_prefix}/lib
> > +includedir=${prefix}/include
> > +
> > +Name: gbm
> > +Description: ARM Mali implementation of gbm
> > +Requires.private:
> > +Version: 1.0
> > +Libs: -L${libdir} -lgbm
> > +Libs.private:
> > +Cflags: -I${includedir}
>
> Is it a requirement for GBM providers to provide a gbm.pc? If so, I
> think it would be great to mention it in the libgbm.mk, as a comment.
>
I need to check that unless someone know the answer.
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
--
Kamel Bouhara, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
` (5 preceding siblings ...)
2021-09-21 13:03 ` [Buildroot] [PATCH 6/8] package/sunxi-mali-mainline: provides libgbm Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
2021-09-21 14:16 ` Thomas Petazzoni
2021-09-21 13:03 ` [Buildroot] [PATCH 8/8] package/gcnano-binaries: provides libgbm Kamel Bouhara
7 siblings, 1 reply; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara, Thomas Petazzoni
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
kmscube requires a libgbm implementation, which until now, only Mesa3D
was providing, so kmscube had a direct dependency on Mesa3D.
However, now that we have a proper libgbm virtual package, so this
commit converts the kmscube package to use the libegl, libgbm and
libgles virtual packages.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
[ Kamel : add dependency on recent libgbm ]
---
package/kmscube/Config.in | 18 ++++++++++++++----
package/kmscube/kmscube.mk | 3 ++-
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
index b6ad305bfb..d97b0f962e 100644
--- a/package/kmscube/Config.in
+++ b/package/kmscube/Config.in
@@ -1,9 +1,19 @@
config BR2_PACKAGE_KMSCUBE
bool "kmscube"
- # requires libgbm from mesa3d
- depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
- depends on BR2_PACKAGE_MESA3D_OPENGL_ES
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ depends on BR2_PACKAGE_HAS_LIBGBM
+ depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
+ depends on BR2_PACKAGE_HAS_LIBGLES
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
+ select BR2_PACKAGE_LIBDRM
help
kmscube is an application to test kms/drm drivers.
- https://gitlab.freedesktop.org/mesa/kmscube
+ https://cgit.freedesktop.org/mesa/kmscube/
+
+comment "kmscube needs a toolchain w/ threads support"
+ depends on BR2_PACKAGE_HAS_LIBEGL
+ depends on BR2_PACKAGE_HAS_LIBGBM
+ depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
+ depends on BR2_PACKAGE_HAS_LIBGLES
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
index 7b458376dc..26c82d2688 100644
--- a/package/kmscube/kmscube.mk
+++ b/package/kmscube/kmscube.mk
@@ -8,6 +8,7 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
KMSCUBE_LICENSE = MIT
KMSCUBE_LICENSE_FILES = COPYING
-KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
+KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
+KMSCUBE_AUTORECONF = YES
$(eval $(meson-package))
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package
2021-09-21 13:03 ` [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package Kamel Bouhara
@ 2021-09-21 14:16 ` Thomas Petazzoni
2021-09-22 9:26 ` Kamel Bouhara
0 siblings, 1 reply; 18+ messages in thread
From: Thomas Petazzoni @ 2021-09-21 14:16 UTC (permalink / raw)
To: Kamel Bouhara; +Cc: buildroot
Hello Kamel,
On Tue, 21 Sep 2021 15:03:24 +0200
Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
> From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
>
> kmscube requires a libgbm implementation, which until now, only Mesa3D
> was providing, so kmscube had a direct dependency on Mesa3D.
>
> However, now that we have a proper libgbm virtual package, so this
> commit converts the kmscube package to use the libegl, libgbm and
> libgles virtual packages.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> [ Kamel : add dependency on recent libgbm ]
> ---
> package/kmscube/Config.in | 18 ++++++++++++++----
> package/kmscube/kmscube.mk | 3 ++-
> 2 files changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
> index b6ad305bfb..d97b0f962e 100644
> --- a/package/kmscube/Config.in
> +++ b/package/kmscube/Config.in
> @@ -1,9 +1,19 @@
> config BR2_PACKAGE_KMSCUBE
> bool "kmscube"
> - # requires libgbm from mesa3d
> - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> - depends on BR2_PACKAGE_MESA3D_OPENGL_ES
> + depends on BR2_PACKAGE_HAS_LIBEGL
> + depends on BR2_PACKAGE_HAS_LIBGBM
> + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
This does not exist in your PATCH 2/8:
+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
+config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
Did you test this patch ?
> +comment "kmscube needs a toolchain w/ threads support"
> + depends on BR2_PACKAGE_HAS_LIBEGL
> + depends on BR2_PACKAGE_HAS_LIBGBM
> + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
> + depends on BR2_PACKAGE_HAS_LIBGLES
> + depends on !BR2_TOOLCHAIN_HAS_THREADS
This should be:
comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support"
> diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
> index 7b458376dc..26c82d2688 100644
> --- a/package/kmscube/kmscube.mk
> +++ b/package/kmscube/kmscube.mk
> @@ -8,6 +8,7 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
> KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
> KMSCUBE_LICENSE = MIT
> KMSCUBE_LICENSE_FILES = COPYING
> -KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
> +KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
> +KMSCUBE_AUTORECONF = YES
Why is autoreconf being added here ? On a meson-package, this doesn't
make much sense.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package
2021-09-21 14:16 ` Thomas Petazzoni
@ 2021-09-22 9:26 ` Kamel Bouhara
0 siblings, 0 replies; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-22 9:26 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot
On Tue, Sep 21, 2021 at 04:16:24PM +0200, Thomas Petazzoni wrote:
> Hello Kamel,
>
> On Tue, 21 Sep 2021 15:03:24 +0200
> Kamel Bouhara <kamel.bouhara@bootlin.com> wrote:
>
> > From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> >
> > kmscube requires a libgbm implementation, which until now, only Mesa3D
> > was providing, so kmscube had a direct dependency on Mesa3D.
> >
> > However, now that we have a proper libgbm virtual package, so this
> > commit converts the kmscube package to use the libegl, libgbm and
> > libgles virtual packages.
> >
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
> > [ Kamel : add dependency on recent libgbm ]
> > ---
> > package/kmscube/Config.in | 18 ++++++++++++++----
> > package/kmscube/kmscube.mk | 3 ++-
> > 2 files changed, 16 insertions(+), 5 deletions(-)
> >
> > diff --git a/package/kmscube/Config.in b/package/kmscube/Config.in
> > index b6ad305bfb..d97b0f962e 100644
> > --- a/package/kmscube/Config.in
> > +++ b/package/kmscube/Config.in
> > @@ -1,9 +1,19 @@
> > config BR2_PACKAGE_KMSCUBE
> > bool "kmscube"
> > - # requires libgbm from mesa3d
> > - depends on BR2_PACKAGE_MESA3D_OPENGL_EGL
> > - depends on BR2_PACKAGE_MESA3D_OPENGL_ES
> > + depends on BR2_PACKAGE_HAS_LIBEGL
> > + depends on BR2_PACKAGE_HAS_LIBGBM
> > + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
>
> This does not exist in your PATCH 2/8:
>
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
>
> +config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
>
> Did you test this patch ?
>
I guess not since my last rebase, I'll do so for next version.
>
> > +comment "kmscube needs a toolchain w/ threads support"
> > + depends on BR2_PACKAGE_HAS_LIBEGL
> > + depends on BR2_PACKAGE_HAS_LIBGBM
> > + depends on BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_NAME_DESC
> > + depends on BR2_PACKAGE_HAS_LIBGLES
> > + depends on !BR2_TOOLCHAIN_HAS_THREADS
>
> This should be:
>
> comment "kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support"
OK.
>
> > diff --git a/package/kmscube/kmscube.mk b/package/kmscube/kmscube.mk
> > index 7b458376dc..26c82d2688 100644
> > --- a/package/kmscube/kmscube.mk
> > +++ b/package/kmscube/kmscube.mk
> > @@ -8,6 +8,7 @@ KMSCUBE_VERSION = 4660a7dca6512b6e658759d00cff7d4ad2a2059d
> > KMSCUBE_SITE = https://gitlab.freedesktop.org/mesa/kmscube/-/archive/$(KMSCUBE_VERSION)
> > KMSCUBE_LICENSE = MIT
> > KMSCUBE_LICENSE_FILES = COPYING
> > -KMSCUBE_DEPENDENCIES = host-pkgconf mesa3d libdrm
> > +KMSCUBE_DEPENDENCIES = host-pkgconf libgles libegl libgbm libdrm
> > +KMSCUBE_AUTORECONF = YES
>
> Why is autoreconf being added here ? On a meson-package, this doesn't
> make much sense.
Indeed, I think it's a bad merge.
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
--
Kamel Bouhara, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 18+ messages in thread
* [Buildroot] [PATCH 8/8] package/gcnano-binaries: provides libgbm
2021-09-21 13:03 [Buildroot] [PATCH 0/8] Use gbm API features Kamel Bouhara
` (6 preceding siblings ...)
2021-09-21 13:03 ` [Buildroot] [PATCH 7/8] package/kmscube: use libgbm virtual package Kamel Bouhara
@ 2021-09-21 13:03 ` Kamel Bouhara
7 siblings, 0 replies; 18+ messages in thread
From: Kamel Bouhara @ 2021-09-21 13:03 UTC (permalink / raw)
To: buildroot; +Cc: Kamel Bouhara
Add package as a libgbm provider
Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
---
package/gcnano-binaries/Config.in | 6 ++++++
package/gcnano-binaries/gcnano-binaries.mk | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/package/gcnano-binaries/Config.in b/package/gcnano-binaries/Config.in
index 01e1aacf1d..ade19e2121 100644
--- a/package/gcnano-binaries/Config.in
+++ b/package/gcnano-binaries/Config.in
@@ -15,6 +15,9 @@ config BR2_PACKAGE_GCNANO_BINARIES
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland
depends on !BR2_STATIC_LIBS
select BR2_PACKAGE_HAS_LIBEGL
+ select BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
+ select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
select BR2_PACKAGE_HAS_LIBGLES
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_WAYLAND
@@ -27,6 +30,9 @@ if BR2_PACKAGE_GCNANO_BINARIES
config BR2_PACKAGE_PROVIDES_LIBEGL
default "gcnano-binaries"
+config BR2_PACKAGE_PROVIDES_LIBGBM
+ default "gcnano-binaries"
+
config BR2_PACKAGE_PROVIDES_LIBGLES
default "gcnano-binaries"
diff --git a/package/gcnano-binaries/gcnano-binaries.mk b/package/gcnano-binaries/gcnano-binaries.mk
index af5fdd1b7e..f6adc36dbd 100644
--- a/package/gcnano-binaries/gcnano-binaries.mk
+++ b/package/gcnano-binaries/gcnano-binaries.mk
@@ -20,7 +20,7 @@ GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm
GCNANO_BINARIES_INSTALL_STAGING = YES
-GCNANO_BINARIES_PROVIDES = libegl libgles
+GCNANO_BINARIES_PROVIDES = libegl libgles libgbm
# The Github repository doesn't contain the source code as-is: it
# contains a tarball with the kernel driver source code, and a
--
2.30.2
_______________________________________________
buildroot mailing list
buildroot@lists.buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 18+ messages in thread