[meta-freescale] Removing gpu-viv-bin-mx6q from custom image

Gary Thomas gary at mlbassoc.com
Tue Jun 30 07:13:48 PDT 2015


On 2015-06-30 08:04, Jean-Michel Hautbois wrote:
> 2015-06-30 15:49 GMT+02:00 Daiane Angolini <daiane.list at gmail.com>:
>> On Tue, Jun 30, 2015 at 10:37 AM, Jean-Michel Hautbois
>> <jhautbois at gmail.com> wrote:
>>> 2015-06-30 15:29 GMT+02:00 Daiane Angolini <daiane.list at gmail.com>:
>>>> On Tue, Jun 30, 2015 at 10:20 AM, Jean-Michel Hautbois
>>>> <jhautbois at gmail.com> wrote:
>>>>> 2015-06-30 14:13 GMT+02:00 Daiane Angolini <daiane.list at gmail.com>:
>>>>>> On Tue, Jun 30, 2015 at 9:01 AM, Jean-Michel Hautbois
>>>>>> <jhautbois at gmail.com> wrote:
>>>>>>> Hi Daiane,
>>>>>>>
>>>>>>> 2015-06-30 13:37 GMT+02:00 Daiane Angolini <daiane.list at gmail.com>:
>>>>>>>> On Tue, Jun 30, 2015 at 2:33 AM, Jean-Michel Hautbois
>>>>>>>> <jhautbois at gmail.com> wrote:
>>>>>>>>> Hi !
>>>>>>>>>
>>>>>>>>> I have a custom image for a I.MX6 board and I don't need to have the
>>>>>>>>> gpu-viv-bin-mx6q package installed. I am depending in my image on
>>>>>>>>> core-image-base and I don't add it in the EXTRA_IMAGE_INSTALL variable. But
>>>>>>>>> I still get it installed.
>>>>>>>>>
>>>>>>>>> What is it installed by and how can I remove it ?
>>>>>>>>
>>>>>>>> The complete BSP is built targeting the maximum use of GPU
>>>>>>>> acceleration for any imx6Q boards. That's why you cannot "remove" GPU
>>>>>>>> packages. Too many dependencies making you use it by default.
>>>>>>>>
>>>>>>>> You can try to blacklist it
>>>>>>>> (http://www.yoctoproject.org/docs/1.8/mega-manual/mega-manual.html#ref-classes-blacklist)
>>>>>>>>
>>>>>>>> Or, you can override several BSP configurations:
>>>>>>>>
>>>>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/include/imx-base.inc#n23
>>>>>>>> http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/include/imx-base.inc#n94
>>>>>>>> (from line 94 to 108)
>>>>>>>
>>>>>>> Just tested to add this to my custom machine :
>>>>>>> XSERVER_DRIVER_mx6 ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/egl_mx6 ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles1_mx6q ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles1_mx6dl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles1_mx6sx ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles1_mx6sl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles2_mx6q ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles2_mx6dl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles2_mx6sx ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgles2_mx6sl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgl_mx6q ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgl_mx6dl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgl_mx6sx ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libgl_mx6sl ?= ""
>>>>>>> PREFERRED_PROVIDER_virtual/libg2d_mx6 ?= ""
>>>>>>>
>>>>>>> But the following command still shows gpu-viv-bin-mx6q :
>>>>>>> bitbake -g my-image && cat pn-depends.dot | grep -v -e '-native' |
>>>>>>> grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq
>>>>>>
>>>>>>
>>>>>> I would use a stronger assignemnt instead of ?=
>>>>>> (http://www.yoctoproject.org/docs/1.6/bitbake-user-manual/bitbake-user-manual.html#setting-a-default-value)
>>>>>>
>>>>>> Maybe imx-base.inc from BSP is stronger than you machine config file.
>>>>>>
>>>>>> However, maybe I forgot one BSP dependency. Which package your
>>>>>> dependency graph say is bringing the vpu package?
>>>>>
>>>>> You mean bitbake -g gpu-viv-bin-mx6q ?
>>>>> Or something else ?
>>>>
>>>> I though about using the same command line you shared before:
>>>>
>>>>>>> bitbake -g my-image && cat pn-depends.dot | grep -v -e '-native' |
>>>>>>> grep -v digraph | grep -v -e '-image' | awk '{print $1}' | sort | uniq
>>>>
>>>> But without the grep's
>>>>
>>>> Daiane
>>>>>
>>>>> JM
>>>
>>> Well, it is quite big, I grepped on "gpu-viv" to start :
>>> "gpu-viv-bin-mx6q" [label="gpu-viv-bin-mx6q
>>> 1:3.10.17-1.0.2-hfp-r0\n/run/media/jm/SSD_JM/Projets/veobox3/poky/meta-fsl-arm/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.2-hfp.bb"]
>>> "gpu-viv-bin-mx6q" -> "virtual/arm-poky-linux-gnueabi-gcc"
>>> "gpu-viv-bin-mx6q" -> "mesa"
>>> "gpu-viv-bin-mx6q" -> "libxext"
>>> "gpu-viv-bin-mx6q" -> "virtual/arm-poky-linux-gnueabi-compilerlibs"
>>> "gpu-viv-bin-mx6q" -> "virtual/libc"
>>> "gpu-viv-bin-mx6q" -> "libxfixes"
>>> "gpu-viv-bin-mx6q" -> "libxdamage"
>>> "gpu-viv-bin-mx6q" -> "virtual/libx11"
>>> "gpu-viv-bin-mx6q" -> "libdrm" [style=dashed]
>>> "gpu-viv-bin-mx6q" -> "libclc-mx6" [style=dashed]
>>> "gpu-viv-bin-mx6q" -> "libglslc-mx6" [style=dashed]
>>> "gpu-viv-bin-mx6q" -> "gpu-viv-bin-mx6q" [style=dashed]
>>> "gpu-viv-bin-mx6q" -> "gpu-viv-bin-mx6q-dev" [style=dashed]
>>>
>>>
>>> If you want everything, I will paste it, but not sure it would be useful ?
>>
>> Well I expected it to be huge. The idea here is to try to understand
>> which are the configuration which is bringing the features vivante
>> PROVIDES.
>>
>> For example, it looks like you are using X11, even not using X11. You
>> can think about remove it from DISTRO_FEATURES.
>>
>> What happens is something like: x11 lib -> GL -> vivante
>
> Thanks a *lot* !!
> It seems far better, as mesa disappeared :).
> I will go deeply into this, it seems to be the good way !
> I still have gpu-viv-bin-mx6q but only with :
> "gpu-viv-bin-mx6q" [label="gpu-viv-bin-mx6q
> 1:3.10.17-1.0.2-hfp-r0\n/run/media/jm/SSD_JM/Projets/veobox3/poky/meta-fsl-arm/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.10.17-1.0.2-hfp.bb"]
> "gpu-viv-bin-mx6q" -> "virtual/arm-poky-linux-gnueabi-gcc"
> "gpu-viv-bin-mx6q" -> "virtual/arm-poky-linux-gnueabi-compilerlibs"
> "gpu-viv-bin-mx6q" -> "virtual/libc"
> "gpu-viv-bin-mx6q" -> "gpu-viv-bin-mx6q" [style=dashed]
> "gpu-viv-bin-mx6q" -> "gpu-viv-bin-mx6q-dev" [style=dashed]
> "gpu-viv-bin-mx6q" -> "libdrm" [style=dashed]
> "gpu-viv-bin-mx6q" -> "libclc-mx6" [style=dashed]
> "gpu-viv-bin-mx6q" -> "libglslc-mx6" [style=dashed]
>
> I removed opengl from DISTRO_FEATURES, but there may be something else...
>
>> What was the result of blacklist'ing the package name?
>
> Not better.
> JM
>

What kind of image are you trying to build (without X11)?
What did you base your image on, e.g. core-image-minimal?

I routinely build minimal images for the i.MX6 without X
(and without removing x11 from DISTRO_FEATURES) and don't
end up with any of this extra stuff...

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


More information about the meta-freescale mailing list