The qtbase configure fail to find any suitable GL library, so it fails
with:
,----
| WARNING: No QPA platform plugin enabled! This will produce a Qt that
| cannot run GUI applications. See "Platform backends" in the output of
| --help.
|
| ERROR: Feature 'opengl-desktop' was enabled, but the pre-condition
| '(config.win32 && !config.winrt && !features.opengles2
| && (config.msvc || libs.opengl))
| || (!config.watchos && !config.win32 && !config.wasm && libs.opengl)' failed.
|
| ERROR: Feature 'eglfs' was enabled, but the pre-condition
| '!config.android && !config.darwin && !config.win32 && !config.wasm
| && features.egl' failed.
`----
Fixed: #378
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Ming Liu [Sat, 2 May 2020 11:09:17 +0000 (13:09 +0200)]
imx-boot: fix mkimage_uboot linking issue
In imx-boot's Makefile, it downloads a native tool mkimage_uboot and
executes it, but this native tool requires libssl.so.1.1, which is in
${STAGING_LIBDIR_NATIVE}, we need set LD_LIBRARY_PATH to include it, or
it might run into following errors:
| ./mkimage_uboot -E -p 0x3000 -f u-boot.its u-boot.itb
| ./mkimage_uboot: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
Currently the kernel module fails to build with following
undefined symbols due to missing Kconfig option.
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15910:13: error: 'qca_wlan_vendor_ocb_set_config_policy' undeclared here (not in a function); did you mean 'qca_wlan_vendor_setband_policy'?
| 15910 | .policy = qca_wlan_vendor_ocb_set_config_policy,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_setband_policy
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15919:13: error: 'qca_wlan_vendor_ocb_set_utc_time_policy' undeclared here (not in a function); did you mean 'qca_wlan_vendor_ll_set_policy'?
| 15919 | .policy = qca_wlan_vendor_ocb_set_utc_time_policy,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_ll_set_policy
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15929:13: error: 'qca_wlan_vendor_ocb_start_timing_advert_policy' undeclared here (not in a function); did you mean 'qca_wlan_vendor_attr_ocb_start_timing_advert'?
| 15929 | .policy = qca_wlan_vendor_ocb_start_timing_advert_policy,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_attr_ocb_start_timing_advert
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15938:13: error: 'qca_wlan_vendor_ocb_stop_timing_advert_policy' undeclared here (not in a function); did you mean 'qca_wlan_vendor_attr_ocb_stop_timing_advert'?
| 15938 | .policy = qca_wlan_vendor_ocb_stop_timing_advert_policy,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_attr_ocb_stop_timing_advert
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15956:13: error: 'qca_wlan_vendor_dcc_get_stats' undeclared here (not in a function); did you mean 'qca_wlan_vendor_attr_dcc_get_stats'?
| 15956 | .policy = qca_wlan_vendor_dcc_get_stats,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_attr_dcc_get_stats
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15965:13: error: 'qca_wlan_vendor_dcc_clear_stats' undeclared here (not in a function); did you mean 'qca_wlan_vendor_attr_dcc_clear_stats'?
| 15965 | .policy = qca_wlan_vendor_dcc_clear_stats,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_attr_dcc_clear_stats
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:15974:13: error: 'qca_wlan_vendor_dcc_update_ndl' undeclared here (not in a function); did you mean 'qca_wlan_vendor_attr_dcc_update_ndl'?
| 15974 | .policy = qca_wlan_vendor_dcc_update_ndl,
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | qca_wlan_vendor_attr_dcc_update_ndl
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c: In function '__wlan_hdd_cfg80211_scan':
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:22920:8: warning: ISO C90 forbids variable length array 'chList' [-Wvla]
| 22920 | char chList [(request->n_channels*5)+1];
| | ^~~~
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c: In function '__wlan_hdd_cfg80211_sched_scan_start':
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:28751:9: warning: ISO C90 forbids variable length array 'chList' [-Wvla]
| 28751 | char chList [(request->n_channels*5)+1];
| | ^~~~
| At top level:
| rpb-dunfell/build-rpb-wayland/tmp-rpb_wayland-glibc/work/imx8mqevk-linaro-linux/kernel-module-qca6174/3.0-r0/git/CORE/HDD/src/wlan_hdd_cfg80211.c:25078:20: warning: 'hdd_ieee80211_reason_code_to_str' defined but not used [-Wunused-function]
| 25078 | static const char *hdd_ieee80211_reason_code_to_str(uint16_t reason)
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Tom Hochstein [Tue, 28 Apr 2020 19:21:02 +0000 (14:21 -0500)]
weston: Fix non-GBM build error for i.MX 6 & 7
i.MX 6 and 7 doesn't support GBM, required by weston-simple-dmabuf-egl:
| Run-time dependency gbm found: NO (tried pkgconfig and cmake)
|
| clients/meson.build:134:4: ERROR: Problem encountered: weston-simple-dmabuf-egl requires gbm which was not found. If you rather not build this, drop "dmabuf-egl" from simple-clients option.
Remove the clients for i.MX 6 and 7.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Tom Hochstein [Tue, 28 Apr 2020 14:49:32 +0000 (09:49 -0500)]
weston: Restructure recipe for ease of maintanance
Structure the recipe into two sections, the top as a verbatim
copy of the upstream recipe that is the basis, and the bottom
for the i.MX customization.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Tom Hochstein [Thu, 23 Apr 2020 13:44:03 +0000 (08:44 -0500)]
waffle: Fix x11 build without GBM support
For i.MX 6 and 7, building x11_egl failed with the following:
```
In file included from ../waffle-1.6.0/src/waffle/surfaceless_egl/sl_window.c:35:
../waffle-1.6.0/src/waffle/surfaceless_egl/sl_platform.h:30:10: fatal error: gbm.h: No such file or directory
30 | #include <gbm.h>
| ^~~~~~~
```
The failure is not surprising since i.MX 6 and 7 don't
support GBM. What is surprising is surfaceless_egl is
built even if it is disabled. The meson dependency
for surfaceless_egl was incorrectly tied to x11_egl,
so fix that, plus add a dependency on GBM.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Tom Hochstein [Thu, 23 Apr 2020 13:38:34 +0000 (08:38 -0500)]
waffle: Add missing dependency on EGL
For Wayland builds without XWayland support, the following
build break was happening:
In file included from /home/bamboo/build/5.4-zeus-full/fsl-imx-internal-wayland/temp_build_dir/build_fsl-imx-internal-wayland/tmp/work/aarch64-mx8-poky-linux/waffle/1.6.0-r0/recipe-sysroot/usr/include/EGL/egl.h:39,
from ../waffle-1.6.0/src/waffle/egl/wegl_context.h:31,
from ../waffle-1.6.0/src/waffle/egl/wegl_util.c:28:
/home/bamboo/build/5.4-zeus-full/fsl-imx-internal-wayland/temp_build_dir/build_fsl-imx-internal-wayland/tmp/work/aarch64-mx8-poky-linux/waffle/1.6.0-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:144:10: fatal error: X11/Xlib.h: No such file or directory
144 | #include <X11/Xlib.h>
| ^~~~~~~~~~~~
compilation terminated.
This happens because the egl.pc configuration is missing.
Fix the mising dependency.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
gstreamer1.0-plugins-imx: Update to version 0.13.1
* Last planned release in the 0.x series. Development now focuses on 2.x.
The 2.x series will support i.MX6, i.MX7, and i.MX8.
* OE recipe fix to use the correct G2D dependency (imxg2d, not imx-gpu-viv)
* waf: Update to version 2.0.12 and switch to Python 3
* misc:
* gst_buffer_pool_config_set_allocator() and get_allocator() are
transfer-none. Changes to the code address that, fixing various refcount
related problems.
* Update GstPhysMemoryAllocator support for GStreamer 1.14+
* v4l2video:
* v4l2src: Set interlace flags in GstBuffer
* v4l2sink: Define V4L2_COLORSPACE_DEFAULT if it doesn't exist
* v4l2: Add phys mem meta only if the driver/card is known to support this
This makes USB video cameras work with imxv4l2videosrc, because they do
not provide any physical address.
* v4l2_buffer_pool: First reset the buffer storage in the pool, then queue
the buffer. Otherwise it might happen that we dequeue the same buffer in
a different thread already *before* we have it reset in the buffer storage,
and then run into an assertion because it contains NULL.
* vpu:
* decoder: Fix for an endless loop at gst_imx_vpu_decoder_finish() when in
no_wait mode
* decoder: Clear the GST_VIDEO_BUFFER_FLAG_TFF flag in case of
IMX_VPU_INTERLACING_MODE_BOTTOM_FIELD_FIRST
* decoder: Honour num-additional-framebuffers setting
* decoder: Fix leak when input video formats change due to a missing
gst_imx_vpu_decoder_close() call
* ipu: Reintroduce interlace methods
* audio:
* Save pointer to codec_data GstBuffer to fix memory leak
* Only allocate reordered_channel_positions if needed. If we don't need to
reorder the audio channels, we the unnecessary allocation otherwise.
* g2dpango:
* Add missing header and cleanup a few warnings
* Unref video_frame memory after phys_memory check
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Peter Griffin [Wed, 22 Apr 2020 22:52:14 +0000 (23:52 +0100)]
optee-test_3.2.0.imx: fix TA_DEV_KIT_DIR is not correctly defined error
DEFAULTTUNE is no longer aarch64 which means optee-test
build fails. Update to use the same mechanism as optee-os
recipe for setting arch.
Build now passes on imx8mq-evk and optee xtest suite
passes
+-----------------------------------------------------
16078 subtests of which 3 failed
74 test cases of which 3 failed
0 test case was skipped
TEE test application done!
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
-Update EULA to v10
-Add vpu wrapper unit test for i.MX8
Enable 8mm/8mq to support H264/HEVC byte-stream format decoding
Enable 8mm to support H264 encoding
-Update EULA to v10
-Fix unexpected EOS reported by Aiurdemux while playing fragmented mp4 video
-Add Mpeg2ResetOuputBuffer when track is disabled
-Upgrade mp 3parser's getNextSamle, don't read 16KB
because this mode can't calculate right timestamp
-Add Parser API to get ac4 presentation info
-Fix ID3 parser return wrong artwork size
* imx6: replace mxcfb.h check with i.MX6 specific imx header check
the mcxfb.h check only makes sense with i.MX6 devices, so requiring
those for others like i.MX8 led to build errors
* update waf to 2.0.12 and switch wscript to use Python 3
* imx6: fix encoder pointer usage in vpu_EncGiveCommand() call
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
imx-base.inc: Allow for setting different IMX_DEFAULT_BSP values
Current assignment of the IMX_DEFAULT_BSP variables is too strong. For
example, any IMX_DEFAULT_BSP value set in local.conf currently gets
overridden by the assingment in imx-base.inc. Soften the assignment
to allow for alternative values for these variables.
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
Peter Griffin [Wed, 8 Apr 2020 20:24:52 +0000 (21:24 +0100)]
optee-test_3.2.0.imx: add patch to use python3, backported from v3.8.0
This avoids build errors such as
optee-test/3.2.0.imx-r0/git/out/ta/crypt//mid_crt.c] Error 127
| /usr/bin/env: ‘python’: No such file or directory
Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
Certain packages are using linux-imx-headers, which enforces them to use
NXP BSP since headers are provided from the NXP kernel tree.
Those recipes, which requires NXP kernel headers, are now including the
use-imx-headers class to make sure the correct headers package is used.
Since the introduction of separation between NXP and Mainline BSP for
certain machines, recipes which are NXP-dependent are getting their
COMPATIBLE_HOST to be marked as (null) effectively making them
incompatible with mainline BSP which is expected behavior.
By extending this restriction into the use-imx-headers class, all
recipes which inherits is (because it is required) are getting
automatically restricted to NXP BSP, hence making package NXP-dependent
much easier.
linux-imx-headers is marked as "NXP-only" but it is done explicitly
inside the recipe in order to avoid confusion of inheriting the class.
machine: imx[6,7,8]: update dtb references for 5.4 kernel
Updated kernel has some DTS files added and some dropped for various
i.MX derivatives. Those should be aligned with respective machines in
order to deliver proper DTB files, and do not fail the build for those
are missing.
Device tree files listed in respective machines are those only present
in updated 5.4 kernel release from NXP. Derivatives, which relied on
those device trees that are discarded from the new kernel release should
backport their respective files onto that update.
In other words: if after this update the DTS file used for the HW happens
to be missing - it should be manually added for that HW, since the default
version is no longer provided by NXP in their updated kernel tree.
gstreamer: upgrade to MM_04.05.03_1911_L5.4.0 branch
Upgrade imx fork of gstreamer components to version taken from
MM_04.05.03_1911_L5.4.0 branch. This branch is aligned with the new
kernel update from NXP.
Upgrade weston recipe version 6.0.1 -> 8.0.0 with following
modifications performed:
- Transition build system to meson, replace autotools references with
meson options;
- Align recipe with the latest version from oe-core, include all
configuration changes done upstream into this recipe;
- Drop patches applied upstream and those related to autotools;
linux-imx: upgrade kernel recipe to 5.4.3-1.0.0 from NXP
Upgrade kernel recipe 4.19.35 -> 5.4.3, drop patches which are applied
upstream and re-submit new kernel configuration files for arm32 and
aarch64 build configurations.
Kernel recipe version 4.19.35 is dropped from this layer in favor of the
updated one.
Tom Hochstein [Mon, 13 Apr 2020 16:16:15 +0000 (11:16 -0500)]
imx-gpu-viv: Upgrade to 6.4.0.p2.0
Key Features of the Vivante 6.x Driver Series
- Full support for Khronos OpenGL ES 3.2 API. The new OpenGL ES 3.2 and OpenGL ES Shading Language 3.20 specifications bring AEP,
plus additional functionality, into core OpenGL ES. Vivante OpenGL ES 3.2 implementation has passed Khronos OpenGL ES 3.2 Conformance Test.
And Vivante GC7000XS* GPU core has been certified by Khronos as an OpenGL ES 3.2 compliant product.
- Backward Compatible with 5.x and 4.x Drivers. Existing OpenGL ES 3.x/2.0 applications can run on these drivers without any changes.
6.4.0 P2 GA
======================
Key Features:
- Vulkan 1.1
- OpenVX 1.2
- OpenCL and OpenVX bridged support.
- GPU accelerated ML support
- Upgrade to weston 7.0
- OpenCV 4.0.1
- Chromium v74
- Support for renderdoc 1.2
- vProfiler/vAnalyser through new Vivante IDE
- Support for Android 10
- Support for TFlite 1.3
- NNCTS 1.2
- Optimize command buffer size, so the memory usage per context will be lower
Known Issues :
LF-308 wl_display_connect Failure reported during VPU and GPU stress power management test.
LF-868 [MX6SX-SDB]GPU: weston stopped abnormally during stress suspend resume test.
LF-459 [8QM] GPU/xwld:Vulkan sdk demo 'ObjectSelection' flicker on display.
LF-178 GPU/XWLD: some tests failed in OpenCV performance test.
LF-262 GPU:Some qt5 demos not work. QT5.3 have regressions. Require qt3d update in QT5.4 and later
LF-836 GPU/XWLD: met version mismatch when using renderdoc remote test
LF-861 some tests failed in OpenCV stress test.
LF-423 ML/AI:Some dnn_vxc cases showed out-of-range recognition rates.
LF-844 [6QP_SD] GPU/FB: Bloom_FB cannot be killed by ctrl c randomly.
LF-1109 [8QM] GPU/Vivante IDE tool: vpd file of OpenVX import failed to VSI IDE
LF-1110 [8QM] GPU/Vivante IDE tool: some binary of sample project cannot work after building successfuly in vCompiler test
LF-936 [MX8MQ/MM/MN]GPU:no desktop UI and weston@root.service load fail after run low bus freq test.100%
LF-88 [8QXP_MEK/8QM/8MM_EVK] GPU/XWLD: apitrace tool can not work properly
The 4.14.98-2.3.0 BSP targeting latest SoC silicon revisions uses an even
newer license text 'LA_OPT_NXP_Software_License v10 December 2019'.
And the upcomming 5.4.3-2.0.0 BSP uses yet another one:
'LA_OPT_NXP_Software_License v11 February 2020'.
Add their md5sums additionally.
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Otavio Salvador [Fri, 10 Apr 2020 18:11:20 +0000 (15:11 -0300)]
imx-base.inc: Add support to easily choose which BSP to use
Machines or distros can define which BSP it should use by default. We
are intending to default for mainline BSP by default and specific
machines or DISTROs might change it if need.
Two values are considered valid: mainline, nxp
For example:
IMX_DEFAULT_BSP ??= "mainline"
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Otavio Salvador [Fri, 10 Apr 2020 18:04:36 +0000 (15:04 -0300)]
linux-fslc-imx: Remove recipes as they are not being actively maintained
The community forks are not being actively maintained by community and
vendors and as consequence are not being updated as need. Aiming to
reduce the maintenance burden we are dropping them as we will move to
NXP's GA kernels when using NXP BSP.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Since upcoming release of Yocto will be LTS, linux-qoriq-4.19 isn't expected
to be supported as long as meta-freescale supporters have to support layer
for dunfell users.
Those who want to use linux-qoriq on dunfell with their own effort can rely
on '69652b44 linux-qoriq_4.19: upgrade to LSDK-20.04' by reverting this
commit.
NXP removed support for 4.14 from LSDK-20.04 -- so do avoid signalization
meta-freescale would provide any further support.
Users with strong requirements for linux-qoriq_4.14 can get the last official
supported NXP release (LSDK-19.09-update-311219-V4.14) by reverting this
commit.
Tom Hochstein [Wed, 18 Mar 2020 20:01:07 +0000 (15:01 -0500)]
fsl-eula-unpack.bbclass: Enhance EULA model
Each new version of the EULA is meant to be a click
through that includes any existing packages with an
older EULA. The latest EULA is also copied in the
layer.
Capture this model in the class by listing the
known EULAs and checking that any package
has a known EULA. The new model also allows
extensibility, so new EULAs can be introduced
separately.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>