Patchwork [meta-fsl-arm] mx6q: fix virtual/libgl dependencies

login
register
mail settings
Submitter Simon Braunschmidt
Date July 18, 2013, 12:03 p.m.
Message ID <1374149012-17149-2-git-send-email-sb@emlix.com>
Download mbox | patch
Permalink /patch/53949/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Simon Braunschmidt - July 18, 2013, 12:03 p.m.
findings:
* meta-fsl-arm/recipes-graphics/mesa/mesa_9.1.3.bbappend is used to
  delete libGL.* after compilation of mesa

* ./recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.0.35-4.0.0.bb, via
  gpu-viv-bin-mx6q.inc, provides its own version of libGL

* gpu-viv-bin-mx6q does not advertise "virtual/libgl" in "PROVIDES +="

* but mesa (via mesa.inc) does:
  PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"

* so the statement in imx-base.inc
   PREFERRED_PROVIDER_virtual/libgl_mx6 ?= "gpu-viv-bin-mx6q"
  does not have effect, because mesa is still the only provider
  of virtual/libgl

* packages depending on virtual/libgl only get mesa, which will not contain
  the libGL library

* in fact, we still use the gl headers from mesa, but the binary blob library
  from gpu-viv-bin-mx6q (i have no words to describe this ...),
  so a package compiling against GL needs both mesa and gpu-viv-bin-mx6q

conclusion:
* so i suggest having gpu-viv-bin-mx6q depend on mesa to draw in the
  gl header package, advertising "virtual/libgl" for gpu-viv-bin-mx6q
  via "PROVIDES +=" and not advertising virtual/libgl for mesa via the
  .bbappend file

Signed-off-by: Simon Braunschmidt <sb@emlix.com>
---
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          |    4 ++--
 recipes-graphics/mesa/mesa_9.1.3.bbappend          |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

Patch

diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
index b007079..3354854 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -6,8 +6,8 @@  DESCRIPTION = "GPU driver and apps for imx6"
 SECTION = "libs"
 LICENSE = "Proprietary"
 LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3"
-DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)}"
-PROVIDES += "virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
+DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)} mesa"
+PROVIDES += "virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
 
 INC_PR = "r5"
 
diff --git a/recipes-graphics/mesa/mesa_9.1.3.bbappend b/recipes-graphics/mesa/mesa_9.1.3.bbappend
index b0535a7..9308952 100644
--- a/recipes-graphics/mesa/mesa_9.1.3.bbappend
+++ b/recipes-graphics/mesa/mesa_9.1.3.bbappend
@@ -23,7 +23,7 @@  python __anonymous () {
 
         # Remove itens from provides
         provides = d.getVar('PROVIDES', True).split()
-        take_out = ['virtual/libgles1', 'virtual/libgles2', 'virtual/egl']
+        take_out = ['virtual/libgles1', 'virtual/libgles2', 'virtual/egl', 'virtual/libgl']
         new_provides = []
         for i in provides:
             if i not in take_out: