All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes)
@ 2014-03-31 21:59 Yann E. MORIN
  2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
                   ` (7 more replies)
  0 siblings, 8 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 21:59 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
@ 2014-03-31 21:59 ` Yann E. MORIN
  2014-04-02  6:13   ` Arnout Vandecappelle
  2014-04-03 20:43   ` Thomas Petazzoni
  2014-03-31 21:59 ` [Buildroot] [PATCH 2/6] package/libgl: introduce as a new virtual package for full-openGL providers Yann E. MORIN
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 21:59 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/efl/libevas/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in
index 2afa888..8eea23d 100644
--- a/package/efl/libevas/Config.in
+++ b/package/efl/libevas/Config.in
@@ -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
-- 
1.8.3.2

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

* [Buildroot] [PATCH 2/6] package/libgl: introduce as a new virtual package for full-openGL providers
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
  2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
@ 2014-03-31 21:59 ` Yann E. MORIN
  2014-03-31 21:59 ` [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present Yann E. MORIN
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 21:59 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
Cc: Paul Cercueil <paul@crapouillou.net>
---
 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

diff --git a/package/opengl/Config.in b/package/opengl/Config.in
index ed81835..20ee28b 100644
--- a/package/opengl/Config.in
+++ b/package/opengl/Config.in
@@ -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"
diff --git a/package/opengl/libgl/Config.in b/package/opengl/libgl/Config.in
new file mode 100644
index 0000000..5eb277a
--- /dev/null
+++ b/package/opengl/libgl/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_HAS_OPENGL
+	bool
+
+config BR2_PACKAGE_PROVIDES_OPENGL
+	depends on BR2_PACKAGE_HAS_OPENGL
+	string
diff --git a/package/opengl/libgl/libgl.mk b/package/opengl/libgl/libgl.mk
new file mode 100644
index 0000000..cf9daa5
--- /dev/null
+++ b/package/opengl/libgl/libgl.mk
@@ -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))
-- 
1.8.3.2

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

* [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
  2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
  2014-03-31 21:59 ` [Buildroot] [PATCH 2/6] package/libgl: introduce as a new virtual package for full-openGL providers Yann E. MORIN
