From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Julien Olivain <ju.o@free.fr>,
"Yann E. MORIN" <yann.morin.1998@free.fr>,
buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/2] package/glslsandbox: kms needs gbm
Date: Sun, 30 Jan 2022 22:52:07 +0100 [thread overview]
Message-ID: <20220130225207.04efc439@windsurf> (raw)
In-Reply-To: <20220128205201.2798205-1-fontaine.fabrice@gmail.com>
Hello Fabrice,
On Fri, 28 Jan 2022 21:52:00 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
> index 3aa6049dfb..e36e8d74c8 100644
> --- a/package/glslsandbox-player/Config.in
> +++ b/package/glslsandbox-player/Config.in
> @@ -70,6 +70,7 @@ choice
> config BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS
> bool "KMS/DRM/GBM"
> depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm
> + depends on BR2_PACKAGE_HAS_LIBGBM
> select BR2_PACKAGE_LIBDRM
So, yes, this is needed, but isn't sufficient. Indeed, now you can
potentially enable glslsandbox-player even if you don't meet the
dependency for at least one of the "Native windowing system" (see the
choice...endchoice in the package Config.in).
The top-level BR2_PACKAGE_GLSLSANDBOX_PLAYER option is even carrying a
"bogus" depends on BR2_TOOLCHAIN_HAS_THREADS to make sure that at least
the BR2_PACKAGE_GLSLSANDBOX_PLAYER_KMS option is available.
But with your change, this is no longer true, and adding depends on
BR2_PACKAGE_HAS_LIBGBM to the package top-level option doesn't make
sense.
So I've tried to make sure that glslsandbox-player is only available
when one of the windowing systems dependencies is met, by doing this:
diff --git a/package/glslsandbox-player/Config.in b/package/glslsandbox-player/Config.in
index 2d15a7e270..35fe7b3c6a 100644
--- a/package/glslsandbox-player/Config.in
+++ b/package/glslsandbox-player/Config.in
@@ -1,10 +1,20 @@
+config BR2_PACKAGE_GLSLSANDBOX_SUPPORTS_WINDOWING_SYSTEM
+ bool
+ default y if BR2_PACKAGE_SUNXI_MALI_UTGARD
+ default y if BR2_PACKAGE_MALI_T76X
+ default y if BR2_PACKAGE_RPI_USERLAND
+ default y if BR2_PACKAGE_SDL2_OPENGLES
+ default y if BR2_PACKAGE_TI_SGX_UM
+ default y if BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_FB
+ default y if BR2_PACKAGE_WAYLAND
+ default y if BR2_PACKAGE_XORG7
+ default y if BR2_TOOLCHAIN_HAS_THREADS
+
config BR2_PACKAGE_GLSLSANDBOX_PLAYER
bool "glslsandbox-player"
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
- # Doesn't really depend on threads, but this makes sure we have at least
- # one native windowing system available, and is good enough in practice.
- depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_PACKAGE_GLSLSANDBOX_SUPPORTS_WINDOWING_SYSTEM
help
GLSL Sandbox standalone player allow one to run and render
(most of) nice shaders available online on the
(this would have been the change *before* your patch). But
unfortunately, this causes Kconfig to goes nuts with a silly recursive
dependency:
package/python3/Config.in:5:error: recursive dependency detected!
package/python3/Config.in:5: symbol BR2_PACKAGE_PYTHON3 is selected by BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS
package/glslsandbox-player/Config.in:44: symbol BR2_PACKAGE_GLSLSANDBOX_PLAYER_SCRIPTS depends on BR2_PACKAGE_GLSLSANDBOX_PLAYER
package/glslsandbox-player/Config.in:13: symbol BR2_PACKAGE_GLSLSANDBOX_PLAYER depends on BR2_PACKAGE_GLSLSANDBOX_SUPPORTS_WINDOWING_SYSTEM
package/glslsandbox-player/Config.in:6: symbol BR2_PACKAGE_GLSLSANDBOX_SUPPORTS_WINDOWING_SYSTEM depends on BR2_PACKAGE_SDL2_OPENGLES
package/sdl2/Config.in:54: symbol BR2_PACKAGE_SDL2_OPENGLES depends on BR2_PACKAGE_SDL2
package/sdl2/Config.in:1: symbol BR2_PACKAGE_SDL2 is selected by BR2_PACKAGE_FFMPEG_FFPLAY
package/ffmpeg/Config.in:51: symbol BR2_PACKAGE_FFMPEG_FFPLAY depends on BR2_PACKAGE_FFMPEG
package/ffmpeg/Config.in:18: symbol BR2_PACKAGE_FFMPEG is selected by BR2_PACKAGE_KODI
package/kodi/Config.in:51: symbol BR2_PACKAGE_KODI depends on BR2_PACKAGE_PYTHON3
which I have no idea how to resolve :-/
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
next prev parent reply other threads:[~2022-01-30 21:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-28 20:52 [Buildroot] [PATCH 1/2] package/glslsandbox: kms needs gbm Fabrice Fontaine
2022-01-28 20:52 ` [Buildroot] [PATCH 2/2] package/libglvnd: bump to version 1.4.0 Fabrice Fontaine
2022-07-23 20:29 ` Thomas Petazzoni via buildroot
2022-01-30 21:52 ` Thomas Petazzoni via buildroot [this message]
2022-01-31 20:16 ` [Buildroot] [PATCH 1/2] package/glslsandbox: kms needs gbm Julien Olivain
2022-07-23 20:28 ` Thomas Petazzoni via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220130225207.04efc439@windsurf \
--to=buildroot@buildroot.org \
--cc=fontaine.fabrice@gmail.com \
--cc=ju.o@free.fr \
--cc=thomas.petazzoni@bootlin.com \
--cc=yann.morin.1998@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox