All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
  2022-07-21 14:49 [Buildroot] [PATCH] " Alexandru Ardelean
@ 2022-07-22  7:01 ` Alexandru Ardelean
  2022-07-22  7:05   ` Alexandru Ardelean
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alexandru Ardelean @ 2022-07-22  7:01 UTC (permalink / raw)
  To: buildroot; +Cc: aperez, Alexandru Ardelean, thomas.petazzoni

When building with the DRM support, it can happen that the libgbm library
is not yet built by the provider of this lib (specified by
BR2_PACKAGE_PROVIDES_LIBGBM).

The docs in cog `docs/platform-drm.md` specify this dep-list:
- **WPEBackend-fdo**:
- **Wayland**:
- **libdrm**:
- **libgbm**:
- **libinput**:
- **libudev**:

libgbm needs to be added.
Adding libegl as well.

Updated package/cog/Config.in to define the dependencies (for DRM)
according to libegl & libgbm.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
---
 package/cog/Config.in | 9 ++++++---
 package/cog/cog.mk    | 2 +-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/package/cog/Config.in b/package/cog/Config.in
index d4238750f9..484eb85c70 100644
--- a/package/cog/Config.in
+++ b/package/cog/Config.in
@@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
 config BR2_PACKAGE_COG_PLATFORM_DRM
 	bool "DRM backend"
 	depends on BR2_PACKAGE_HAS_UDEV # libinput
-	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGBM
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBINPUT
 	help
@@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
 	help
 	  Expose remote control interface on system bus
 
-comment "DRM platform needs mesa3d w/ EGL driver and GBM"
-	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
+comment "DRM platform needs EGL and GBM"
+	depends on \
+		!BR2_PACKAGE_HAS_LIBEGL || \
+		!BR2_PACKAGE_HAS_LIBGBM
 
 endif
diff --git a/package/cog/cog.mk b/package/cog/cog.mk
index f2ca0af93d..da660eb7c1 100644
--- a/package/cog/cog.mk
+++ b/package/cog/cog.mk
@@ -28,7 +28,7 @@ endif
 
 ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
 COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
-COG_DEPENDENCIES += libdrm libinput
+COG_DEPENDENCIES += libdrm libinput libgbm libegl
 else
 COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
 endif
-- 
2.34.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
  2022-07-22  7:01 ` [Buildroot] [PATCH v2] " Alexandru Ardelean
@ 2022-07-22  7:05   ` Alexandru Ardelean
  2022-07-23  8:48   ` Arnout Vandecappelle
  2022-08-12 15:05   ` Peter Korsgaard
  2 siblings, 0 replies; 8+ messages in thread
From: Alexandru Ardelean @ 2022-07-22  7:05 UTC (permalink / raw)
  To: buildroot; +Cc: Adrian Perez de Castro, Thomas Petazzoni

On Fri, Jul 22, 2022 at 10:02 AM Alexandru Ardelean
<ardeleanalex@gmail.com> wrote:
>
> When building with the DRM support, it can happen that the libgbm library
> is not yet built by the provider of this lib (specified by
> BR2_PACKAGE_PROVIDES_LIBGBM).
>
> The docs in cog `docs/platform-drm.md` specify this dep-list:
> - **WPEBackend-fdo**:
> - **Wayland**:
> - **libdrm**:
> - **libgbm**:
> - **libinput**:
> - **libudev**:
>
> libgbm needs to be added.
> Adding libegl as well.
>
> Updated package/cog/Config.in to define the dependencies (for DRM)
> according to libegl & libgbm.
>

I was sending this V2 while you (Thomas) were replying to my previous email :p

Feel free to nitpick directly on this patch.
I'm still not 100% what you would like this to be.
I'm happy to re-spin as needed ; as long as you tell me directly what to change.

> Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
> ---
>  package/cog/Config.in | 9 ++++++---
>  package/cog/cog.mk    | 2 +-
>  2 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/package/cog/Config.in b/package/cog/Config.in
> index d4238750f9..484eb85c70 100644
> --- a/package/cog/Config.in
> +++ b/package/cog/Config.in
> @@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
>  config BR2_PACKAGE_COG_PLATFORM_DRM
>         bool "DRM backend"
>         depends on BR2_PACKAGE_HAS_UDEV # libinput
> -       depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
> +       depends on BR2_PACKAGE_HAS_LIBEGL
> +       depends on BR2_PACKAGE_HAS_LIBGBM
>         select BR2_PACKAGE_LIBDRM
>         select BR2_PACKAGE_LIBINPUT
>         help
> @@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
>         help
>           Expose remote control interface on system bus
>
> -comment "DRM platform needs mesa3d w/ EGL driver and GBM"
> -       depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +comment "DRM platform needs EGL and GBM"
> +       depends on \
> +               !BR2_PACKAGE_HAS_LIBEGL || \
> +               !BR2_PACKAGE_HAS_LIBGBM
>
>  endif
> diff --git a/package/cog/cog.mk b/package/cog/cog.mk
> index f2ca0af93d..da660eb7c1 100644
> --- a/package/cog/cog.mk
> +++ b/package/cog/cog.mk
> @@ -28,7 +28,7 @@ endif
>
>  ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
>  COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
> -COG_DEPENDENCIES += libdrm libinput
> +COG_DEPENDENCIES += libdrm libinput libgbm libegl
>  else
>  COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
>  endif
> --
> 2.34.1
>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
  2022-07-22  7:01 ` [Buildroot] [PATCH v2] " Alexandru Ardelean
  2022-07-22  7:05   ` Alexandru Ardelean
@ 2022-07-23  8:48   ` Arnout Vandecappelle
       [not found]     ` <48-62dd4800-5-54f5770@160071985>
  2022-07-26  8:29     ` Alexandru Ardelean
  2022-08-12 15:05   ` Peter Korsgaard
  2 siblings, 2 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2022-07-23  8:48 UTC (permalink / raw)
  To: Alexandru Ardelean, buildroot; +Cc: aperez, thomas.petazzoni



On 22/07/2022 09:01, Alexandru Ardelean wrote:
> When building with the DRM support, it can happen that the libgbm library
> is not yet built by the provider of this lib (specified by
> BR2_PACKAGE_PROVIDES_LIBGBM).

  I've applied this one to master already, however there are two comments on v1 
that remain unaddressed.

> 
> The docs in cog `docs/platform-drm.md` specify this dep-list:
> - **WPEBackend-fdo**:
> - **Wayland**:
> - **libdrm**:
> - **libgbm**:
> - **libinput**:
> - **libudev**:

  This would imply that a dependency on udev is needed as well (both in the 
Config.in and the .mk). It is actually implied by libinput, so we won't get 
build failures, but it's better to have explicit dependencies.

> 
> libgbm needs to be added.
> Adding libegl as well.
> 
> Updated package/cog/Config.in to define the dependencies (for DRM)
> according to libegl & libgbm.
> 
> Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
> ---
>   package/cog/Config.in | 9 ++++++---
>   package/cog/cog.mk    | 2 +-
>   2 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/package/cog/Config.in b/package/cog/Config.in
> index d4238750f9..484eb85c70 100644
> --- a/package/cog/Config.in
> +++ b/package/cog/Config.in
> @@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
>   config BR2_PACKAGE_COG_PLATFORM_DRM
>   	bool "DRM backend"
>   	depends on BR2_PACKAGE_HAS_UDEV # libinput
> -	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	depends on BR2_PACKAGE_HAS_LIBGBM

  It apparently needs the 
BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT feature. You can test 
that by trying a build with rockchip-mali or ti-sgx-um as provider, since those 
packages don't have that feature.


  Regards,
  Arnout

>   	select BR2_PACKAGE_LIBDRM
>   	select BR2_PACKAGE_LIBINPUT
>   	help
> @@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
>   	help
>   	  Expose remote control interface on system bus
>   
> -comment "DRM platform needs mesa3d w/ EGL driver and GBM"
> -	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> +comment "DRM platform needs EGL and GBM"
> +	depends on \
> +		!BR2_PACKAGE_HAS_LIBEGL || \
> +		!BR2_PACKAGE_HAS_LIBGBM
>   
>   endif
> diff --git a/package/cog/cog.mk b/package/cog/cog.mk
> index f2ca0af93d..da660eb7c1 100644
> --- a/package/cog/cog.mk
> +++ b/package/cog/cog.mk
> @@ -28,7 +28,7 @@ endif
>   
>   ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
>   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
> -COG_DEPENDENCIES += libdrm libinput
> +COG_DEPENDENCIES += libdrm libinput libgbm libegl
>   else
>   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
>   endif
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot]  [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
@ 2022-07-24 13:26 Michael Nosthoff via buildroot
  0 siblings, 0 replies; 8+ messages in thread
From: Michael Nosthoff via buildroot @ 2022-07-24 13:26 UTC (permalink / raw)
  To: buildroot

Hi,

On Saturday, July 23, 2022 10:48 CEST, Arnout Vandecappelle <arnout@mind.be> wrote:

> 
> 
> On 22/07/2022 09:01, Alexandru Ardelean wrote:
> > When building with the DRM support, it can happen that the libgbm library
> > is not yet built by the provider of this lib (specified by
> > BR2_PACKAGE_PROVIDES_LIBGBM).
> 
>   I've applied this one to master already, however there are two comments on v1 
> that remain unaddressed.
> 
> > 
> > The docs in cog `docs/platform-drm.md` specify this dep-list:
> > - **WPEBackend-fdo**:
> > - **Wayland**:
> > - **libdrm**:
> > - **libgbm**:
> > - **libinput**:
> > - **libudev**:
> 
>   This would imply that a dependency on udev is needed as well (both in the 
> Config.in and the .mk). It is actually implied by libinput, so we won't get 
> build failures, but it's better to have explicit dependencies.
> 
> > 
> > libgbm needs to be added.
> > Adding libegl as well.
> > 
> > Updated package/cog/Config.in to define the dependencies (for DRM)
> > according to libegl & libgbm.
> > 
> > Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
> > ---
> >   package/cog/Config.in | 9 ++++++---
> >   package/cog/cog.mk    | 2 +-
> >   2 files changed, 7 insertions(+), 4 deletions(-)
> > 
> > diff --git a/package/cog/Config.in b/package/cog/Config.in
> > index d4238750f9..484eb85c70 100644
> > --- a/package/cog/Config.in
> > +++ b/package/cog/Config.in
> > @@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
> >   config BR2_PACKAGE_COG_PLATFORM_DRM
> >   	bool "DRM backend"
> >   	depends on BR2_PACKAGE_HAS_UDEV # libinput
> > -	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
> > +	depends on BR2_PACKAGE_HAS_LIBEGL
> > +	depends on BR2_PACKAGE_HAS_LIBGBM
> 
>   It apparently needs the 
> BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT feature. You can test 
> that by trying a build with rockchip-mali or ti-sgx-um as provider, since those 
> packages don't have that feature.
> 

I'm currently maintaining an external package for the newest ti-sgx-um version which provides
(i think) a newer/more complete version of libegl/libgbm. For this I currently have to patch
the cog package but the output is working fine with the drm backend.
So I would be highly interested in a patch like this.

Is there a way to find out which features a certain libegl/libgbm provides? Maybe I can then pick-up
the work on bumping the ti-sgx-um/km packages again to bring them to a more recent version.

Regards,
Michael

> 
>   Regards,
>   Arnout
> 
> >   	select BR2_PACKAGE_LIBDRM
> >   	select BR2_PACKAGE_LIBINPUT
> >   	help
> > @@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
> >   	help
> >   	  Expose remote control interface on system bus
> >   
> > -comment "DRM platform needs mesa3d w/ EGL driver and GBM"
> > -	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> > +comment "DRM platform needs EGL and GBM"
> > +	depends on \
> > +		!BR2_PACKAGE_HAS_LIBEGL || \
> > +		!BR2_PACKAGE_HAS_LIBGBM
> >   
> >   endif
> > diff --git a/package/cog/cog.mk b/package/cog/cog.mk
> > index f2ca0af93d..da660eb7c1 100644
> > --- a/package/cog/cog.mk
> > +++ b/package/cog/cog.mk
> > @@ -28,7 +28,7 @@ endif
> >   
> >   ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
> >   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
> > -COG_DEPENDENCIES += libdrm libinput
> > +COG_DEPENDENCIES += libdrm libinput libgbm libegl
> >   else
> >   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
> >   endif
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
       [not found]     ` <48-62dd4800-5-54f5770@160071985>
@ 2022-07-24 13:50       ` Arnout Vandecappelle
  2022-07-24 14:53       ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2022-07-24 13:50 UTC (permalink / raw)
  To: Michael Nosthoff; +Cc: aperez, Alexandru Ardelean, thomas.petazzoni, buildroot



On 24/07/2022 15:25, Michael Nosthoff wrote:
> Hi,
> 
> On Saturday, July 23, 2022 10:48 CEST, Arnout Vandecappelle <arnout@mind.be> wrote:
> 
>>
>>
>> On 22/07/2022 09:01, Alexandru Ardelean wrote:
>>> When building with the DRM support, it can happen that the libgbm library
>>> is not yet built by the provider of this lib (specified by
>>> BR2_PACKAGE_PROVIDES_LIBGBM).
>>
>>    I've applied this one to master already, however there are two comments on v1
>> that remain unaddressed.
>>
>>>
>>> The docs in cog `docs/platform-drm.md` specify this dep-list:
>>> - **WPEBackend-fdo**:
>>> - **Wayland**:
>>> - **libdrm**:
>>> - **libgbm**:
>>> - **libinput**:
>>> - **libudev**:
>>
>>    This would imply that a dependency on udev is needed as well (both in the
>> Config.in and the .mk). It is actually implied by libinput, so we won't get
>> build failures, but it's better to have explicit dependencies.
>>
>>>
>>> libgbm needs to be added.
>>> Adding libegl as well.
>>>
>>> Updated package/cog/Config.in to define the dependencies (for DRM)
>>> according to libegl & libgbm.
>>>
>>> Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
>>> ---
>>>    package/cog/Config.in | 9 ++++++---
>>>    package/cog/cog.mk    | 2 +-
>>>    2 files changed, 7 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/package/cog/Config.in b/package/cog/Config.in
>>> index d4238750f9..484eb85c70 100644
>>> --- a/package/cog/Config.in
>>> +++ b/package/cog/Config.in
>>> @@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
>>>    config BR2_PACKAGE_COG_PLATFORM_DRM
>>>    	bool "DRM backend"
>>>    	depends on BR2_PACKAGE_HAS_UDEV # libinput
>>> -	depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
>>> +	depends on BR2_PACKAGE_HAS_LIBEGL
>>> +	depends on BR2_PACKAGE_HAS_LIBGBM
>>
>>    It apparently needs the
>> BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT feature. You can test
>> that by trying a build with rockchip-mali or ti-sgx-um as provider, since those
>> packages don't have that feature.
>>
> I'm currently maintaining an external package for the newest ti-sgx-um version which provides
> (i think) a newer/more complete version of libegl/libgbm. For this I currently have to patch
> the cog package but the output is working fine with the drm backend.
> So I would be highly interested in a patch like this.

  Since I merged this patch, you should no longer need to patch anything 
yourself, right?

> 
> Is there a way to find out which features a certain libegl/libgbm provides? 

  There are a bunch of functions related to those features. See elsewhere in 
this thread for some examples.

> Maybe I can then pick-up
> the work on bumping the ti-sgx-um/km packages again to bring them to a more recent version.

  Yes please!

  I do believe that it requires a specific TI BSP kernel version as well, so 
don't forget to document that in the Config.in help text.

  Regards,
  Arnout

> 
> Regards,
> Michael
> 
>>
>>    Regards,
>>    Arnout
>>
>>>    	select BR2_PACKAGE_LIBDRM
>>>    	select BR2_PACKAGE_LIBINPUT
>>>    	help
>>> @@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
>>>    	help
>>>    	  Expose remote control interface on system bus
>>>    
>>> -comment "DRM platform needs mesa3d w/ EGL driver and GBM"
>>> -	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
>>> +comment "DRM platform needs EGL and GBM"
>>> +	depends on \
>>> +		!BR2_PACKAGE_HAS_LIBEGL || \
>>> +		!BR2_PACKAGE_HAS_LIBGBM
>>>    
>>>    endif
>>> diff --git a/package/cog/cog.mk b/package/cog/cog.mk
>>> index f2ca0af93d..da660eb7c1 100644
>>> --- a/package/cog/cog.mk
>>> +++ b/package/cog/cog.mk
>>> @@ -28,7 +28,7 @@ endif
>>>    
>>>    ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
>>>    COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
>>> -COG_DEPENDENCIES += libdrm libinput
>>> +COG_DEPENDENCIES += libdrm libinput libgbm libegl
>>>    else
>>>    COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
>>>    endif
>> _______________________________________________
>> buildroot mailing list
>> buildroot@buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
       [not found]     ` <48-62dd4800-5-54f5770@160071985>
  2022-07-24 13:50       ` Arnout Vandecappelle
@ 2022-07-24 14:53       ` Thomas Petazzoni via buildroot
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-07-24 14:53 UTC (permalink / raw)
  To: Michael Nosthoff; +Cc: aperez, Alexandru Ardelean, buildroot

Hello Michael,

On Sun, 24 Jul 2022 15:25:00 +0200
"Michael Nosthoff" <michael@nosthoff.rocks> wrote:

> I'm currently maintaining an external package for the newest ti-sgx-um version which provides
> (i think) a newer/more complete version of libegl/libgbm. For this I currently have to patch
> the cog package but the output is working fine with the drm backend.

Wow, do you have that available somewhere? I'm also working on a
project that uses ti-sgx, we're also working on updating it to the
latest version from TI, and we had issues with libgbm being
insufficient to run Cog.

> Is there a way to find out which features a certain libegl/libgbm provides? Maybe I can then pick-up
> the work on bumping the ti-sgx-um/km packages again to bring them to a more recent version.

It is explained in package/opengl/libgbm/Config.in:

# gbm implementations should select
# BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT 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
# gbm_device_get_format_modifier_plane_count.
config BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
        bool
        depends on BR2_PACKAGE_HAS_LIBGBM

# gbm implementations should select
# BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF if they provide the dma
# buffer feature. This API was initially introduced in mesa3d version
# 10. A gbm implementation provides this feature if it is implement
# function gbm_bo_get_fd.
config BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
        bool
        depends on BR2_PACKAGE_HAS_LIBGBM

So basically, you can readelf on libgbm.so, and based on the functions
that it provides, decide which of the above feature flag your ti-sgx-um
package should select.

If you need some help on this, feel free to get in touch on IRC (if
you're not already there), I'll be happy to have a look as I'm
interested in Cog + ti-sgx-um.

Thanks!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
  2022-07-23  8:48   ` Arnout Vandecappelle
       [not found]     ` <48-62dd4800-5-54f5770@160071985>
@ 2022-07-26  8:29     ` Alexandru Ardelean
  1 sibling, 0 replies; 8+ messages in thread
From: Alexandru Ardelean @ 2022-07-26  8:29 UTC (permalink / raw)
  To: Arnout Vandecappelle; +Cc: Adrian Perez de Castro, Thomas Petazzoni, buildroot

On Sat, Jul 23, 2022 at 11:48 AM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 22/07/2022 09:01, Alexandru Ardelean wrote:
> > When building with the DRM support, it can happen that the libgbm library
> > is not yet built by the provider of this lib (specified by
> > BR2_PACKAGE_PROVIDES_LIBGBM).
>
>   I've applied this one to master already, however there are two comments on v1
> that remain unaddressed.

yes
i wasn't sure whether to do this patch-first (which is more of a fix)
and do a follow-up
will do a follow-up :)
since this was applied
thanks :)