@ 2014-03-31 21:59 ` Yann E. MORIN
  2014-04-01  7:48   ` Paul Cercueil
  2014-03-31 22:00 ` [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl Yann E. MORIN
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 21:59 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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" <yann.morin.1998@free.fr>
Cc: Paul Cercueil <paul@crapouillou.net>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>

---
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(+)

diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
index 8ed0c07..f3d855b 100644
--- a/package/mesa3d/Config.in
+++ b/package/mesa3d/Config.in
@@ -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
 
-- 
1.8.3.2

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

* [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
                   ` (2 preceding siblings ...)
  2014-03-31 21:59 ` [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present Yann E. MORIN
@ 2014-03-31 22:00 ` Yann E. MORIN
  2014-04-02  6:19   ` Arnout Vandecappelle
  2014-03-31 22:00 ` [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d Yann E. MORIN
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 22:00 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <berndkuhls@hotmail.com>
---
 package/vlc/vlc.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
index a9ee620..f78f209 100644
--- a/package/vlc/vlc.mk
+++ b/package/vlc/vlc.mk
@@ -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
-- 
1.8.3.2

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

* [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
                   ` (3 preceding siblings ...)
  2014-03-31 22:00 ` [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl Yann E. MORIN
@ 2014-03-31 22:00 ` Yann E. MORIN
  2014-04-02 20:01   ` Bernd Kuhls
  2014-03-31 22:00 ` [Buildroot] [PATCH 6/6] package/xorg-server: do not force-select xf86driproto for mesa3d Yann E. MORIN
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 22:00 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

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.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Cc: Paul Cercueil <paul@crapouillou.net>
---
 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(-)

diff --git a/package/x11r7/xdriver_xf86-video-ati/Config.in b/package/x11r7/xdriver_xf86-video-ati/Config.in
index 3c0cac3..3beee68 100644
--- a/package/x11r7/xdriver_xf86-video-ati/Config.in
+++ b/package/x11r7/xdriver_xf86-video-ati/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-glint/Config.in b/package/x11r7/xdriver_xf86-video-glint/Config.in
index bd92788..acae30b 100644
--- a/package/x11r7/xdriver_xf86-video-glint/Config.in
+++ b/package/x11r7/xdriver_xf86-video-glint/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-intel/Config.in b/package/x11r7/xdriver_xf86-video-intel/Config.in
index 83b714a..8781e1c 100644
--- a/package/x11r7/xdriver_xf86-video-intel/Config.in
+++ b/package/x11r7/xdriver_xf86-video-intel/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-mach64/Config.in b/package/x11r7/xdriver_xf86-video-mach64/Config.in
index 674071c..42535e4 100644
--- a/package/x11r7/xdriver_xf86-video-mach64/Config.in
+++ b/package/x11r7/xdriver_xf86-video-mach64/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-mga/Config.in b/package/x11r7/xdriver_xf86-video-mga/Config.in
index 2fc3837..a504ec0 100644
--- a/package/x11r7/xdriver_xf86-video-mga/Config.in
+++ b/package/x11r7/xdriver_xf86-video-mga/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-openchrome/Config.in b/package/x11r7/xdriver_xf86-video-openchrome/Config.in
index 24b74bc..db27eef 100644
--- a/package/x11r7/xdriver_xf86-video-openchrome/Config.in
+++ b/package/x11r7/xdriver_xf86-video-openchrome/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-r128/Config.in b/package/x11r7/xdriver_xf86-video-r128/Config.in
index 07e3142..647156f 100644
--- a/package/x11r7/xdriver_xf86-video-r128/Config.in
+++ b/package/x11r7/xdriver_xf86-video-r128/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-savage/Config.in b/package/x11r7/xdriver_xf86-video-savage/Config.in
index 93a731e..77dde87 100644
--- a/package/x11r7/xdriver_xf86-video-savage/Config.in
+++ b/package/x11r7/xdriver_xf86-video-savage/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-sis/Config.in b/package/x11r7/xdriver_xf86-video-sis/Config.in
index e184505..3c86bd4 100644
--- a/package/x11r7/xdriver_xf86-video-sis/Config.in
+++ b/package/x11r7/xdriver_xf86-video-sis/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-tdfx/Config.in b/package/x11r7/xdriver_xf86-video-tdfx/Config.in
index 811eba2..96a69ba 100644
--- a/package/x11r7/xdriver_xf86-video-tdfx/Config.in
+++ b/package/x11r7/xdriver_xf86-video-tdfx/Config.in
@@ -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
diff --git a/package/x11r7/xdriver_xf86-video-vmware/Config.in b/package/x11r7/xdriver_xf86-video-vmware/Config.in
index a4d2052..2e6b24d 100644
--- a/package/x11r7/xdriver_xf86-video-vmware/Config.in
+++ b/package/x11r7/xdriver_xf86-video-vmware/Config.in
@@ -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
-- 
1.8.3.2

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

* [Buildroot] [PATCH 6/6] package/xorg-server: do not force-select xf86driproto for mesa3d
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
                   ` (4 preceding siblings ...)
  2014-03-31 22:00 ` [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d Yann E. MORIN
@ 2014-03-31 22:00 ` Yann E. MORIN
  2014-04-01 19:11 ` [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Eric Le Bihan
  2014-04-01 23:00 ` Yann E. MORIN
  7 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-03-31 22:00 UTC (permalink / raw)
  To: buildroot

From: "Yann E. MORIN" <yann.morin.1998@free.fr>

This is already handled by mesa3d itself.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/x11r7/xserver_xorg-server/Config.in | 1 -
 1 file changed, 1 deletion(-)

diff --git a/package/x11r7/xserver_xorg-server/Config.in b/package/x11r7/xserver_xorg-server/Config.in
index dfa7d10..e191dce 100644
--- a/package/x11r7/xserver_xorg-server/Config.in
+++ b/package/x11r7/xserver_xorg-server/Config.in
@@ -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
-- 
1.8.3.2

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

* [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present
  2014-03-31 21:59 ` [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present Yann E. MORIN
@ 2014-04-01  7:48   ` Paul Cercueil
  2014-04-01 18:14     ` Yann E. MORIN
  0 siblings, 1 reply; 22+ messages in thread
From: Paul Cercueil @ 2014-04-01  7:48 UTC (permalink / raw)
  To: buildroot

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


On 03/31/2014 11:59 PM, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> 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" <yann.morin.1998@free.fr>
> Cc: Paul Cercueil <paul@crapouillou.net>
> Cc: Bernd Kuhls <berndkuhls@hotmail.com>
>
> ---
> 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(+)
>
> diff --git a/package/mesa3d/Config.in b/package/mesa3d/Config.in
> index 8ed0c07..f3d855b 100644
> --- a/package/mesa3d/Config.in
> +++ b/package/mesa3d/Config.in
> @@ -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
>
>

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

* [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present
  2014-04-01  7:48   ` Paul Cercueil
@ 2014-04-01 18:14     ` Yann E. MORIN
  2014-04-01 20:14       ` Paul Cercueil
  0 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-01 18:14 UTC (permalink / raw)
  To: buildroot

Paul, All,

On 2014-04-01 09:48 +0200, Paul Cercueil spake thusly:
> 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.

> 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).

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.

> 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.

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.

> 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.

> (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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes)
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
                   ` (5 preceding siblings ...)
  2014-03-31 22:00 ` [Buildroot] [PATCH 6/6] package/xorg-server: do not force-select xf86driproto for mesa3d Yann E. MORIN
@ 2014-04-01 19:11 ` Eric Le Bihan
  2014-04-01 23:00 ` Yann E. MORIN
  7 siblings, 0 replies; 22+ messages in thread
From: Eric Le Bihan @ 2014-04-01 19:11 UTC (permalink / raw)
  To: buildroot

Yann E., Bernd,
On Mon, Mar 31, 2014 at 11:59:57PM +0200, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
>
> 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)

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

* [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present
  2014-04-01 18:14     ` Yann E. MORIN
@ 2014-04-01 20:14       ` Paul Cercueil
  2014-04-01 21:20         ` Yann E. MORIN
  0 siblings, 1 reply; 22+ messages in thread
From: Paul Cercueil @ 2014-04-01 20:14 UTC (permalink / raw)
  To: buildroot

Hi,

Comments embedded.

On 01/04/2014 20:14, Yann E. MORIN wrote:
> Paul, All,
>
> On 2014-04-01 09:48 +0200, Paul Cercueil spake thusly:
>> 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.
>
>> 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).
> 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.
>
>> 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.
> 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... :-(

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.
>
> 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.
>
>> 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.
>
>> (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.
>

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

* [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present
  2014-04-01 20:14       ` Paul Cercueil
@ 2014-04-01 21:20         ` Yann E. MORIN
  0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-01 21:20 UTC (permalink / raw)
  To: buildroot

Paul, All,

On 2014-04-01 22:14 +0200, Paul Cercueil spake thusly:
> On 01/04/2014 20:14, Yann E. MORIN wrote:
> >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.

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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes)
  2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
                   ` (6 preceding siblings ...)
  2014-04-01 19:11 ` [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Eric Le Bihan
@ 2014-04-01 23:00 ` Yann E. MORIN
  7 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-01 23:00 UTC (permalink / raw)
  To: buildroot

On 2014-03-31 23:59 +0200, Yann E. MORIN spake thusly:
> 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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps
  2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
@ 2014-04-02  6:13   ` Arnout Vandecappelle
  2014-04-02 16:25     ` Yann E. MORIN
  2014-04-03 20:43   ` Thomas Petazzoni
  1 sibling, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2014-04-02  6:13 UTC (permalink / raw)
  To: buildroot

On 31/03/14 23:59, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Bernd Kuhls <berndkuhls@hotmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 This should indeed go in quickly!

 But shouldn't your series also include a patch that undoes this change?

 Regards,
 Arnout


> ---
>  package/efl/libevas/Config.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/efl/libevas/Config.in b/package/efl/libevas/Config.in
> index 2afa888..8eea23d 100644
> --- a/package/efl/libevas/Config.in
> +++ b/package/efl/libevas/Config.in
> @@ -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
> 


-- 
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

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

* [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl
  2014-03-31 22:00 ` [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl Yann E. MORIN
@ 2014-04-02  6:19   ` Arnout Vandecappelle
  2014-04-02 16:26     ` Yann E. MORIN
  0 siblings, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2014-04-02  6:19 UTC (permalink / raw)
  To: buildroot

On 01/04/14 00:00, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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" <yann.morin.1998@free.fr>
> Cc: Bernd Kuhls <berndkuhls@hotmail.com>
> ---
>  package/vlc/vlc.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
> index a9ee620..f78f209 100644
> --- a/package/vlc/vlc.mk
> +++ b/package/vlc/vlc.mk
> @@ -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

> -VLC_DEPENDENCIES += mesa3d
> +VLC_DEPENDENCIES += libgl
>  else
>  VLC_CONF_OPT += --disable-glx
>  endif
> 


-- 
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

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

* [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps
  2014-04-02  6:13   ` Arnout Vandecappelle
@ 2014-04-02 16:25     ` Yann E. MORIN
  0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-02 16:25 UTC (permalink / raw)
  To: buildroot

On 2014-04-02 08:13 +0200, Arnout Vandecappelle spake thusly:
> On 31/03/14 23:59, Yann E. MORIN wrote:
> > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > 
> > 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.
> > 
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Bernd Kuhls <berndkuhls@hotmail.com>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> 
>  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! ;-)

>  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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl
  2014-04-02  6:19   ` Arnout Vandecappelle
@ 2014-04-02 16:26     ` Yann E. MORIN
  2014-04-03  6:18       ` Arnout Vandecappelle
  0 siblings, 1 reply; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-02 16:26 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
> On 01/04/14 00:00, Yann E. MORIN wrote:
> > From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > 
> > 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" <yann.morin.1998@free.fr>
> > Cc: Bernd Kuhls <berndkuhls@hotmail.com>
> > ---
> >  package/vlc/vlc.mk | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/package/vlc/vlc.mk b/package/vlc/vlc.mk
> > index a9ee620..f78f209 100644
> > --- a/package/vlc/vlc.mk
> > +++ b/package/vlc/vlc.mk
> > @@ -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?)

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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d
  2014-03-31 22:00 ` [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d Yann E. MORIN
@ 2014-04-02 20:01   ` Bernd Kuhls
  2014-04-03 17:03     ` Yann E. MORIN
  0 siblings, 1 reply; 22+ messages in thread
From: Bernd Kuhls @ 2014-04-02 20:01 UTC (permalink / raw)
  To: buildroot

Hi,

"Yann E. MORIN" <yann.morin.1998@free.fr> wrote in
news:887ad694204dc2032ade7bdacb8e9d9aa48205ac.1396302677.git.yann.morin.199
8 at free.fr: 

> a/package/x11r7/xdriver_xf86-video-intel/Config.in +++
> b/package/x11r7/xdriver_xf86-video-intel/Config.in @@ -1,5 +1,7 @@

[...]

> +comment "xf86-video-intel needs mesa3d"
> +     depends on BR2_PACKAGE_MESA3D

"depends on !BR2_PACKAGE_MESA3D"

Regards, Bernd

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

* [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl
  2014-04-02 16:26     ` Yann E. MORIN
@ 2014-04-03  6:18       ` Arnout Vandecappelle
  2014-04-03 17:01         ` Yann E. MORIN
  0 siblings, 1 reply; 22+ messages in thread
From: Arnout Vandecappelle @ 2014-04-03  6:18 UTC (permalink / raw)
  To: buildroot

On 02/04/14 18:26, Yann E. MORIN wrote:
> Arnout, All,
> 
> On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
>> On 01/04/14 00:00, Yann E. MORIN wrote:
>>> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
[snip]
>>> -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?)
> 
> 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 wayland doesn't support full-GL? Or maybe wayland also supports glx?


 Regards,
 Arnout

> 
> So, I think we can just depend on BR2_PACKAGE_HAS_OPENGL for this
> option.
> 
> Regards,
> Yann E. MORIN.
> 


-- 
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

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

* [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl
  2014-04-03  6:18       ` Arnout Vandecappelle
@ 2014-04-03 17:01         ` Yann E. MORIN
  0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-03 17:01 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2014-04-03 08:18 +0200, Arnout Vandecappelle spake thusly:
> On 02/04/14 18:26, Yann E. MORIN wrote:
> > Arnout, All,
> > 
> > On 2014-04-02 08:19 +0200, Arnout Vandecappelle spake thusly:
> >> On 01/04/14 00:00, Yann E. MORIN wrote:
> >>> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> [snip]
> >>> -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?)
> > 
> > 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 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.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d
  2014-04-02 20:01   ` Bernd Kuhls
@ 2014-04-03 17:03     ` Yann E. MORIN
  0 siblings, 0 replies; 22+ messages in thread
From: Yann E. MORIN @ 2014-04-03 17:03 UTC (permalink / raw)
  To: buildroot

Bernd, All,

On 2014-04-02 22:01 +0200, Bernd Kuhls spake thusly:
> Hi,
> 
> "Yann E. MORIN" <yann.morin.1998@free.fr> wrote in
> news:887ad694204dc2032ade7bdacb8e9d9aa48205ac.1396302677.git.yann.morin.199
> 8 at free.fr: 
> 
> > a/package/x11r7/xdriver_xf86-video-intel/Config.in +++
> > b/package/x11r7/xdriver_xf86-video-intel/Config.in @@ -1,5 +1,7 @@
> 
> [...]
> 
> > +comment "xf86-video-intel needs mesa3d"
> > +     depends on BR2_PACKAGE_MESA3D
> 
> "depends on !BR2_PACKAGE_MESA3D"

Good catch! Thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps
  2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
  2014-04-02  6:13   ` Arnout Vandecappelle
@ 2014-04-03 20:43   ` Thomas Petazzoni
  1 sibling, 0 replies; 22+ messages in thread
From: Thomas Petazzoni @ 2014-04-03 20:43 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Mon, 31 Mar 2014 23:59:57 +0200, Yann E. MORIN wrote:
> From: "Yann E. MORIN" <yann.morin.1998@free.fr>
> 
> 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.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Bernd Kuhls <berndkuhls@hotmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/efl/libevas/Config.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

end of thread, other threads:[~2014-04-03 20:43 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-31 21:59 [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Yann E. MORIN
2014-03-31 21:59 ` [Buildroot] [PATCH 1/6] package/libevas: quick fix to get rid of circular deps Yann E. MORIN
2014-04-02  6:13   ` Arnout Vandecappelle
2014-04-02 16:25     ` Yann E. MORIN
2014-04-03 20:43   ` Thomas Petazzoni
2014-03-31 21:59 ` [Buildroot] [PATCH 2/6] package/libgl: introduce as a new virtual package for full-openGL providers Yann E. MORIN
2014-03-31 21:59 ` [Buildroot] [PATCH 3/6] package/mesa3d: is a full-openGL provider if X.org is present Yann E. MORIN
2014-04-01  7:48   ` Paul Cercueil
2014-04-01 18:14     ` Yann E. MORIN
2014-04-01 20:14       ` Paul Cercueil
2014-04-01 21:20         ` Yann E. MORIN
2014-03-31 22:00 ` [Buildroot] [PATCH 4/6] package/vlc: depends on the virtual package libgl Yann E. MORIN
2014-04-02  6:19   ` Arnout Vandecappelle
2014-04-02 16:26     ` Yann E. MORIN
2014-04-03  6:18       ` Arnout Vandecappelle
2014-04-03 17:01         ` Yann E. MORIN
2014-03-31 22:00 ` [Buildroot] [PATCH 5/6] package/x11-video-drivers: do not select, but depends on mesa3d Yann E. MORIN
2014-04-02 20:01   ` Bernd Kuhls
2014-04-03 17:03     ` Yann E. MORIN
2014-03-31 22:00 ` [Buildroot] [PATCH 6/6] package/xorg-server: do not force-select xf86driproto for mesa3d Yann E. MORIN
2014-04-01 19:11 ` [Buildroot] [PATCH 0/6] Add virtual package for full-openGL (branch yem/fixes) Eric Le Bihan
2014-04-01 23:00 ` Yann E. MORIN

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.