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

Jean-Michel Hautbois jhautbois at gmail.com
Tue Jun 30 07:04:10 PDT 2015


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


More information about the meta-freescale mailing list