Hello Sir,
I have tested build latest yocto 6.6.3 BSP for imx6ullevk board, here are my steps:
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-nanbield -m imx-6.6.3-1.0.0.xml
repo sync
DISTRO=fsl-imx-xwayland MACHINE=imx6ull14x14evk source imx-setup-release.sh -b imx6ullevk-xwayland
bitbake -k imx-image-full
bitbake -k imx-image-full -c populate_sdk
When I tried to bitbake -k imx-image-full -c populate_sdk, I encounter some bitbake fails like bellow:
ERROR: Task (/home/researcher01/workspace/imx-yocto-bsp/sources/meta-qt6/recipes-qt/qt6/qtdatavis3d_git.bb:do_install) failed with exit code '1'
ERROR: Task (/home/researcher01/workspace/imx-yocto-bsp/sources/meta-qt6/recipes-qt/qt6/qt3d_git.bb:do_install) failed with exit code '1'
The 2 fail courses are same:
Change Dir: '/home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qt3d/6.5.3/build'
|
| Run Build Command(s): ninja -v -j 16 install
| ninja: error: unknown target 'install'
| Change Dir: '/home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qtdatavis3d/6.5.3/build'
|
| Run Build Command(s): ninja -v -j 16 install
| ninja: error: unknown target 'install'
So I tried to bitbake them alternatively to see what happend, and I found the question:
bitbake -k qt3d -c devshell
cd ../build
cmake ../git/
Skipping the build as the condition "QT_FEATURE_opengl AND NOT WASM" is not met.
-- Configuring done (1.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qt3d/6.5.3/build
bitbake -k qtdatavis3d -c devshell
cd ../build
cmake ../git/
-- Could NOT find Qt6OpenGL (missing: Qt6OpenGL_DIR)
CMake Warning at /home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qtdatavis3d/6.5.3/recipe-sysroot/usr/lib/cmake/Qt6/Qt6Config.cmake:224 (message):
Failed to find optional Qt component "OpenGL".
Expected Config file at
"/home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qtdatavis3d/6.5.3/recipe-sysroot/usr/lib/cmake/Qt6OpenGL/Qt6OpenGLConfig.cmake"
does NOT exist
Call Stack (most recent call first):
CMakeLists.txt:15 (find_package)
Skipping the build as the condition "TARGET Qt::OpenGL" is not met.
-- Configuring done (1.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/researcher01/workspace/imx-yocto-bsp/imx6ullevk-xwayland/tmp/work/cortexa7t2hf-neon-poky-linux-gnueabi/qtdatavis3d/6.5.3/build
Both of these 2 receipes are not configured properly, However when I tried bitbake another board imx93-11x11-evk with the same bsp, these 2 receipes bitbake workflow works well and do not have the error above, I think there must be some missing configuration should be added to imx6ull bitbake workflow as imx93 does, I have been looking insight for days, comparing meta-imx and meta-freescale codebase, however I did not find any clear clue, please help!
Best Regards!
解決済! 解決策の投稿を見る。
Hi @2458332461
You can remove these packages in sdk and image. They require opengl.
IMAGE_INSTALL:remove = "qt3d"
TOOLCHAIN_TARGET_TASK:remove = "qt3d"
Hi @Nobita
This could relate to this flag, as i.MX93 has g2d, so 'no-opengl' flag will work. You can try to add it in PACKAGECONFIG_PLATFORM = ""
Hello Sir,
Following your method of modification, this error still exists.
Hi @2458332461
You can remove these packages in sdk and image. They require opengl.
IMAGE_INSTALL:remove = "qt3d"
TOOLCHAIN_TARGET_TASK:remove = "qt3d"
Hi @zhimingqiu
I tried to do this but still got the same error generating the sdk phase.I think that approach is wrong, Two FAE in China also encountered the same problem
If you are using i.MX93, you need modify below file
The same issue about other i.MX product which doesn't support opengl will be fixed in next BSP.
Hi @Zhiming_Liu
As you mentioned, I made the changes according to the picture, but when I executed the command "bitbake -k imx-image-full -c populate_sdk" or "bitbake -k imx-image-full", the error in the following picture would appear. Even using "bitbake-c cleanall qtdeclarative" does not resolve the error.
The previous patch is only for i.MX93. L6.6.23 will fix this issue for all platforms.
For i.MX6ULL and other, need patch again. Please replace meta-imx-sdk/conf/distro/include/fsl-imx-base.inc with below content directly. Then reserve DISTRO_VERSION, this DISTRO_VERSION is for L6.6.23.
require conf/distro/poky.conf
DISTRO = "imx-nxp"
DISTRO_NAME = "NXP i.MX Release Distro"
DISTRO_VERSION = "6.6-scarthgap"
DISTROOVERRIDES = "fsl"
MAINTAINER = "NXP <lauren.post@nxp.com>"
POKY_DEFAULT_DISTRO_FEATURES:remove = "${POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE ?= "wayland"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx6-nxp-bsp ?= "wayland vulkan"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx7-nxp-bsp ?= "wayland vulkan"
DISTRO_FEATURES:remove = "pulseaudio"
POKY_DEFAULT_DISTRO_FEATURES:append = " ${POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND ?= "jailhouse"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx6-nxp-bsp ?= ""
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx7-nxp-bsp ?= ""
DISTRO_FEATURES:append:mx8-nxp-bsp = " virtualization"
SKIP_META_VIRT_SANITY_CHECK = "1"
SKIP_META_SECURITY_SANITY_CHECK = "1"
SKIP_META_TPM_SANITY_CHECK = "1"
# Set a more generic tuning for code reuse across parts
DEFAULTTUNE:mx8-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8m-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8qm-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8x-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8ulp-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx9-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx91-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx93-nxp-bsp ?= "armv8a-crc-crypto"
PACKAGECONFIG:append:pn-gstreamer1.0-plugins-ugly = " x264"
PACKAGECONFIG:append:pn-pulseaudio = " autospawn-for-root"
PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples"
PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples"
PACKAGECONFIG:append:pn-systemd = " unmanaged-network"
PACKAGECONFIG:append:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_QTBASE_WAYLAND_APPEND}', '', d)}"
PACKAGECONFIG:remove:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_QTBASE_WAYLAND_REMOVE}', '', d)}"
PACKAGECONFIG_QTBASE_WAYLAND_APPEND = ""
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE = ""
PACKAGECONFIG_QTBASE_WAYLAND_APPEND:imx-nxp-bsp = " gles2 eglfs"
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE:imx-nxp-bsp = "no-opengl linuxfb'"
PACKAGECONFIG_QTBASE_WAYLAND_APPEND:imxgpu = ""
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE:imxgpu = ""
PACKAGECONFIG_GRAPHICS:remove:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE}', '', d)}"
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE = ""
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE:imx-nxp-bsp = "gl"
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE:imxgpu = ""
Hi @Zhiming_Liu
As you mentioned, I made the changes according to the picture, but when I executed the command "bitbake -k imx-image-full -c populate_sdk" 、 "bitbake -k imx-image-full"
ERROR: Task (/home/zmj/imx-yocto-bsp/sources/meta-qt6/recipes-qt/qt6/qtdatavis3d_git.bb:do_install) failed with exit code '1'
ERROR: Task (/home/zmj/imx-yocto-bsp/sources/meta-qt6/recipes-qt/qt6/qt3d_git.bb:do_install) failed with exit code '1'
zmj@ubuntu:~/imx-yocto-bsp/sources/meta-imx/meta-imx-sdk/conf/distro/include$ cat fsl-imx-base.inc_cp
require conf/distro/poky.conf
DISTRO = "imx-nxp"
DISTRO_NAME = "NXP i.MX Release Distro"
DISTRO_VERSION = "6.6-nanbield"
DISTROOVERRIDES = "fsl"
MAINTAINER = "NXP <lauren.post@nxp.com>"
POKY_DEFAULT_DISTRO_FEATURES:remove = "${POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE ?= "wayland"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx6-nxp-bsp ?= "wayland vulkan"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx7-nxp-bsp ?= "wayland vulkan"
DISTRO_FEATURES:remove = "pulseaudio"
POKY_DEFAULT_DISTRO_FEATURES:append = " ${POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND ?= "jailhouse"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx6-nxp-bsp ?= ""
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx7-nxp-bsp ?= ""
DISTRO_FEATURES:append:mx8-nxp-bsp = " virtualization"
SKIP_META_VIRT_SANITY_CHECK = "1"
SKIP_META_SECURITY_SANITY_CHECK = "1"
SKIP_META_TPM_SANITY_CHECK = "1"
# Set a more generic tuning for code reuse across parts
DEFAULTTUNE:mx8-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8m-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8qm-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8x-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8ulp-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx9-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx91p-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx93-nxp-bsp ?= "armv8a-crc-crypto"
PACKAGECONFIG:append:pn-gstreamer1.0-plugins-ugly = " x264"
PACKAGECONFIG:append:pn-pulseaudio = " autospawn-for-root"
PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples"
PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples"
PACKAGECONFIG:append:pn-systemd = " unmanaged-network"
PACKAGECONFIG:append:mx93-nxp-bsp:pn-qtbase = " gles2"
PACKAGECONFIG:remove:mx93-nxp-bsp:pn-qtbase = "no-opengl linuxfb"
zmj@ubuntu:~/imx-yocto-bsp/sources/meta-imx/meta-imx-sdk/conf/distro/include$ cat fsl-imx-base.inc
require conf/distro/poky.conf
DISTRO = "imx-nxp"
DISTRO_NAME = "NXP i.MX Release Distro"
DISTRO_VERSION = "6.6-nanbield"
DISTROOVERRIDES = "fsl"
MAINTAINER = "NXP <lauren.post@nxp.com>"
POKY_DEFAULT_DISTRO_FEATURES:remove = "${POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE ?= "wayland"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx6-nxp-bsp ?= "wayland vulkan"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx7-nxp-bsp ?= "wayland vulkan"
DISTRO_FEATURES:remove = "pulseaudio"
POKY_DEFAULT_DISTRO_FEATURES:append = " ${POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND ?= "jailhouse"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx6-nxp-bsp ?= ""
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx7-nxp-bsp ?= ""
DISTRO_FEATURES:append:mx8-nxp-bsp = " virtualization"
SKIP_META_VIRT_SANITY_CHECK = "1"
SKIP_META_SECURITY_SANITY_CHECK = "1"
SKIP_META_TPM_SANITY_CHECK = "1"
# Set a more generic tuning for code reuse across parts
DEFAULTTUNE:mx8-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8m-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8qm-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8x-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8ulp-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx9-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx91-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx93-nxp-bsp ?= "armv8a-crc-crypto"
PACKAGECONFIG:append:pn-gstreamer1.0-plugins-ugly = " x264"
PACKAGECONFIG:append:pn-pulseaudio = " autospawn-for-root"
PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples"
PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples"
PACKAGECONFIG:append:pn-systemd = " unmanaged-network"
PACKAGECONFIG:append:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_QTBASE_WAYLAND_APPEND}', '', d)}"
PACKAGECONFIG:remove:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_QTBASE_WAYLAND_REMOVE}', '', d)}"
PACKAGECONFIG_QTBASE_WAYLAND_APPEND = ""
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE = ""
PACKAGECONFIG_QTBASE_WAYLAND_APPEND:imx-nxp-bsp = " gles2 eglfs"
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE:imx-nxp-bsp = "no-opengl linuxfb'"
PACKAGECONFIG_QTBASE_WAYLAND_APPEND:imxgpu = ""
PACKAGECONFIG_QTBASE_WAYLAND_REMOVE:imxgpu = ""
PACKAGECONFIG_GRAPHICS:remove:pn-qtbase = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE}', '', d)}"
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE = ""
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE:imx-nxp-bsp = "gl"
PACKAGECONFIG_GRAPHICS_QTBASE_WAYLAND_REMOVE:imxgpu = ""
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-nanbield -m imx-6.6.3-1.0.0.xml
repo sync
DISTRO=fsl-imx-fb MACHINE=imx6ull14x14evk source imx-setup-release.sh -b imx-yocto-bsp
bitbake -k imx-image-full -c populate_sdk
Hi @Zhiming_Liu
Excuse me, is there any way to solve this problem, now the project needs to use Qt, but now linux6.6.3 can not get Qt cross-compilation chain.
Temporary solutions for imx6 without GPU
require conf/distro/poky.conf
DISTRO = "imx-nxp"
DISTRO_NAME = "NXP i.MX Release Distro"
DISTRO_VERSION = "6.6-nanbield"
DISTROOVERRIDES = "fsl"
MAINTAINER = "NXP <lauren.post@nxp.com>"
POKY_DEFAULT_DISTRO_FEATURES:remove = "${POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE ?= "wayland"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx6-nxp-bsp ?= "wayland vulkan"
POKY_DEFAULT_DISTRO_FEATURES_IMX_REMOVE:mx7-nxp-bsp ?= "wayland vulkan"
DISTRO_FEATURES:remove = "pulseaudio"
POKY_DEFAULT_DISTRO_FEATURES:append = " ${POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND}"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND ?= "jailhouse"
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx6-nxp-bsp ?= ""
POKY_DEFAULT_DISTRO_FEATURES_IMX_APPEND:mx7-nxp-bsp ?= ""
DISTRO_FEATURES:append:mx8-nxp-bsp = " virtualization"
SKIP_META_VIRT_SANITY_CHECK = "1"
SKIP_META_SECURITY_SANITY_CHECK = "1"
SKIP_META_TPM_SANITY_CHECK = "1"
# Set a more generic tuning for code reuse across parts
DEFAULTTUNE:mx8-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8m-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8qm-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8x-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx8ulp-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx9-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx91p-nxp-bsp ?= "armv8a-crc-crypto"
DEFAULTTUNE:mx93-nxp-bsp ?= "armv8a-crc-crypto"
PACKAGECONFIG:append:pn-gstreamer1.0-plugins-ugly = " x264"
PACKAGECONFIG:append:pn-pulseaudio = " autospawn-for-root"
PACKAGECONFIG:append:class-target:pn-qtquick3d = " examples"
PACKAGECONFIG:append:class-target:pn-qtwebengine = " examples"
PACKAGECONFIG:append:pn-systemd = " unmanaged-network"
PACKAGECONFIG:append:mx93-nxp-bsp:pn-qtbase = " gles2"
PACKAGECONFIG:remove:mx93-nxp-bsp:pn-qtbase = "no-opengl linuxfb"
PACKAGECONFIG:append:mx6-nxp-bsp:pn-qtbase = " gles2"
PACKAGECONFIG:remove:mx6-nxp-bsp:pn-qtbase = "no-opengl linuxfb"
Hi @Zhiming_Liu
Thank you very much for your reply. Is there any way not to shut down GPU? In product use, we need to use GPU to reduce the problem of high CPU usage caused by Qt program.
i.MX6ULL doesn't have GPU, for other imx6 chip has GPU, you don't need to add these two lines. So you need generate two SDKs, one support GPU, one for chips like i.MX6ULL without GPU. And i don't shutdown GPU, these two lines just remove opengl flags when configure qt3d.
Hi @2458332461
I am testing.
Can you please suggest some better method.
Thanks,
Maruti Naik