Add virtual package for full-openGL (branch yem/fixes)
cover Add virtual package for full-openGL (branch yem/fixes)
From: "Yann E. MORIN" <[email protected]>
Hello All!
This series introduces a virtual package for full-openGL providers.
- to start with, patch #1 introduces a quick fix to the current circular dependency hell observed after the mesa3d move outside of X.org.
- then, patch 2 introduces a virtual package for full-openGL providers.
- next, in patch 3, mesa3d is converted to a provider for full-openGL.
- patch 4 converts vlc to use this full-openGL virtual package.
- finally, patches 5 and 6 fix the dependency on mesa3d for x11 drivers, and the X11 server.
In all this series, patch 1 is really an urgent workaround, and should be applied asap, while the rest of the series is being hammered on, since it fixes a real problem we're having right now, and for which the complete solution is not trivial.
I'd like to thank Paul for his very helpful comments on IRC while I was banging my head in despair on my keyboard (which will not help my keyboard-dislexia, by-the-way!) Thanks! :-)
Regards,
Yann E. MORIN.
The following changes since commit ba53265b9c2d1d54bdde96becee20613f6d688c3:
ifplugd: fix typo introduced in previous commit (2014-03-30 17:32:46 +0200)
are available in the git repository at:
git://gitorious.org/buildroot/buildroot.git yem/fixes
for you to fetch changes up to 1b076cbf2210b52a525e05b9a560f6b916561938:
package/xorg-server: do not force-select xf86driproto for mesa3d (2014-03-31 23:44:19 +0200)
----------------------------------------------------------------
Yann E. MORIN (6):
package/libevas: quick fix to get rid of circular deps package/libgl: introduce as a new virtual package for full-openGL providers package/mesa3d: is a full-openGL provider if X.org is present package/vlc: depends on the virtual package libgl package/x11-video-drivers: do not select, but depends on mesa3d package/xorg-server: do not force-select xf86driproto for mesa3d
package/efl/libevas/Config.in | 2 +- package/mesa3d/Config.in | 4 ++++ package/opengl/Config.in | 1 + package/opengl/libgl/Config.in | 6 ++++++ package/opengl/libgl/libgl.mk | 16 ++++++++++++++++ package/vlc/vlc.mk | 4 ++-- package/x11r7/xdriver_xf86-video-ati/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-glint/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-intel/Config.in | 7 +++++-- package/x11r7/xdriver_xf86-video-mach64/Config.in | 3 +++ package/x11r7/xdriver_xf86-video-mga/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-openchrome/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-r128/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-savage/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-sis/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-tdfx/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-vmware/Config.in | 5 ++++- package/x11r7/xserver_xorg-server/Config.in | 1 - 18 files changed, 74 insertions(+), 15 deletions(-) create mode 100644 package/opengl/libgl/Config.in create mode 100644 package/opengl/libgl/libgl.mk
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 1/6 package/libevas: quick fix to get rid of circular deps
From: "Yann E. MORIN" <[email protected]>
This is a quick workaround against the recently-introduced circular dependencies hell:
package/xbmc/Config.in:10:error: recursive dependency detected!
package/xbmc/Config.in:10: symbol BR2_PACKAGE_XBMC depends on BR2_PACKAGE_HAS_OPENGL_EGL
package/opengl/libegl/Config.in:1: symbol BR2_PACKAGE_HAS_OPENGL_EGL is selected by BR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:92: symbol BR2_PACKAGE_MESA3D_OPENGL_EGL depends on BR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbol BR2_PACKAGE_MESA3D is selected by BR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:149: symbol BR2_PACKAGE_LIBEVAS_GL is part of choice <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol BR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:90: symbol BR2_PACKAGE_LIBEVAS_SDL_GL depends on BR2_PACKAGE_SDL_X11
package/sdl/Config.in:24: symbol BR2_PACKAGE_SDL_X11 depends on BR2_PACKAGE_SDL
package/sdl/Config.in:1: symbol BR2_PACKAGE_SDL is selected by BR2_PACKAGE_PYTHON_PYGAME
package/python-pygame/Config.in:1: symbol BR2_PACKAGE_PYTHON_PYGAME depends on BR2_PACKAGE_PYTHON
package/python/Config.in:1: symbol BR2_PACKAGE_PYTHON is selected by BR2_PACKAGE_XBMC
Until this is properly fixed with the addition of a virtual package for full-openGL providers, just depend on mesa3d instead of selecting it.
--- package/efl/libevas/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/efl/libevas/Config.in +1 -1
@@ -148,7 +148,7 @@ choice config BR2_PACKAGE_LIBEVAS_GL bool "generic OpenGL" - select BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBEET config BR2_PACKAGE_LIBEVAS_GLES_SGX
Signature · 1 line
1.8.3.2
PATCH 1/6 package/libevas: quick fix to get rid of circular deps
Quoted 19 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
This is a quick workaround against the recently-introduced circular dependencies hell:
package/xbmc/Config.in:10:error: recursive dependency detected!
package/xbmc/Config.in:10: symbolBR2_PACKAGE_XBMCdepends onBR2_PACKAGE_HAS_OPENGL_EGL
package/opengl/libegl/Config.in:1: symbolBR2_PACKAGE_HAS_OPENGL_EGLis selected byBR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:92: symbolBR2_PACKAGE_MESA3D_OPENGL_EGLdepends onBR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbolBR2_PACKAGE_MESA3Dis selected byBR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:149: symbolBR2_PACKAGE_LIBEVAS_GLis part of choice <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbolBR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:90: symbolBR2_PACKAGE_LIBEVAS_SDL_GLdepends onBR2_PACKAGE_SDL_X11
package/sdl/Config.in:24: symbolBR2_PACKAGE_SDL_X11depends onBR2_PACKAGE_SDL
package/sdl/Config.in:1: symbolBR2_PACKAGE_SDLis selected byBR2_PACKAGE_PYTHON_PYGAME
package/python-pygame/Config.in:1: symbolBR2_PACKAGE_PYTHON_PYGAMEdepends onBR2_PACKAGE_PYTHON
package/python/Config.in:1: symbolBR2_PACKAGE_PYTHONis selected byBR2_PACKAGE_XBMC
Quoted 6 lines
Until this is properly fixed with the addition of a virtual package for full-openGL providers, just depend on mesa3d instead of selecting it.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Bernd Kuhls <[email protected]>Cc Thomas Petazzoni <[email protected]>
This should indeed go in quickly!
But shouldn't your series also include a patch that undoes this change?
Regards,
Arnout
Quoted 18 lines
--- package/efl/libevas/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)package/efl/libevas/Config.in +1
-1@@ -148,7 +148,7 @@ choice config BR2_PACKAGE_LIBEVAS_GL bool "generic OpenGL" - select BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBEET config BR2_PACKAGE_LIBEVAS_GLES_SGX
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/6 package/libevas: quick fix to get rid of circular deps
On 2014-04-02 08:13 +0200, Arnout Vandecappelle spake thusly:
Quoted 23 lines · Yann E. MORIN
Quoted 22 lines
From: "Yann E. MORIN" <[email protected]>
This is a quick workaround against the recently-introduced circular dependencies hell:
package/xbmc/Config.in:10:error: recursive dependency detected!
package/xbmc/Config.in:10: symbolBR2_PACKAGE_XBMCdepends onBR2_PACKAGE_HAS_OPENGL_EGL
package/opengl/libegl/Config.in:1: symbolBR2_PACKAGE_HAS_OPENGL_EGLis selected byBR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:92: symbolBR2_PACKAGE_MESA3D_OPENGL_EGLdepends onBR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbolBR2_PACKAGE_MESA3Dis selected byBR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:149: symbolBR2_PACKAGE_LIBEVAS_GLis part of choice <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbolBR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:90: symbolBR2_PACKAGE_LIBEVAS_SDL_GLdepends onBR2_PACKAGE_SDL_X11
package/sdl/Config.in:24: symbolBR2_PACKAGE_SDL_X11depends onBR2_PACKAGE_SDL
package/sdl/Config.in:1: symbolBR2_PACKAGE_SDLis selected byBR2_PACKAGE_PYTHON_PYGAME
package/python-pygame/Config.in:1: symbolBR2_PACKAGE_PYTHON_PYGAMEdepends onBR2_PACKAGE_PYTHON
package/python/Config.in:1: symbolBR2_PACKAGE_PYTHONis selected byBR2_PACKAGE_XBMCUntil this is properly fixed with the addition of a virtual package for full-openGL providers, just depend on mesa3d instead of selecting it.
Quoted 7 lines
Quoted 3 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Bernd Kuhls <[email protected]>Cc Thomas Petazzoni <[email protected]>This should indeed go in quickly!
So I think. Let's wait for Thomas to land in TLS tonight, then we'll poke him on IRC! ;-)
Quoted 1 line
But shouldn't your series also include a patch that undoes this change?
Yes, of course. I realised that after sending. But as I said in the cover-letter, this first patch is important, and the rest was merely to start discusion on the topic.
This series is now entirely deprecated, since we have a better plan (or so I hope) to fix all of this mess. I already have some important patches here, but the series is far from being complete.
Thanks for the review. :-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
Thomas Petazzoni
AppliedPATCH 1/6 package/libevas: quick fix to get rid of circular deps
In reply to Yann E. MORINDear Yann E. MORIN,
Quoted 22 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
This is a quick workaround against the recently-introduced circular dependencies hell:
package/xbmc/Config.in:10:error: recursive dependency detected!
package/xbmc/Config.in:10: symbolBR2_PACKAGE_XBMCdepends onBR2_PACKAGE_HAS_OPENGL_EGL
package/opengl/libegl/Config.in:1: symbolBR2_PACKAGE_HAS_OPENGL_EGLis selected byBR2_PACKAGE_MESA3D_OPENGL_EGL
package/mesa3d/Config.in:92: symbolBR2_PACKAGE_MESA3D_OPENGL_EGLdepends onBR2_PACKAGE_MESA3D
package/mesa3d/Config.in:1: symbolBR2_PACKAGE_MESA3Dis selected byBR2_PACKAGE_LIBEVAS_GL
package/efl/libevas/Config.in:149: symbolBR2_PACKAGE_LIBEVAS_GLis part of choice <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbol <choice>
package/efl/libevas/Config.in:144: choice <choice> contains symbolBR2_PACKAGE_LIBEVAS_SDL_GL
package/efl/libevas/Config.in:90: symbolBR2_PACKAGE_LIBEVAS_SDL_GLdepends onBR2_PACKAGE_SDL_X11
package/sdl/Config.in:24: symbolBR2_PACKAGE_SDL_X11depends onBR2_PACKAGE_SDL
package/sdl/Config.in:1: symbolBR2_PACKAGE_SDLis selected byBR2_PACKAGE_PYTHON_PYGAME
package/python-pygame/Config.in:1: symbolBR2_PACKAGE_PYTHON_PYGAMEdepends onBR2_PACKAGE_PYTHON
package/python/Config.in:1: symbolBR2_PACKAGE_PYTHONis selected byBR2_PACKAGE_XBMCUntil this is properly fixed with the addition of a virtual package for full-openGL providers, just depend on mesa3d instead of selecting it.
Quoted 6 lines
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Bernd Kuhls <[email protected]>Cc Thomas Petazzoni <[email protected]>--- package/efl/libevas/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/6 package/libgl: introduce as a new virtual package for full-openGL providers
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Currently, on mesa3d is such a full-openGL provider.
But it is easy to see a few more cropping at the door:
- NVidia's binary blob
- ATI's fglrx binary blob
Having this virtual full-openGL package will help when those are getting in.
--- package/opengl/Config.in | 1 + package/opengl/libgl/Config.in | 6 ++++++ package/opengl/libgl/libgl.mk | 16 ++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 package/opengl/libgl/Config.in create mode 100644 package/opengl/libgl/libgl.mk
package/opengl/Config.in +1 -0
@@ -1,3 +1,4 @@ +source "package/opengl/libgl/Config.in" source "package/opengl/libegl/Config.in" source "package/opengl/libgles/Config.in" source "package/opengl/libopenvg/Config.in"
package/opengl/libgl/Config.in new file +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_HAS_OPENGL + bool + +config BR2_PACKAGE_PROVIDES_OPENGL + depends on BR2_PACKAGE_HAS_OPENGL + string
package/opengl/libgl/libgl.mk new file +16 -0
@@ -0,0 +1,16 @@ +################################################################################ +# +# libgl +# +################################################################################ + +LIBGL_SOURCE = +LIBGL_DEPENDENCIES = $(call qstrip,$(BR2_PACKAGE_PROVIDES_OPENGL)) + +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) +ifeq ($(LIBGL_DEPENDENCIES),) +$(error No libGL implementation selected. Configuration error.) +endif +endif + +$(eval $(generic-package))
Signature · 1 line
1.8.3.2
PATCH 3/6 package/mesa3d: is a full-openGL provider if X.org is present
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
In combination with X.org, mesa3d is a full-openGL provider, as long as at least one driver is being built.
---
Thanks to Paul for explaining this on IRC! :-)
In parallel, Bernd posted his patch to the list, which was very similar to this one.
--- package/mesa3d/Config.in | 4 ++++ 1 file changed, 4 insertions(+)
package/mesa3d/Config.in +4 -0
@@ -34,6 +34,7 @@ comment "DRI drivers need shared libdrm" config BR2_PACKAGE_MESA3D_DRIVER bool + select BR2_PACKAGE_HAS_OPENGL menu "Drivers"
@@ -106,6 +107,9 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES endmenu +config BR2_PACKAGE_PROVIDES_OPENGL + default "mesa3d" if BR2_PACKAGE_MESA3D_DRIVER + config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
Signature · 1 line
1.8.3.2
PATCH 3/6 package/mesa3d: is a full-openGL provider if X.org is present
Hi Yann,
I don't see the "if X.org is present" part in your patch, what would prevent me from trying to enable OpenGL on a X11-less system?
You make BR2_PACKAGE_MESA3D_DRIVER select BR2_PACKAGE_HAS_OPENGL but that is wrong. Typically a X11-less system will enable a Gallium driver, while Mesa's OpenGL requires a DRI driver (hence the dependency on X11).
What I suggest is to select BR2_PACKAGE_HAS_OPENGL only from BR2_PACKAGE_MESA3D_DRI_DRIVER, and make BR2_PACKAGE_MESA3D_DRI_DRIVER available only if X11 is enabled, since it makes no sense building X11-only drivers in that case.
Also, the original Config.in has options to enable EGL/GLES, having an option to toggle OpenGL would be nice too, I think (and OpenVG, but that's a separate issue).
Bye,
Paul
Quoted 40 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
In combination with X.org, mesa3d is a full-openGL provider, as long as at least one driver is being built.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Paul Cercueil <[email protected]>Cc Bernd Kuhls <[email protected]>---
Thanks to Paul for explaining this on IRC! :-)
In parallel, Bernd posted his patch to the list, which was very similar to this one.--- package/mesa3d/Config.in | 4 ++++ 1 file changed, 4 insertions(+)package/mesa3d/Config.in +4
-0@@ -34,6 +34,7 @@ comment "DRI drivers need shared libdrm" config BR2_PACKAGE_MESA3D_DRIVER bool + select BR2_PACKAGE_HAS_OPENGL menu "Drivers"@@ -106,6 +107,9 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES endmenu +config BR2_PACKAGE_PROVIDES_OPENGL + default "mesa3d" if BR2_PACKAGE_MESA3D_DRIVER + config BR2_PACKAGE_PROVIDES_OPENGL_EGL default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
PATCH 3/6 package/mesa3d: is a full-openGL provider if X.org is present
Paul, All,
On 2014-04-01 09:48 +0200, Paul Cercueil spake thusly:
Quoted 2 lines
I don't see the "if X.org is present" part in your patch, what would prevent me from trying to enable OpenGL on a X11-less system?
Right, the commit log does not really match the changeset.
Quoted 3 lines
You make
BR2_PACKAGE_MESA3D_DRIVERselectBR2_PACKAGE_HAS_OPENGLbut that is wrong. Typically a X11-less system will enable a Gallium driver, while Mesa's OpenGL requires a DRI driver (hence the dependency on X11).
This is the same change Bernd did in his patch. I initially did:
config BR2_PACKAGE_MESA3D
bool "mesa3d"
select BR2_PACKAGE_HAS_OPENGL if BR2_PACKAGE_XORG7
if BR2_PACKAGE_MESA3D
config BR2_PACKAGE_PROVIDES_OPENGL
default "mesa3d" if BR2_PACKAGE_XORG7
endif
(only quoting the relevant parts)
But as Bernd (who seems much more knowledgeable than I in mesa3d) made than depend on BR2_PACKAGE_MESA3D_DRIVER, I eventually did the same.
Quoted 4 lines
What I suggest is to select
BR2_PACKAGE_HAS_OPENGLonly fromBR2_PACKAGE_MESA3D_DRI_DRIVER, and makeBR2_PACKAGE_MESA3D_DRI_DRIVERavailable only if X11 is enabled, since it makes no sense building X11-only drivers in that case.
But MESA3D_DRI_DRIVE is a blind option that is selected by the various Gallium or DRI drivers.
Of those drivers, only the i965 DRI driver depends on XORG7, the other DRI drivers, as well as the Gallium drivers, do not depend on XORG7.
Here are all the drivers:
nouveau (Gallium)
vmware (Gallium)
swrast (Gallium)
swrast (DRI)
i965 (DRI) depends on XORG7
radeon (DRI)
So, taking your comment into account, only the i965 should provide full-openGL, since it's the only one that guarantees X.org is present.
However, are the others missing a dependency on XORG7? Is it possible (and meaningful) to build the nouveau Gallium driver without X.org? The radeon driver? ...
I have to admit I am a bit lost in all this mess... :-(
So, here is basically what I propose for now:
- move the select _HAS_OPENGL to BR2_PACKAGE_MESA3D_DRI_DRIVER
- do the select only if XORG7 is selected
- add missing dependencies on XORG7 based on your feedback on the above question.
BTW, there is a bug in the way BR2_PACKAGE_MESA3D_DRI_DRIVER is defined:
config BR2_PACKAGE_MESA3D_DRI_DRIVER
select BR2_PACKAGE_MESA3D_DRIVER
depends on !BR2_PREFER_STATIC_LIB
bool
None of the symbols that select BR2_PACKAGE_MESA3D_DRI_DRIVER do depend on !BR2_PREFER_STATIC_LIB, so we can end-up in an unmet-dependency hell.
Basically, adding a 'depends on' to a no-prompt symbol is just wrong.
I'll fix that in my series.
Quoted 2 lines
Also, the original Config.in has options to enable EGL/GLES, having an option to toggle OpenGL would be nice too, I think
Well, we can add such an option in a follow-up patch; I do not like to mix fixes and enhancements in the same patch.
Quoted 2 lines
(and OpenVG, but that's a
separate issue).
Ditto, it can be in a follow-up patch.
Thank you for the review! :-)
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 3/6 package/mesa3d: is a full-openGL provider if X.org is present
Hi,
Comments embedded.
Quoted 46 lines · Yann E. MORIN
Paul, All,
On 2014-04-01 09:48 +0200, Paul Cercueil spake thusly:
Quoted 2 lines
I don't see the "if X.org is present" part in your patch, what would prevent me from trying to enable OpenGL on a X11-less system?
Right, the commit log does not really match the changeset.
Quoted 3 lines
You make
BR2_PACKAGE_MESA3D_DRIVERselectBR2_PACKAGE_HAS_OPENGLbut that is wrong. Typically a X11-less system will enable a Gallium driver, while Mesa's OpenGL requires a DRI driver (hence the dependency on X11).This is the same change Bernd did in his patch. I initially did:
config
BR2_PACKAGE_MESA3D
bool "mesa3d"
selectBR2_PACKAGE_HAS_OPENGLifBR2_PACKAGE_XORG7if
BR2_PACKAGE_MESA3Dconfig
BR2_PACKAGE_PROVIDES_OPENGL
default "mesa3d" ifBR2_PACKAGE_XORG7endif
(only quoting the relevant parts)
But as Bernd (who seems much more knowledgeable than I in mesa3d) made than depend on
BR2_PACKAGE_MESA3D_DRIVER, I eventually did the same.Quoted 4 lines
What I suggest is to select
BR2_PACKAGE_HAS_OPENGLonly fromBR2_PACKAGE_MESA3D_DRI_DRIVER, and makeBR2_PACKAGE_MESA3D_DRI_DRIVERavailable only if X11 is enabled, since it makes no sense building X11-only drivers in that case.But
MESA3D_DRI_DRIVEis a blind option that is selected by the various Gallium or DRI drivers.Of those drivers, only the i965 DRI driver depends on XORG7, the other DRI drivers, as well as the Gallium drivers, do not depend on XORG7.
Here are all the drivers:
nouveau (Gallium)
vmware (Gallium)
swrast (Gallium)
swrast (DRI)
i965 (DRI) depends on XORG7
radeon (DRI)
Quoted 8 lines
So, taking your comment into account, only the i965 should provide full-openGL, since it's the only one that guarantees X.org is present.
However, are the others missing a dependency on XORG7? Is it possible (and meaningful) to build the nouveau Gallium driver without X.org? The radeon driver? ...
I have to admit I am a bit lost in all this mess... :-(
It works like this: regular OpenGL only works with DRI drivers, and DRI drivers are only usable under X11.
Which means that all DRI drivers should depend on XORG7 (even the swrast one), and they should all select OpenGL.
Gallium drivers are meant to be used with EGL and OpenGL ES, and only some of them can be used under X11 using a DRI compatibility layer (for instance, "nouveau" in Mesa is both a Gallium and a DRI driver). But they should also all work fine without X11, and will support Wayland, which is not the case for DRI drivers.
Quoted 37 lines
So, here is basically what I propose for now:
- move the select
_HAS_OPENGLtoBR2_PACKAGE_MESA3D_DRI_DRIVER
- do the select only if XORG7 is selected
- add missing dependencies on XORG7 based on your feedback on the above question.BTW, there is a bug in the way
BR2_PACKAGE_MESA3D_DRI_DRIVERis defined:config
BR2_PACKAGE_MESA3D_DRI_DRIVER
selectBR2_PACKAGE_MESA3D_DRIVER
depends on !BR2_PREFER_STATIC_LIB
boolNone of the symbols that select
BR2_PACKAGE_MESA3D_DRI_DRIVERdo depend on !BR2_PREFER_STATIC_LIB, so we can end-up in an unmet-dependency hell.Basically, adding a 'depends on' to a no-prompt symbol is just wrong.
I'll fix that in my series.
Quoted 2 lines
Also, the original Config.in has options to enable EGL/GLES, having an option to toggle OpenGL would be nice too, I think
Well, we can add such an option in a follow-up patch; I do not like to mix fixes and enhancements in the same patch.
Quoted 2 lines
(and OpenVG, but that's a
separate issue).Ditto, it can be in a follow-up patch.
Thank you for the review! :-)
Regards,
Yann E. MORIN.
PATCH 3/6 package/mesa3d: is a full-openGL provider if X.org is present
Paul, All,
On 2014-04-01 22:14 +0200, Paul Cercueil spake thusly:
Quoted 8 lines · Yann E. MORIN
Quoted 1 line
I have to admit I am a bit lost in all this mess... :-(
It works like this: regular OpenGL only works with DRI drivers, and DRI drivers are only usable under X11.
Which means that all DRI drivers should depend on XORG7 (even the swrast one), and they should all select OpenGL.
Quoted 5 lines
Gallium drivers are meant to be used with EGL and OpenGL ES, and only some of them can be used under X11 using a DRI compatibility layer (for instance, "nouveau" in Mesa is both a Gallium and a DRI driver). But they should also all work fine without X11, and will support Wayland, which is not the case for DRI drivers.
OK, you managed to confuse me yet a bit more! :-)
So, to sum-up our discussion on IRC, so everyone can follow:
- mesa3d has two types of drivers: Gallium drivers, and DRI drivers
- Gallium drivers provide EGL and GLES
- DRI drivers provide full-openGL, and also EGL and GLES
- for a specific chip, there are two drivers: one Gallium and one DRI
- some drivers have a DRI wrapper over a Gallium driver, wrapper that provides DRI via the Gallium driver
- X11 needs a DRI driver
- Gallium are used for non-X11 display (eg. directfb, a wayland
compositor...)
Is the above a proper summary of what you explained me on IRC?
I'll wait for your reply before I lay out my proposal for fixing mesa3d support in Buildroot, because if any of the above is wrong, my prioposal would be wrong.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 4/6 package/vlc: depends on the virtual package libgl
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
Currently, vlc depends on mesa3d to provide the openGL support.
We now have a virtual package, libgl, which ensures openGL is available.
--- package/vlc/vlc.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/vlc/vlc.mk +2 -2
@@ -118,9 +118,9 @@ else VLC_CONF_OPT += --disable-flac endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) VLC_CONF_OPT += --enable-glx -VLC_DEPENDENCIES += mesa3d +VLC_DEPENDENCIES += libgl else VLC_CONF_OPT += --disable-glx endif
Signature · 1 line
1.8.3.2
PATCH 4/6 package/vlc: depends on the virtual package libgl
Quoted 17 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
Currently, vlc depends on mesa3d to provide the openGL support.
We now have a virtual package, libgl, which ensures openGL is available.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Bernd Kuhls <[email protected]>--- package/vlc/vlc.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/vlc/vlc.mk +0
-0
package/vlc/vlc.mk else · line 122
Quoted 6 lines
package/vlc/vlc.mk +1
-1@@ -118,9 +118,9 @@ else VLC_CONF_OPT += --disable-flac endif -ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) VLC_CONF_OPT += --enable-glx
Since the option is called enable-glx, it sounds as if it should depend
on X as well (I don't think wayland has glx, right?)
Regards,
Arnout
Quoted 6 lines
package/vlc/vlc.mk +1
-1-VLC_DEPENDENCIES += mesa3d +VLC_DEPENDENCIES += libgl else VLC_CONF_OPT += --disable-glx endif
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 4/6 package/vlc: depends on the virtual package libgl
Arnout, All,
On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
Quoted 21 lines · Yann E. MORIN
Quoted 20 lines
From: "Yann E. MORIN" <[email protected]>
Currently, vlc depends on mesa3d to provide the openGL support.
We now have a virtual package, libgl, which ensures openGL is available.
Signed-off-by "Yann E. MORIN" <[email protected]>Cc Bernd Kuhls <[email protected]>--- package/vlc/vlc.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/vlc/vlc.mk +0
-0@@ -118,9 +118,9 @@ else VLC_CONF_OPT += --disable-flac endif
Quoted 6 lines
package/vlc/vlc.mk else · line 122
Quoted 3 lines
package/vlc/vlc.mk +1
-1-ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) VLC_CONF_OPT += --enable-glxSince the option is called enable-glx, it sounds as if it should depend
on X as well (I don't think wayland has glx, right?)
Well, full-openGL is only possible with X11 anyway, so BR2_PACKAGE_HAS_OPENGL will itself not be set when X.org is not selected as well.
So, I think we can just depend on BR2_PACKAGE_HAS_OPENGL for this option.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 4/6 package/vlc: depends on the virtual package libgl
Quoted 5 lines · Yann E. MORIN
Arnout, All,
On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
Quoted 2 lines · Yann E. MORIN
Quoted 1 line
From: "Yann E. MORIN" <[email protected]>
[snip]
Quoted 9 lines
Quoted 6 lines
package/vlc/vlc.mk else · line 122
Quoted 3 lines
package/vlc/vlc.mk +1
-1-ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) VLC_CONF_OPT += --enable-glxSince the option is called enable-glx, it sounds as if it should depend
on X as well (I don't think wayland has glx, right?)Well, full-openGL is only possible with X11 anyway, so
BR2_PACKAGE_HAS_OPENGLwill itself not be set when X.org is not selected as well.
So wayland doesn't support full-GL? Or maybe wayland also supports glx?
Regards,
Arnout
Quoted 7 lines
So, I think we can just depend on
BR2_PACKAGE_HAS_OPENGLfor this option.Regards,
Yann E. MORIN.
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 4/6 package/vlc: depends on the virtual package libgl
Arnout, All,
On 2014-04-03 08:18 +0200, Arnout Vandecappelle spake thusly:
Quoted 14 lines · Yann E. MORIN
Quoted 5 lines
Arnout, All,
On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
Quoted 2 lines · Yann E. MORIN
Quoted 1 line
From: "Yann E. MORIN" <[email protected]>
[snip]
Quoted 7 lines
Quoted 6 lines
package/vlc/vlc.mk else · line 122
Quoted 3 lines
package/vlc/vlc.mk +1
-1-ifeq ($(BR2_PACKAGE_MESA3D),y) +ifeq ($(BR2_PACKAGE_HAS_OPENGL),y) VLC_CONF_OPT += --enable-glxSince the option is called enable-glx, it sounds as if it should depend
on X as well (I don't think wayland has glx, right?)
Quoted 4 lines
Quoted 2 lines
Well, full-openGL is only possible with X11 anyway, so
BR2_PACKAGE_HAS_OPENGLwill itself not be set when X.org is not selected as well.So wayland doesn't support full-GL? Or maybe wayland also supports glx?
It is my understanding that Wayland only "supports" EGL and GLES2.
But Wayland itself is but a protocol. What matter are the compositor (the server) and the applications (the clients).
I am not that knowledgeable in the subject, but from what I understand:
- a Wayland compositor only needs EGL (plus a wayland-specific extension that is slowly trickling-down to any known-so-far EGL implementations.)
- as for what a Wayland application may use, I guess it is also limited to only doing EGL calls, not full OpenGL either.
Here is a nice, short and concise description of Wayland to which I refer you:
http://wayland.freedesktop.org/architecture.html
It is only speaking of EGL/GLES2:
---8<---
Typically, hardware enabling includes modesetting/display and EGL/GLES2. On top of that, Wayland needs a way to share buffers efficiently between processes. There are two sides to that, the client side and the server side.
On the client side we've defined a Wayland EGL platform. In the EGL model, that consists of the native types (EGLNativeDisplayType, EGLNativeWindowType and EGLNativePixmapType) and a way to create those types. In other words, it's the glue code that binds the EGL stack and its buffer sharing mechanism to the generic Wayland API. The EGL stack is expected to provide an implementation of the Wayland EGL platform. [...]
The server side of Wayland is the compositor and core UX for the vertical, typically integrating task switcher, app launcher, lock screen in one monolithic application. The server runs on top of a modesetting API (kernel modesetting, OpenWF Display or similar) and composites the final UI using a mix of EGL/GLES2 compositor and hardware overlays if available. Enabling modesetting, EGL/GLES2 and overlays is something that should be part of standard hardware bringup. The extra requirement for Wayland enabling is the EGL_WL_bind_wayland_display extension that lets the compositor create an EGLImage from a generic Wayland shared buffer. [...]
---8<---
So, no. No full OpenGL with Wayland.
Someone more knowledgeable than I will easily prove me wrong, however.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 5/6 package/x11-video-drivers: do not select, but depends on mesa3d
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
mesa3d is now a full-openGL provider for the virtual package libgl.
It is currently the only provider, but we can safely envision more providers to be added later: NVidia's binary blob, ATI's fglrx binary blob... So, forcibly selecting mesa3d would come clashing with other full-openGL providers.
Also, since mesa3d has implementations for different chips, selecting mesa3d is not enough. There would still be the need to select the required galium driver.
So, just transform all instances of 'select mesa3d' to 'depends on mesa3d'.
To be noted: xf86-video-mach64 already used a 'depends on' rather than a 'select'.
At the same time, move the intel drivers dependencies to the top.
--- package/x11r7/xdriver_xf86-video-ati/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-glint/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-intel/Config.in | 7 +++++-- package/x11r7/xdriver_xf86-video-mach64/Config.in | 3 +++ package/x11r7/xdriver_xf86-video-mga/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-openchrome/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-r128/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-savage/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-sis/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-tdfx/Config.in | 5 ++++- package/x11r7/xdriver_xf86-video-vmware/Config.in | 5 ++++- 11 files changed, 44 insertions(+), 11 deletions(-)
package/x11r7/xdriver_xf86-video-ati/Config.in +4 -1
@@ -1,8 +1,8 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI bool "xf86-video-ati" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_RADEON - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_GLPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO
@@ -13,3 +13,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_ATI select BR2_PACKAGE_XPROTO_XPROTO help ATI video driver + +comment "xf86-video-ati needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-glint/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT bool "xf86-video-glint" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_GLPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO
@@ -13,3 +13,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT select BR2_PACKAGE_XPROTO_XPROTO help GLINT/Permedia video driver + +comment "xf86-video-glint needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-intel/Config.in +5 -2
@@ -1,5 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL bool "xf86-video-intel" + depends on (BR2_i386 || BR2_x86_64) + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO
@@ -7,7 +9,8 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL select BR2_PACKAGE_XLIB_LIBPCIACCESS select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM_INTEL - select BR2_PACKAGE_MESA3D - depends on (BR2_i386 || BR2_x86_64) help Intel video driver + +comment "xf86-video-intel needs mesa3d" + depends on BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-mach64/Config.in +3 -0
@@ -9,3 +9,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MACH64 select BR2_PACKAGE_XPROTO_XPROTO help mach64 video driver + +comment "xf86-video-mach64 needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-mga/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA bool "xf86-video-mga" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_GLPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO
@@ -12,3 +12,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_MGA select BR2_PACKAGE_XPROTO_XPROTO help Matrox video driver + +comment "xf86-video-mga needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-openchrome/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME bool "xf86-video-openchrome" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XLIB_LIBX11 select BR2_PACKAGE_XLIB_LIBXCOMPOSITE select BR2_PACKAGE_XLIB_LIBXVMC
@@ -14,3 +14,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_OPENCHROME help Openchrome, A free and Open Source video driver for the VIA/S3G UniChrome and UniChrome Pro graphics chipsets. + +comment "xf86-video-openchrome needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-r128/Config.in +4 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128 bool "xf86-video-r128" - select BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO
@@ -8,3 +8,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_R128 select BR2_PACKAGE_XPROTO_XPROTO help R128 video driver + +comment "xf86-video-r128 needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-savage/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE bool "xf86-video-savage" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO
@@ -11,3 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SAVAGE select BR2_PACKAGE_XPROTO_XPROTO help S3 Savage video driver + +comment "xf86-video-savage needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-sis/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS bool "xf86-video-sis" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO
@@ -13,3 +13,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_SIS select BR2_PACKAGE_XPROTO_XPROTO help SiS and XGI video driver + +comment "xf86-video-sis needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-tdfx/Config.in +4 -1
@@ -1,7 +1,7 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX bool "xf86-video-tdfx" + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_LIBDRM - select BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO select BR2_PACKAGE_XPROTO_RENDERPROTO
@@ -11,3 +11,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_TDFX select BR2_PACKAGE_XPROTO_XPROTO help 3Dfx video driver + +comment "xf86-video-tdfx needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/x11r7/xdriver_xf86-video-vmware/Config.in +4 -1
@@ -1,6 +1,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE bool "xf86-video-vmware" - select BR2_PACKAGE_MESA3D + depends on BR2_PACKAGE_MESA3D select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA select BR2_PACKAGE_XPROTO_FONTSPROTO select BR2_PACKAGE_XPROTO_RANDRPROTO
@@ -10,3 +10,6 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_VMWARE select BR2_PACKAGE_XPROTO_XPROTO help VMware SVGA video driver + +comment "xf86-video-vmware needs mesa3d" + depends on !BR2_PACKAGE_MESA3D
Signature · 1 line
1.8.3.2
PATCH 5/6 package/x11-video-drivers: do not select, but depends on mesa3d
Hi,
"Yann E. MORIN" <[email protected]> wrote in news:887ad694204dc2032ade7bdacb8e9d9aa48205ac.1396302677.git.yann.morin.199 8 at free.fr:
Quoted 2 lines
a/package/x11r7/xdriver_xf86-video-intel/Config.in +++ b/package/x11r7/xdriver_xf86-video-intel/Config.in @@ -1,5 +1,7 @@
[...]
package/x11r7/xdriver_xf86-video-intel/Config.in config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL · line 16
Quoted 2 lines
package/x11r7/xdriver_xf86-video-intel/Config.in +2
-0+comment "xf86-video-intel needs mesa3d" + depends on BR2_PACKAGE_MESA3D
"depends on !BR2_PACKAGE_MESA3D"
Regards, Bernd
PATCH 5/6 package/x11-video-drivers: do not select, but depends on mesa3d
Bernd, All,
On 2014-04-02 22:01 +0200, Bernd Kuhls spake thusly:
Quoted 9 lines
Hi,
"Yann E. MORIN" <[email protected]> wrote in news:887ad694204dc2032ade7bdacb8e9d9aa48205ac.1396302677.git.yann.morin.199 8 at free.fr:
Quoted 2 lines
a/package/x11r7/xdriver_xf86-video-intel/Config.in +++ b/package/x11r7/xdriver_xf86-video-intel/Config.in @@ -1,5 +1,7 @@
Quoted 6 lines
[...]
package/x11r7/xdriver_xf86-video-intel/Config.in config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL · line 16
Quoted 2 lines
package/x11r7/xdriver_xf86-video-intel/Config.in +2
-0+comment "xf86-video-intel needs mesa3d" + depends on BR2_PACKAGE_MESA3D"depends on !BR2_PACKAGE_MESA3D"
Good catch! Thanks!
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH 6/6 package/xorg-server: do not force-select xf86driproto for mesa3d
In reply to Yann E. MORINFrom: "Yann E. MORIN" <[email protected]>
This is already handled by mesa3d itself.
--- package/x11r7/xserver_xorg-server/Config.in | 1 - 1 file changed, 1 deletion(-)
package/x11r7/xserver_xorg-server/Config.in +0 -1
@@ -45,7 +45,6 @@ config BR2_PACKAGE_XSERVER_XORG_SERVER select BR2_PACKAGE_XPROTO_XEXTPROTO select BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO select BR2_PACKAGE_XPROTO_XF86DGAPROTO - select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_MESA3D select BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO select BR2_PACKAGE_XPROTO_XPROTO select BR2_PACKAGE_XUTIL_UTIL_MACROS
Signature · 1 line
1.8.3.2
cover Add virtual package for full-openGL (branch yem/fixes)
In reply to Yann E. MORINYann E., Bernd,
Quoted 5 lines · Yann E. MORIN
From: "Yann E. MORIN" <[email protected]>
Hello All!
This series introduces a virtual package for full-openGL providers.
Thanks for your work on this. I am using it to add support for CoGL/Clutter to Buildroot (wraps opengl, gles, egl, with/without x11/wayland). Now I can build it for Qemu/x86 and Raspberry :-)
Best regards,
ELB
(https://github.com/elebihan/buildroot/tree/clutter-support)
cover Add virtual package for full-openGL (branch yem/fixes)
In reply to Yann E. MORINOn 2014-03-31 23:59 +0200, Yann E. MORIN spake thusly:
Quoted 3 lines
Hello All!
This series introduces a virtual package for full-openGL providers.
Please disregard this series.
I'm doing a more complete one based on input from Paul.
Bernd, I'll have a look at your GLEW/GLU series and see if it is possible to merge mine in yours.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'