Skip to content
  • Simon Braunschmidt's avatar
    gpu-viv-bin-mx6q, mesa: fix virtual/libgl dependencies · ea8d0039
    Simon Braunschmidt authored
    
    
    Fixes [YOCTO #4850]
    
    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 (gpu-viv-bin-mx6q does not provide the headers),
      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: default avatarSimon Braunschmidt <sb@emlix.com>
    ea8d0039