So trying to build xf86-video-imx-vivante does not give good results:
$ bitbake xf86-video-imx-vivante
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |###########################################################################################################################| Time: 0:00:01
Loaded 3285 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################| Time: 0:00:03
Parsing of 2446 .bb files complete (2444 cached, 2 parsed). 3287 targets, 219 skipped, 8 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'imx-gpu-viv' (but /home/brian/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb DEPENDS on or otherwise requires it)
imx-gpu-viv was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
imx-gpu-viv was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
imx-gpu-viv was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
ERROR: Required build target 'xf86-video-imx-vivante' has no buildable providers.
Missing or unbuildable dependency chain was: ['xf86-video-imx-vivante', 'imx-gpu-viv']
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
if I look in the file sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-graphics/imx-gpu-viv/imx-gpu-viv_6.2.4.p1.2-aarch32.bb I see the following:
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f"
SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp)"
So it seems like the i.MX6ULL is not included in the COMPATIBLE_MACHINE variable. Should it be?
If I try to change this to:
require imx-gpu-viv-v6.inc
SRC_URI[md5sum] = "280990aab8dee2ee9ce508cbf0d6833f"
SRC_URI[sha256sum] = "dddadd164bede4793409ccfb636324dd73862c33458db66a5860f126bada25dc"
COMPATIBLE_MACHINE = "(mx6q|mx6dl|mx6sx|mx6sl|mx7ulp|imx6ull)"
I get the following:
$ bitbake xf86-video-imx-vivante
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |###########################################################################################################################| Time: 0:00:01
Loaded 3285 entries from dependency cache.
Parsing recipes: 100% |#########################################################################################################################| Time: 0:00:03
Parsing of 2446 .bb files complete (2443 cached, 3 parsed). 3287 targets, 219 skipped, 8 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'virtual/libg2d' (but /home/brian/imx-yocto-bsp/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-graphics/xorg-driver/xf86-video-imx-vivante_6.2.4.p1.2.bb DEPENDS on or otherwise requires it)
imx-gpu-viv PROVIDES virtual/libg2d but was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
imx-dpu-g2d PROVIDES virtual/libg2d but was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
imx-gpu-g2d PROVIDES virtual/libg2d but was skipped: incompatible with machine imx6ull14x14evk (not in COMPATIBLE_MACHINE)
ERROR: Required build target 'xf86-video-imx-vivante' has no buildable providers.
Missing or unbuildable dependency chain was: ['xf86-video-imx-vivante', 'virtual/libg2d']
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
Doing some reading, I think that all i.MX6s have vivante GPUs, with the higher end ones having 3D and the lower end ones (e.g. i.MX6ULL) having 2D.
So I think there should be a vivante module for X11 to use, but I'm not sure if this is the correct way to build for the 2D variant.
I can keep playing whack-a-mole with the COMPATIBLE_MACHINE until I get something that builds I think. Does anyone know if this is the correct path?
Thanks,
Brian.