>
> >
> > The docs in cog `docs/platform-drm.md` specify this dep-list:
> > - **WPEBackend-fdo**:
> > - **Wayland**:
> > - **libdrm**:
> > - **libgbm**:
> > - **libinput**:
> > - **libudev**:
>
>   This would imply that a dependency on udev is needed as well (both in the
> Config.in and the .mk). It is actually implied by libinput, so we won't get
> build failures, but it's better to have explicit dependencies.

ack; will add

>
> >
> > libgbm needs to be added.
> > Adding libegl as well.
> >
> > Updated package/cog/Config.in to define the dependencies (for DRM)
> > according to libegl & libgbm.
> >
> > Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
> > ---
> >   package/cog/Config.in | 9 ++++++---
> >   package/cog/cog.mk    | 2 +-
> >   2 files changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/package/cog/Config.in b/package/cog/Config.in
> > index d4238750f9..484eb85c70 100644
> > --- a/package/cog/Config.in
> > +++ b/package/cog/Config.in
> > @@ -39,7 +39,8 @@ config BR2_PACKAGE_COG_PLATFORM_FDO
> >   config BR2_PACKAGE_COG_PLATFORM_DRM
> >       bool "DRM backend"
> >       depends on BR2_PACKAGE_HAS_UDEV # libinput
> > -     depends on BR2_PACKAGE_MESA3D_OPENGL_EGL # gbm
> > +     depends on BR2_PACKAGE_HAS_LIBEGL
> > +     depends on BR2_PACKAGE_HAS_LIBGBM
>
>   It apparently needs the
> BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT feature. You can test
> that by trying a build with rockchip-mali or ti-sgx-um as provider, since those
> packages don't have that feature.

ack; will add
i think i should also add BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF as
Thomas mentioned

>
>
>   Regards,
>   Arnout
>
> >       select BR2_PACKAGE_LIBDRM
> >       select BR2_PACKAGE_LIBINPUT
> >       help
> > @@ -52,7 +53,9 @@ config BR2_PACKAGE_COG_USE_SYSTEM_DBUS
> >       help
> >         Expose remote control interface on system bus
> >
> > -comment "DRM platform needs mesa3d w/ EGL driver and GBM"
> > -     depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL
> > +comment "DRM platform needs EGL and GBM"
> > +     depends on \
> > +             !BR2_PACKAGE_HAS_LIBEGL || \
> > +             !BR2_PACKAGE_HAS_LIBGBM
> >
> >   endif
> > diff --git a/package/cog/cog.mk b/package/cog/cog.mk
> > index f2ca0af93d..da660eb7c1 100644
> > --- a/package/cog/cog.mk
> > +++ b/package/cog/cog.mk
> > @@ -28,7 +28,7 @@ endif
> >
> >   ifeq ($(BR2_PACKAGE_COG_PLATFORM_DRM),y)
> >   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=ON
> > -COG_DEPENDENCIES += libdrm libinput
> > +COG_DEPENDENCIES += libdrm libinput libgbm libegl
> >   else
> >   COG_CONF_OPTS += -DCOG_PLATFORM_DRM=OFF
> >   endif
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support
  2022-07-22  7:01 ` [Buildroot] [PATCH v2] " Alexandru Ardelean
  2022-07-22  7:05   ` Alexandru Ardelean
  2022-07-23  8:48   ` Arnout Vandecappelle
@ 2022-08-12 15:05   ` Peter Korsgaard
  2 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2022-08-12 15:05 UTC (permalink / raw)
  To: Alexandru Ardelean; +Cc: aperez, thomas.petazzoni, buildroot

>>>>> "Alexandru" == Alexandru Ardelean <ardeleanalex@gmail.com> writes:

 > When building with the DRM support, it can happen that the libgbm library
 > is not yet built by the provider of this lib (specified by
 > BR2_PACKAGE_PROVIDES_LIBGBM).

 > The docs in cog `docs/platform-drm.md` specify this dep-list:
 > - **WPEBackend-fdo**:
 > - **Wayland**:
 > - **libdrm**:
 > - **libgbm**:
 > - **libinput**:
 > - **libudev**:

 > libgbm needs to be added.
 > Adding libegl as well.

 > Updated package/cog/Config.in to define the dependencies (for DRM)
 > according to libegl & libgbm.

 > Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>

Committed to 2022.05.x and 2022.02.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-08-12 15:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-24 13:26 [Buildroot] [PATCH v2] package/cog: add libgbm as dependency when building with DRM support Michael Nosthoff via buildroot
  -- strict thread matches above, loose matches on Subject: below --
2022-07-21 14:49 [Buildroot] [PATCH] " Alexandru Ardelean
2022-07-22  7:01 ` [Buildroot] [PATCH v2] " Alexandru Ardelean
2022-07-22  7:05   ` Alexandru Ardelean
2022-07-23  8:48   ` Arnout Vandecappelle
     [not found]     ` <48-62dd4800-5-54f5770@160071985>
2022-07-24 13:50       ` Arnout Vandecappelle
2022-07-24 14:53       ` Thomas Petazzoni via buildroot
2022-07-26  8:29     ` Alexandru Ardelean
2022-08-12 15:05   ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.