package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
PATCH 1/8 package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
Until this commit
https://git.busybox.net/buildroot/commit/package/mesa3d?id=f1894ec95728806e09405d26663e0ea371afaeab
having an enabled DRI driver meant that X.org & full OpenGL support is also present. This is no longer the case which makes is difficult for users and other packages to determine whether full OpenGL support is present or not.
This patch adds a new Kconfig option BR2_PACKAGE_MESA3D_OPENGL_GL to indicate full OpenGL support and meaningful comments in mesa3d/Config.in to describe what is necessary to build with full OpenGL support.
--- package/mesa3d/Config.in | 29 ++++++++++++++++++++++++++++- package/mesa3d/mesa3d.mk | 3 +-- 2 files changed, 29 insertions(+), 3 deletions(-)
package/mesa3d/Config.in +28 -1
@@ -29,6 +29,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_MESA3D_OPENGL_GL if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO bool
@@ -145,7 +146,33 @@ config BR2_PACKAGE_MESA3D_OSMESA if BR2_PACKAGE_MESA3D_DRIVER -comment "Additional API Support" +comment "API Support" + +if BR2_PACKAGE_MESA3D_DRI_DRIVER +if BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_MESA3D_OPENGL_GL + bool "OpenGL" + help + This helper option is only visible when enabled and indicates + that Mesa3D contains full OpenGL support. + +endif +endif + +comment "full OpenGL support needs a DRI driver" + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on BR2_PACKAGE_XORG7 + +comment "full OpenGL support needs X.org" + depends on BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on !BR2_PACKAGE_XORG7 + +comment "full OpenGL support needs a DRI driver and X.org" + depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on !BR2_PACKAGE_XORG7 config BR2_PACKAGE_MESA3D_OPENGL_EGL bool "OpenGL EGL"
package/mesa3d/mesa3d.mk +1 -2
@@ -105,8 +105,7 @@ endif ifeq ($(BR2_PACKAGE_XLIB_LIBXXF86VM),y) MESA3D_DEPENDENCIES += xlib_libXxf86vm endif -# libGL is only provided for a full xorg stack -ifeq ($(BR2_PACKAGE_XORG7),y) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),y) MESA3D_PROVIDES += libgl endif MESA3D_CONF_OPTS += \
Signature · 1 line
2.8.0.rc3
PATCH 2/8 package/glmark2: gl support also depends on X.org
https://git.busybox.net/buildroot/commit/package/mesa3d?id=f1894ec95728806e09405d26663e0ea371afaeab
removed the dependency on X.org for DRI drivers, this patch uses the new mesa3d option BR2_PACKAGE_MESA3D_OPENGL_GL to determine OpenGL support.
Fixes
http://autobuild.buildroot.net/results/461/46146a63f83e318f1213ec1d558558e3404d8ff8/
http://autobuild.buildroot.net/results/c91/c91f6bce6f8a0691467a5ca16d5fe15687ee945c/
http://autobuild.buildroot.net/results/ac5/ac560e36977f90cf93098c987d401d64edce24cb/
http://autobuild.buildroot.net/results/c71/c712af468012b1e23e3048207611f0da78fb1ae0/
http://autobuild.buildroot.net/results/b82/b8251a40f5eb5e1124e1a6e1abe407db83c75371/
http://autobuild.buildroot.net/results/667/667b7847e47b1d272d028da4a18d77e70ab01875/
http://autobuild.buildroot.net/results/6a4/6a45e32c0f894508d05c964a9a0fd645b6f3d6e4/
http://autobuild.buildroot.net/results/d96/d960bcfff386310e265d0d40533ef2ef7f74d5fe/
http://autobuild.buildroot.net/results/7bd/7bd41a86d60543d3de4483f86f0b5a719cf480b9/
and others
--- package/glmark2/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/glmark2/Config.in +1 -1
@@ -7,7 +7,7 @@ config BR2_PACKAGE_GLMARK2_EGL_GLES config BR2_PACKAGE_GLMARK2_GL bool default y - depends on BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on BR2_PACKAGE_MESA3D_OPENGL_GL comment "glmark2 needs an OpenGL or an openGL ES and EGL backend provided by mesa3d" depends on !BR2_PACKAGE_GLMARK2_GL && !BR2_PACKAGE_GLMARK2_EGL_GLES
Signature · 1 line
2.8.0.rc3
PATCH 2/8 package/glmark2: gl support also depends on X.org
Quoted 17 lines · Bernd Kuhls
https://git.busybox.net/buildroot/commit/package/mesa3d?id=f1894ec95728806e09405d26663e0ea371afaeab
removed the dependency on X.org for DRI drivers, this patch uses the new mesa3d optionBR2_PACKAGE_MESA3D_OPENGL_GLto determine OpenGL support.Fixes
http://autobuild.buildroot.net/results/461/46146a63f83e318f1213ec1d558558e3404d8ff8/
http://autobuild.buildroot.net/results/c91/c91f6bce6f8a0691467a5ca16d5fe15687ee945c/
http://autobuild.buildroot.net/results/ac5/ac560e36977f90cf93098c987d401d64edce24cb/
http://autobuild.buildroot.net/results/c71/c712af468012b1e23e3048207611f0da78fb1ae0/
http://autobuild.buildroot.net/results/b82/b8251a40f5eb5e1124e1a6e1abe407db83c75371/
http://autobuild.buildroot.net/results/667/667b7847e47b1d272d028da4a18d77e70ab01875/
http://autobuild.buildroot.net/results/6a4/6a45e32c0f894508d05c964a9a0fd645b6f3d6e4/
http://autobuild.buildroot.net/results/d96/d960bcfff386310e265d0d40533ef2ef7f74d5fe/
http://autobuild.buildroot.net/results/7bd/7bd41a86d60543d3de4483f86f0b5a719cf480b9/
and others
Quoted 1 line
Signed-off-by Bernd Kuhls <[email protected]>
(pending patch 1 from the series getting applied, and making my glmark2 autobuild fix completely irrelevant)
PATCH 2/8 package/glmark2: gl support also depends on X.org
In reply to Bernd KuhlsHello,
package/glmark2/Config.in config BR2_PACKAGE_GLMARK2_EGL_GLES · line 10
Quoted 10 lines · Bernd Kuhls
package/glmark2/Config.in +1
-1@@ -7,7 +7,7 @@ config BR2_PACKAGE_GLMARK2_EGL_GLES config BR2_PACKAGE_GLMARK2_GL bool default y - depends on BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on BR2_PACKAGE_MESA3D_OPENGL_GL
I know that may sound like a nitpicking debate, but I'm wondering if we shouldn't keep BR2_PACKAGE_MESA3D_OPENGL_GL as an internal mesa3d symbol, and instead use:
depends on BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_MESA3D
which really expresses what we want: we want an OpenGL implementation, and this OpenGL implementation has to be mesa3d.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/8 package/glmark2: gl support also depends on X.org
Quoted 10 lines · Thomas Petazzoni
I know that may sound like a nitpicking debate, but I'm wondering if we shouldn't keep
BR2_PACKAGE_MESA3D_OPENGL_GLas an internal mesa3d symbol, and instead use:depends on BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_MESA3Dwhich really expresses what we want: we want an OpenGL implementation, and this OpenGL implementation has to be mesa3d.
Thomas
I'm fine with nitpicking, however we already use BR2_PACKAGE_MESA3D_OPENGL_EGL and BR2_PACKAGE_MESA3D_OPENGL_ES in glmark2 and weston, which could also ostensibly be replaced by the more verbose conditional.
Granted, for weston what it really wants is wayland-egl, which AFAIK with our current packages is only provided by mesa3d.
Also while nitpicking the xorg drivers only want DRI so we can keep that as is since the xorg conditional is in there already (packages in x11r7/ already depend on xorg, plus mesa3d_dri gives opengl). Kind of a maybe take back my ACKs for the drivers.
Regards.
PATCH 2/8 package/glmark2: gl support also depends on X.org
Hello,
Quoted 4 lines · Gustavo Zacarias
I'm fine with nitpicking, however we already use
BR2_PACKAGE_MESA3D_OPENGL_EGLandBR2_PACKAGE_MESA3D_OPENGL_ESin glmark2 and weston, which could also ostensibly be replaced by the more verbose conditional.
I don't feel super strongly about using BR2_PACKAGE_MESA3D_OPENGL_GL vs. BR2_PACKAGE_HAS_LIBGL && BR2_PACKAGE_MESA3D. The former is admittedly shorter.
Quoted 2 lines
Granted, for weston what it really wants is wayland-egl, which AFAIK with our current packages is only provided by mesa3d.
Not sure what you mean here. Do you mean we should have a BR2_PACKAGE_MESA3D_WAYLAND_EGL blind option?
Quoted 4 lines
Also while nitpicking the xorg drivers only want DRI so we can keep that as is since the xorg conditional is in there already (packages in x11r7/ already depend on xorg, plus
mesa3d_drigives opengl). Kind of a maybe take back my ACKs for the drivers.
Hum, yes for the X.org drivers, I don't see why the patches are needed indeed. Unless Bernd disagrees, I will mark patches 5, 6, 7 and 8 as Rejected.
Bernd, can you respin patches 1, 2, 3 and 4 to take into account the comments Gustavo and I made (as well as include the Acked-by from Gustavo on patches 2, 3 and 4) ?
Thanks a lot!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/8 package/glmark2: gl support also depends on X.org
Quoted 2 lines · Thomas Petazzoni
Not sure what you mean here. Do you mean we should have a
BR2_PACKAGE_MESA3D_WAYLAND_EGLblind option?
Hi.
wayland-egl is basically (IIRC, i may miss a bit) a small piece of code of egl surface copy accelerator for wayland, which only mesa3d provides for now (like always when wayland is enabled).
So it should really be BR2_PACKAGE_PROVIDES_WAYLAND_EGL since i expect some other EGL stack will provide it eventually to play nice - essentially required for pure libgtk3 wayland support (example:
rpi-userland can't work with libgtk3 that way, though i think that piece of code from mesa3d could be stripped out and work, maybe not with the greatest level of performance and probably somewhat grey regarding licensing).
Regards.
PATCH 2/8 package/glmark2: gl support also depends on X.org
In reply to Thomas PetazzoniAm Wed, 27 Apr 2016 21:49:46 +0200 schrieb Thomas Petazzoni:
Quoted 3 lines
Bernd, can you respin patches 1, 2, 3 and 4 to take into account the comments Gustavo and I made (as well as include the Acked-by from Gustavo on patches 2, 3 and 4) ?
Hi,
I marked my series as "Changes requested" because I will not have time in the next days to send a new version.
Regards, Bernd
PATCH 3/8 package/kodi: Update OpenGL check
In reply to Bernd Kuhls--- package/kodi/kodi.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/kodi/kodi.mk +1 -1
@@ -187,7 +187,7 @@ KODI_DEPENDENCIES += libtheora endif # kodi needs libva & libva-glx -ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy) +ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_OPENGL_GL),yy) KODI_DEPENDENCIES += mesa3d libva KODI_CONF_OPTS += --enable-vaapi else
Signature · 1 line
2.8.0.rc3
PATCH 3/8 package/kodi: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 4/8 package/libva: Update OpenGL check
In reply to Bernd Kuhls--- package/libva/libva.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/libva/libva.mk +1 -1
@@ -19,7 +19,7 @@ LIBVA_CONF_OPTS = \ --disable-dummy-driver \ --with-drivers-path="/usr/lib/va" -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),y) LIBVA_DEPENDENCIES += mesa3d LIBVA_CONF_OPTS += --enable-glx else
Signature · 1 line
2.8.0.rc3
PATCH 4/8 package/libva: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 5/8 package/x11r7/xdriver_xf86-video-intel: Update OpenGL check
In reply to Bernd Kuhls--- package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +1 -1
@@ -31,7 +31,7 @@ XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \ xserver_xorg-server # X.org server support for DRI depends on a Mesa3D DRI driver -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),y) XDRIVER_XF86_VIDEO_INTEL_CONF_OPTS += --enable-dri --enable-dri1 # quote from configure.ac: "UXA doesn't build without DRI2 headers" ifeq ($(BR2_PACKAGE_XPROTO_DRI2PROTO),y)
Signature · 1 line
2.8.0.rc3
PATCH 5/8 package/x11r7/xdriver_xf86-video-intel: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 6/8 package/x11r7/xdriver_xf86-video-mach64: Update OpenGL check
In reply to Bernd Kuhls--- package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/x11r7/xdriver_xf86-video-mach64/xdriver_xf86-video-mach64.mk +1 -1
@@ -12,7 +12,7 @@ XDRIVER_XF86_VIDEO_MACH64_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_MACH64_AUTORECONF = YES XDRIVER_XF86_VIDEO_MACH64_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),) XDRIVER_XF86_VIDEO_MACH64_CONF_OPTS = --disable-dri endif
Signature · 1 line
2.8.0.rc3
PATCH 6/8 package/x11r7/xdriver_xf86-video-mach64: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 7/8 package/x11r7/xdriver_xf86-video-r128: Update OpenGL check
In reply to Bernd Kuhls--- package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/x11r7/xdriver_xf86-video-r128/xdriver_xf86-video-r128.mk +1 -1
@@ -12,7 +12,7 @@ XDRIVER_XF86_VIDEO_R128_LICENSE_FILES = COPYING XDRIVER_XF86_VIDEO_R128_AUTORECONF = YES XDRIVER_XF86_VIDEO_R128_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xextproto xproto_xproto -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),) XDRIVER_XF86_VIDEO_R128_CONF_OPTS = --disable-dri endif
Signature · 1 line
2.8.0.rc3
PATCH 7/8 package/x11r7/xdriver_xf86-video-r128: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 8/8 package/x11r7/xserver_xorg-server: Update OpenGL check
In reply to Bernd Kuhls--- package/x11r7/xserver_xorg-server/xserver_xorg-server.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/x11r7/xserver_xorg-server/xserver_xorg-server.mk +1 -1
@@ -130,7 +130,7 @@ else # modular XSERVER_XORG_SERVER_CONF_OPTS += --disable-kdrive --disable-xfbdev endif -ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y) +ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_GL),y) XSERVER_XORG_SERVER_CONF_OPTS += --enable-dri --enable-glx XSERVER_XORG_SERVER_DEPENDENCIES += mesa3d xproto_xf86driproto else
Signature · 1 line
2.8.0.rc3
PATCH 8/8 package/x11r7/xserver_xorg-server: Update OpenGL check
Quoted 1 line · Bernd Kuhls
Signed-off-by Bernd Kuhls <[email protected]>
PATCH 1/8 package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
In reply to Bernd KuhlsQuoted 11 lines · Bernd Kuhls
Until this commit
https://git.busybox.net/buildroot/commit/package/mesa3d?id=f1894ec95728806e09405d26663e0ea371afaeab
having an enabled DRI driver meant that X.org & full OpenGL support is also present. This is no longer the case which makes is difficult for users and other packages to determine whether full OpenGL support is present or not.This patch adds a new
KconfigoptionBR2_PACKAGE_MESA3D_OPENGL_GLto indicate full OpenGL support and meaningful comments in mesa3d/Config.in to describe what is necessary to build with full OpenGL support.
Hi Bernd.
Just a few nits/doubts about this patch:
package/mesa3d/Config.in config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER · line 35
Quoted 7 lines
config
BR2_PACKAGE_MESA3D_DRI_DRIVER
selectBR2_PACKAGE_MESA3D_DRIVER
selectBR2_PACKAGE_HAS_LIBGLifBR2_PACKAGE_XORG7package/mesa3d/Config.in +1
-0+ select BR2_PACKAGE_MESA3D_OPENGL_GL if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO bool
You select it here...
Quoted 4 lines
package/mesa3d/Config.in +3
-1-comment "Additional API Support" +comment "API Support" + +if BR2_PACKAGE_MESA3D_DRI_DRIVER
package/mesa3d/Config.in config BR2_PACKAGE_MESA3D_OSMESA · line 161
Quoted 10 lines
package/mesa3d/Config.in +10
-0+if BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_MESA3D_OPENGL_GL + bool "OpenGL" + help + This helper option is only visible when enabled and indicates + that Mesa3D contains full OpenGL support. + +endif +endif
However here it's not really an option is it?
I can understand showing it for clarity though.
Another nit is on EGL/GLES the logic is based on depends, however here you're using if/endif, might be good to match all of them (and since this isn't likely to grow i'd switch to depends).
Other than my comments above this is the correct approach at fixing the "not really opengl" scenario i've created ;)
Regards.
PATCH 1/8 package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
In reply to Bernd KuhlsHello,
Quoted 34 lines · Bernd Kuhls
package/mesa3d/Config.in +18
-1@@ -29,6 +29,7 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER config BR2_PACKAGE_MESA3D_DRI_DRIVER select BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_MESA3D_OPENGL_GL if BR2_PACKAGE_XORG7 select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO bool@@ -145,7 +146,33 @@ config BR2_PACKAGE_MESA3D_OSMESA if BR2_PACKAGE_MESA3D_DRIVER -comment "Additional API Support" +comment "API Support" + +if BR2_PACKAGE_MESA3D_DRI_DRIVER +if BR2_PACKAGE_XORG7 + +config BR2_PACKAGE_MESA3D_OPENGL_GL + bool "OpenGL" + help + This helper option is only visible when enabled and indicates + that Mesa3D contains full OpenGL support. + +endif +endif + +comment "full OpenGL support needs a DRI driver" + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on BR2_PACKAGE_XORG7
package/mesa3d/Config.in config BR2_PACKAGE_MESA3D_OSMESA · line 175
Quoted 10 lines
package/mesa3d/Config.in +10
-0+ +comment "full OpenGL support needs X.org" + depends on BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on !BR2_PACKAGE_XORG7 + +comment "full OpenGL support needs a DRI driver and X.org" + depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER + depends on !BR2_PACKAGE_MESA3D_OPENGL_GL + depends on !BR2_PACKAGE_XORG7
Unless I'm missing something, I believe this is much more complicated than it needs to be. Can't you just remove all this, and replace it with:
config BR2_PACKAGE_MESA3D_OPENGL_GL
bool
default y
depends on BR2_PACKAGE_XORG7
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER
This way, BR2_PACKAGE_MESA3D_OPENGL_GL is a blind option, that indicates to mesa3d.mk whether full OpenGL support is enabled or not.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/8 package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
[posted and mailed]
Thomas Petazzoni <[email protected]> wrote in news:20160427213040.327325f8 at free-electrons.com:
Quoted 2 lines
This way,
BR2_PACKAGE_MESA3D_OPENGL_GLis a blind option, that indicates to mesa3d.mk whether full OpenGL support is enabled or not.
Hi Thomas,
the goal of my patch series was to make the presence of OpenGL support in mesa3d visible to the user, your proposal is technically also fine with me but it needs more technical experience by users to enable the correct options to enable OpenGL support because the OpenGL option is a blind one. Users need to analyse the .mk files to get to know what is needed for certain features, these two philosophies can be seen at work with the Kodi and the Freeswitch package; the Kodi package provides a long list of options which enable other packages while the Freeswitch package, in its current state, relies only on previously enabled packages.
Is there a general preference in either direction? If we want to have as few visible Kconfig options as possible, then hiding the OpenGL option is ok, but if we want to show behind-the-stage dependencies to the user I vote for a visible OpenGL option as well, which is only visible if OpenGL support is active, like in my patch series.
Regards, Bernd
PATCH 1/8 package/mesa3d: introduce new Kconfig option to indicate full OpenGL support
Hello,
Quoted 4 lines · Bernd Kuhls
the goal of my patch series was to make the presence of OpenGL support in mesa3d visible to the user, your proposal is technically also fine with me but it needs more technical experience by users to enable the correct options to enable OpenGL support because the OpenGL option is a blind one.
Right, but your implementation is really weird. Due to:
+ select BR2_PACKAGE_MESA3D_OPENGL_GL if BR2_PACKAGE_XORG7
even if the user does *NOT* enable BR2_PACKAGE_MESA3D_OPENGL_GL, it will get forcefully selected as soon as the dependencies (BR2_PACKAGE_XORG7 && BR2_PACKAGE_MESA3D_DRI_DRIVER) are enabled.
In the end, you're creating an option that is not an option!
If you really want, you can improve my proposal by doing:
config BR2_PACKAGE_MESA3D_OPENGL_GL
bool
default y
depends on BR2_PACKAGE_XORG7
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER
comment "full OpenGL supports needs X.org and a DRI driver"
depends on !BR2_PACKAGE_MESA3D_OPENGL_GL
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com