Problem reported by Rasmus Villemoes <rasmus.villemoes@prevas.dk>:
```
The imx-gpu-sdk recipe in the meta-imx layer references
${BB_NUMBER_THREADS} in its do_compile function. Changing
BB_NUMBER_THREADS between bitbake invocations leads to the well-known
When reparsing ...meta-imx/meta-sdk/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_5.8.0.bb:do_compile, the basehash value changed from 69be88cf220840ff2203e11cfe65681880b0bf9b88db67d50c1ba772b883bd18 to 5e6d5029fac8d7856ada4c2eca359568298f82cdb64567d7dd4deda503d9f83a. The metadata is not deterministic and this needs to be fixed.
This happens because BB_NUMBER_THREADS is in BB_HASHCONFIG_IGNORE_VARS,
so changing it does not cause the recipe to be reparsed, but it is not
included in BB_HASHEXCLUDE_COMMON and thus BB_BASEHASH_IGNORE_VARS.
```
Fix as suggested by Richard Purdie <richard.purdie@linuxfoundation.org>:
```
Technically imx-gpu-sdk is incorrect. BB_NUMBER_THREADS is the number of tasks
bitbake should run. PARALLEL_MAKE is what is used for parallelism in do_compile.
I appreciate that has -j in but you can use: ${@oe.utils.parallel_make(d)} to
obtain the value that recipe needs.
```
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Since commit dcf889e93401f7c4de0055d53271eacc3882eccc in OE:
[
meta: Remove remnants of bluez4 support
bluez4 was removed from meta-oe 2 years ago.
Simplfy the setup of the two level bluetooth and bluez4/bluez5
distro features by removing the bluez4/bluez5 distro features.
This also removes the no longer required bluetooth class.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
]
bluez5 is no longer a distro feature, and there is no reference to it
neither in Freescale/OE meta layers, let's drop it.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
All i.MX beginning with 6 have hardware support for entropy, so there
is no need for rng-tools. Removing it helps startup performance.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
The i.MX 1.18.5 version of gstreamer1.0-libav is not compatible with
upstream ffmpeg 5.5.0 and results in the follow build errors:
```
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: ext/libav/libgstlibav.so.p/gstavaudenc.c.o: in function `gst_ffmpegaudenc_set_format':
/usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavaudenc.c:246: undefined reference to `avcodec_get_context_defaults3'
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: /usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavaudenc.c:292: undefined reference to `avcodec_get_context_defaults3'
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: /usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavaudenc.c:336: undefined reference to `avcodec_get_context_defaults3'
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: /usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavaudenc.c:317: undefined reference to `avcodec_get_context_defaults3'
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: ext/libav/libgstlibav.so.p/gstavaudenc.c.o: in function `gst_ffmpegaudenc_start':
/usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavaudenc.c:197: undefined reference to `avcodec_get_context_defaults3'
/opt/work/upstream/fsl-xwayland/tmp/work/cortexa35-mx8-fsl-linux/gstreamer1.0-libav/1.18.5-r0/recipe-sysroot-native/usr/bin/aarch64-fsl-linux/../../libexec/aarch64-fsl-linux/gcc/aarch64-fsl-linux/11.2.0/ld: ext/libav/libgstlibav.so.p/gstavvidenc.c.o:/usr/src/debug/gstreamer1.0-libav/1.18.5-r0/build/../gst-libav-1.18.5/ext/libav/gstavvidenc.c:252: more undefined references to `avcodec_get_context_defaults3' follow
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Setting XDG_RUNTIME_DIR variable in profile env would not help for
log-in users except weston.
There is now a global /run/wayland-0 socket that gets created for
wayland clients to access, let's use that instead.
Reference commit in OE:
[
commit dd83fb40f76749c6689807afabc63b9d5c2a4065
Author: Joshua Watt <JPEWhacker@gmail.com>
Date: Thu Nov 19 16:58:53 2020 -0600
weston-init: Stop running weston as root
Running the weston compositor as the root user is an insecure default
behavior for OE-core. We can do much better, at least when using
systemd. Change the recipe to create a dedicated "weston" user and start
weston as this user. The systemd service and socket units are no longer
template units, as there were several inconsistencies in the templates.
Instead, there is now a global /run/wayland-0 socket that gets created,
and systemd will start weston on demand when a client connects to that
socket or when attempting to reach graphical.target, whichever comes
first. This also allows downstream users to easily change the behavior
so that weston *only* starts on demand by adding a drop file. Access to
the global socket is controlled by a "wayland" group; any user that is a
member of the group can use the socket to talk to the compositor. This
also satisfies another use case where another systemd service might
start a graphical application that needs to display with weston (e.g. a
single function device in kiosk mode). Finally, the udev rules for
starting weston with the existance of a DRM device have been removed.
Being WantedBy= a graphical target should eliminate the need for this
behavior, and having it present makes it difficult for downstream users
to start weston on demand (having to override the udev rules).
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
]
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Since OE-Core commit 9379f80f48 ("license/insane: Show warning for
obsolete license usage"), LICENSE field not containing SPDX identifiers
are treated with WARNING.
An automated conversion using scripts/contrib/convert-spdx-licenses.py to
convert to use the standard SPDX license identifiers has been done on
the entire layer.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
The user cannot disable buildhistory from local.conf because it is set
in fslc-base.inc. Use a default setting instead.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Recent Bitbake update introduced following commits in attempt to adapt
to new requirement from GitHub [1]:
86a9c268 ("fetch2/git: Add a warning asking users to set a branch in git urls")
42526a40 ("fetch/git: Show warning for invalid github urls")
There is a warning issued for those recipes that either do not
explicitly provide branch parameter to the Bitbake fetcher, or still
using unauthenticated git:// protocol.
Adapt recipes across layer to accommodate for those new requirements.
Link: [1]: https://github.blog/2021-09-01-improving-git-protocol-security-github/#no-more-unauthenticated-git
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
The patch to remove non-compliant source fails due to the existence of
binaries.
Drop the patch and instead remove the non-compliant source manually
from do_unpack.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
The recipe assimp was dropped from OE-core due to license issues and the
lack of any dependency.
The recipe is needed by imx-gpu-sdk, so copy it locally, with an extra
patch to remove the license issues.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
The variable is not set for ssh or console, causing app failures. It's
not clear if this is an error or by design, but setting it manually
does help and doesn't seem to hurt.
Set for fsl and fslc distros.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
If wayland is in DISTRO_FEATURES weston is installed in
CORE_IMAGE_EXTRA_INSTALL so include it in IMAGE_FEATURES as well.
Signed-off-by: Chris Dimich <Chris.Dimich@boundarydevices.com>
Since OE-Core commit 8d0b4704a5 ("defaultsetup.conf: enable select init
manager"), init manager setting is moved to a separate variable and
simplified.
Yocto documentation [1] suggests that the new syntax should be used to
define init manager in distro definitions.
Convert all syntax to use new init system selection.
Link: [1]: https://docs.yoctoproject.org/singleindex.html#init-system-selection
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
imx-gpu-apitrace package has additional patch and can be build with
glibc >= 2.34
This reverts commit 92c75c69e2.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
imx-gpu-apitrace package build is broken since glibc 2.34+ since
upstream version used the glibc private API version and does not
have a solution yet, see [1].
Exclude the imx-gpu-apitrace package from package group until it is
updated to be compatible with newer glibc.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Link: [1]: https://github.com/apitrace/apitrace/issues/756
Even when using pull_request_target, the merged is issued as
pull_request and this should be used to ensure we can run the workflow.
Signed-off-by: Vinicius Aquino <vinicius.aquino@ossystems.com.br>
1. Firmware loading failure occurs for regulatory.db:
[ 3.616070] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.624709] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 64.473750] cfg80211: failed to load regulatory.db
2. Firmware loading failure occurs for imx-sdma if set to builtin:
[ 64.474069] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 64.496589] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin</div>
[ 125.913831] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware
Add firmwared to the image to provide firmware loading for the
firmware fallback mechanism.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Prevent multiple providers:
```
ERROR: Multiple .bb files are due to be built which each provide linux-mfgtool:
/opt/work/upstream/sources/meta-freescale/recipes-kernel/linux/linux-imx-mfgtool_5.10.bb
/opt/work/upstream/sources/meta-freescale/recipes-kernel/linux/linux-fslc-lts-mfgtool_5.10.bb
```
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
OE-Core upstream commit 8431708201 ("Remove Clutter and Cogl") has
dropped the support for clutter package and removed recipe from the base
layer.
Drop inclusion of clutter-1.0-examples from the image as the recipe
providing it is not available any longer.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
OE-Core upstream commit 8431708201 ("Remove Clutter and Cogl") has
dropped the support for clutter package and removed recipe from the base
layer.
Drop inclusion of clutter-1.0-examples from the package group as the
recipe providing it is not available any longer.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Upgrade GPU SDK to latest release 5.7.1 from upstream.
----
Release 5.7.1
- Compatible with GCC11
- Fixed G2D dependency issue.
- Fixed android compilation issues.
- Added some notes to help people that hit a "access denied" error when trying to run the visual studio cmake project.
- Updated to OpenCV 4.5.2
----
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Upgrade GPU SDK to latest release 5.7.0 from upstream.
----
Release 5.7.0
* Python 3.6 or better is now required
* Updated all setup guides.
* Windows and Ubuntu now uses cmake find_package to locate the system OpenCL implementation.
This removes the the dependency on the deprecated AMD App SDK.
* Samples:
* New Vulkan sample: Vulkan.GenerateMipMaps
* New Vulkan sample: Vulkan.ShaderClock sample (VK_KHR_shader_clock)
* Vulkan samples updated to utilize the new mipmap generation code.
* Build tools:
* FslBuildCheck.py clang tidy now defaults to use cmake for dependencies. Legacy mode can still be used by adding ```--legacy```.
* FslBuild on windows now defaults to the cmake visual studio generator.
* FslBuild now support package flavors.
* **Breaking change** FslBuild removed support for dynamic variants.
* **Breaking change** FslBuild custom Visual Studio project generator no longer use dynamic variants for the OpenGL ES and OpenVG emulation.
This means we no longer generate a the ```.StartProject.bat``` file. The user is now responsible calling ```ConfigureOpenGLESEmu.bat```
to configure the OpenGL ES emulator before launching the project.. Its recommended to call this right after the prepare.bat file.
* Dependencies:
* Upgraded FMT to 7.1.
* Upgraded GLM to 0.9.9
* Upgraded GLI to master branch snapshot (0c171ee87fcfe35a7e0e0445adef06f92e0b6a91)
* Upgraded RapidVulkan to 1.2.162
----
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
This version is required by the GPU SDK 5.7.0 and higher, see [1].
Switch branch to master, sync up to commit 0c171ee8 ("Clean up") and
drop patches already applied upstream.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Link: [1] https://github.com/NXPmicro/gtec-demo-framework/releases/tag/5.7.0
According to the GCC11 Porting Guide [1], error is issued on ordered
pointer comparison with integer which causes the following build
failure:
| test/core/core_convert.cpp:35:85: error: ordered comparison of pointer with integer zero ('const char*' and 'int')
| 35 | if(std::strstr(FilenameDst, ".dds") > 0 || std::strstr(FilenameDst, ".ktx") > 0)
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
Backport upstream patch to correct the ordered comparison.
Link: [1] https://gcc.gnu.org/gcc-11/porting_to.html
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
Install imx-test on all i.MX SoCs
Install imx-gpu-viv-demos on all SoCs with GPU
(previously they were missing on SOCs without 2D GPU like the imx8mq)
Signed-off-by: Nate Drude <nate.d@variscite.com>
As a result these packages will be installed on all i.MX8 SOCs.
Previously they were missing on SOCs without 2D GPU (e.g. imx8mq).
Signed-off-by: Nate Drude <nate.d@variscite.com>
x11 is not supported by NXP/Freescale anymore.
(Mentioned on Pull Request #702 at meta-freescale)
Signed-off-by: Vinicius Aquino <voa.aquino@gmail.com>
The u-boot settings in imx6qdlsabresd, imx6qdlsabreauto, and imx6ulevk are
set to values that are correct for u-boot-fslc. Attempts to override these
settings to fix u-boot-imx builds have broken u-boot-fslc builds, and
vice versa. The u-boot-imx build is currently broken:
```
| install: cannot stat '/opt/work/upstream/fsl-xwayland/tmp/work/imx6qdlsabresd-fsl-linux-gnueabi/u-boot-imx/2020.04-r0/build/u-boot.img': No such file or directory
```
The overall design is reworked, and the overrides here are simply dropped.
Fixes: 880dbf2 ("fsl-base.inc: use conditional assignment for base variables")
Fixes: e83f54d ("machines: imx-base.inc: fix failing u-boot builds")
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Upstream commit 2456f523cf ("licenses: Update license file to match
current SPDX names") deprecated the usage of LGPL-2.1 SPDX identifier,
removed LGPL-2.1 license file and replaced it with LGPL-2.1-only SPDX
identifier and text file.
Adjust recipe to use new SDPX identifier and text file.
Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>