[meta-freescale] [PATCH] gpu-viv-bin-mx6q, mesa: fix virtual/libgl dependencies

Otavio Salvador otavio at ossystems.com.br
Thu Jul 18 06:29:28 PDT 2013


On Thu, Jul 18, 2013 at 10:26 AM, Eric Bénard <eric at eukrea.com> wrote:
> Hi Simon,
>
> Le Thu, 18 Jul 2013 15:19:25 +0200,
> Simon Braunschmidt <sb at emlix.com> a écrit :
>
>> 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: Simon Braunschmidt <sb at 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(-)
>>
>> 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"
>>
> this may also fix this problem :
> | Collected errors:
> |  * satisfy_dependencies_for: Cannot satisfy the following
> dependencies for packagegroup-core-x11-base: |  *    libgl-mesa (>=
> 9.0.2) * |  * opkg_install_cmd: Cannot install package
> packagegroup-core-x11-base.

I think so. Can you give it a try Eric? I am putting this in my
autobuilder (master-next) and will let it building for a while.

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750



More information about the meta-freescale mailing list