[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