There are several recipes in meta-digi related to features that we haven't
tested in a long time and don't appear in the DEY 5.0 documentation. Remove
them to avoid unexpected behavior.
Said features are:
* Coral TPU support (only supported in DEY 3.2)
* AWS support (removed from default images and docs in DEY 4.0)
* dey-image-tiny (hasn't been maintained since DEY 2.0)
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The patch we applied for the ccimx8x to enable VPU usage when playing
videos under WebKit is also necessary for the ccimx8mm.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Commit 9c3916da94 added INSANE_SKIP
"32bit-time" to certain recipes that use 32bit APIs on the ccmp1
SOMs, but forgot to include the `pn-` prefix to really apply to
those recipes.
While on it, add two additional ones on recipes used by NXP 32-bit
platforms.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
* Remove wayland_1.22.0.bbappend, with changes originally added for Crank
UI (commit 25c699e05b), which we no longer support.
* Update wayland_%.bbappend to align with NXP’s rel_imx_6.6.52_2.2.0
release.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
That includes several CVE patches not present of meta-freescale's
23.2.5.imx recipe (which is based in exactly the same revision).
Similar change was done in NXP's meta-imx (see commit
99ceb057fcfdc8151c1488089d5f22363dfdb6d7).
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit introduces a dynamic layer that extends the flutter-apps layer by
adding an init service to automatically launch the Flutter demo on boot.
https://onedigi.atlassian.net/browse/DEL-9380
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Typically, recipes that support clang builds only pull in the required clang
dependencies when the TOOLCHAIN variable is expliciltly set to "clang". The
qttools recipe in meta-qt6 differs from this by adding the dependency as soon
as meta-clang is present in the bblayers, regardless of the selected toolchain.
This causes all of the nativesdk clang packages to get included in our SDK
(along with the gcc ones), causing SDK bloat and spurious build errors on build
machines with limited resources.
Make sure that the dependency is only added when the clang TOOLCHAIN is
explicitly selected.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit introduces the necessary changes in the Digi Embedded Yocto layer
to support the X-LINUX-AI v6.0.1 software package from the meta-st-x-linux-ai
layer.
The update removes support that is now provided directly by the ST layer in
this new version and adapts existing recipes to align with the updated
mechanisms for AI application integration. These changes ensure compatibility
with platforms that feature hardware acceleration (NPU), as well as those that
rely solely on CPU-based inference.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Even though we launch said demo with WebKit's page cache disabled, WebKit still
caches most of the demo's contents for two reasons:
* The demo is browsed using a non-HTTP(S) protocol (file://)
* The demo is contained within the same domain (same-site browsing)
This can lead to unexpected behavior on platforms with small RAM size. Add
a workaround to force WebKit to create a new web process everytime we open
a page on the demo, deleting the previous process and freeing its memory.
An alternative solution would be to alter our demo to make sure a page's
resources are correctly freed when exiting said page, but this provides a
general solution that ensures memory cleanup in all cases, albeit with slightly
longer loading times.
https://onedigi.atlassian.net/browse/DEL-9498
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
after commit 8ad093c37b we are detecting
if a model conversion fails.
Currently the mode ssd_mobilenet_v1 fails and cannot be converted by
vela.
This is reported to NXP and will be fixed in next releases.
Meanwhile, for the current version, use a local copy.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
'gplay' tries to use playbin3 and autovideosink by default
which is provided by plugins-good package and missing on the
ccimx6ul.
Add this package so that video playback works with 'gplay'
command alone.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-9525
Due to a change in systemd the default home directory is now "/root".
Modify our recipes to match with this change.
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
2.46.5 has an issue where the ConnectCore demo doesn't register mouse clicks
in its main window, making it unusable. Until we find the cause of this issue,
downgrade to the nearest available release 2.44.4, where mouse clicks are
working fine.
Backport a patch from 2.46.X to allow builds with the lbse PACKAGECONFIG
disabled and apply a custom patch to make sure the correct gstreamer sink is
used for the ccimx8x.
https://onedigi.atlassian.net/browse/DEL-9446https://onedigi.atlassian.net/browse/DEL-9498
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
For i.MX platforms with a GPU, we already enable its driver as built-in in the
kernel, so there's no need to install the external version of the driver. This
removes one of the dependencies with the linux-imx repo, the other one being
linux-imx-headers.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Both gstreamer1.0-plugins-good-qt and imx-qtapplications haven't been
officially supported by NXP ever since they migrated to qt6 on i.MX platforms,
and both of them apply only to imxgpu3d platforms. In our case, we only use qt5
in the ccimx6ul, so we don't need these packages at all.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Like in commit 782b20958a, port these recipes from meta-imx even though they
are already available in meta-freescale, just so we can include the
modifications from meta-imx's imx-gpu-viv-6-overrides.inc.
https://onedigi.atlassian.net/browse/DEL-9445
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This recipe installs the dcmipp-isp-ctrl tool, an application that demonstrates
some of the features of the DCMIPP ISP blocks. It allows configuring
illuminance and auto-exposure to achieve a targeted level by adjusting both the
DCMIPP exposure block and the sensor gain.
This recipes is original from meta-st-openstlinux layer based on
openstlinux-6.6-yocto-scarthgap-mpu-v24.12.05 release.
https://onedigi.atlassian.net/browse/DEL-9486
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit fixes several issues related to the initialization of AI demos when
using CSI cameras (OV5640 and IMX335) with the DCMIPP peripheral.
All configurations have been moved to an additional setup_camera.sh script and
removed from the main demo launcher.
https://onedigi.atlassian.net/browse/DEL-9486
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
stai-mpu provides a common ML API for stm32mpu platforms, allowing applications
to use different inference frameworks without changing any code. Its packages
consist of pre-built libraries that are in charge of interfacing with the
three supported frameworks (tflite, onnx and openvx).
While it's possible to install only a subset of these libraries to limit the
supported frameworks on the target device, all libraries are packaged
unconditionally at build-time, pulling in the dependencies of all three
frameworks. In our case, this pulls in onnxruntime dependencies even though we
only install the tflite and openvx packages in our ccmp25 images. This tends to
cause out-of-memory errors when onnxruntime is built at the same time as other
large packages, such as opencv and wpewebkit.
Since most of these dependencies are already present at a higher level in the
x-linux-ai packagegroup recipes, remove them from the stai-mpu recipe and skip
the runtime dependency QA checks to be able to build the packages without their
respective frameworks. In the case of the ccmp25-dvk, this has no effect on the
final image contents, but it prevents onnxruntime from being built for no
reason.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The default ML packagegroup provided by the x-linux-ai layer isn't very
flexible when it comes to including a subset of the packagegroups it provides:
even if you include just one of them, the others will get built anyway, pulling
in several dependencies that aren't even used for the final image's contents.
Also, a lot of the runtime dependencies are duplicated in several of the
packages in the dependency chain, making it confusing to manage dependencies
efficiently.
Create a new packagegroup specifically tailored for our ccmp25 webkit images,
using packagegroup-x-linux-ai as reference, removing any duplicated
dependencies and applying the same changes as the ones we apply in the
reference's .bbappend. At the moment, this packagegroup and the old one are
equivalent, but we can now modify ours while leaving the old one intact in case
anyone wants to use it.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
By default, we don't enable wpewebkit's qtwpe config, so the qtbase-native
dependency pulled in automatically via the qt6-cmake bbclass isn't necessary.
Make sure the dependency only gets pulled in when needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Currently, this feature prevents the CPU from properly entering the
standby state on the i.MX93.
With the current implementation, the PXP module generates
"pxp-dmaengine-std" interrupts, which prevents the CPU from asserting
the PMIC_STBY_REQ signal.
An ongoing ticket with NXP is addressing this issue.
In the meantime, use the following workaround to resolve the situation.
https://onedigi.atlassian.net/browse/DEL-9356
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit fixes several issues related to the initialization of AI demos when
using a USB camera.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Using the qt5 STM customizations as reference, adapt them to qt6 by changing
filenames and paths when needed and porting the qtbase configuration options
from the v2.1.0 branch of meta-st-x-linux-qt. Make sure that the
cinematicexperience is included in packagegroup-qt6-dey.
For now, leave the STM qt5 support as-is for backwards compatibility.
https://onedigi.atlassian.net/browse/DEL-9462
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Similar to what we did for the target's version of this packagegorup in commit
58cfee7ac7, keep the "essentials" packagegroup and remove the addons. In this
case, the troublesome qt6 package is qtinterfaceframework, which pulls in
several python3 packages including python3-cryptography, which depends on the
rust compiler.
This reduces overall SDK size and rust compiler overhead during the SDK build.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This mirrors the change done for the STM version of the recipe in meta-digi
commit b7c15294a2, re-using the same patch that was used to fix the
compilation error introduced by poky commit 19fce77a5f13.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit adds a patch to address a build issue with the onnxruntime recipe
when warnings are treated as errors. The issue happens due to changes in commit
19fce77a5f132c569c555e8b6a4dda1379537653 ("gcc: Fix c++: tweak for
Wrange-loop-construct") in the poky layer.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
At the moment, we provide four versions of the connectcore demo package:
* webkit + multimedia: we include this one in webkit images
* webkit (no multimedia): used in cases where the platform supports webkit,
but video/webgl performance isn't optimal
* regular: only contains the demo server and basic assets, we include it in
non-webkit images
* regular + multimedia: contains the regular package plus video/webgl web
content
This last version doesn't make a lot of sense because video/webgl content is
meant to showcase the target's VPU/GPU capabilities, and that can only be done
when running the demo on the target via webkit. Besides, even though we don't
include this version of the package in our default non-webkit images, the
runtime dependencies in the .inc file make bitbake generate the video-examples
and webglsamples packages during the image builds, even if they don't end up
in the final image. This is true even for platforms that don't support webkit,
such as the ccimx6ul, ccimx91 and ccimx93.
Initially, I tried making the -multimedia package exclusive to the webkit
recipe, but this causes its contents to be bundled with the base (regular)
package. To avoid this, define the -multimedia package in the .inc file, and
move its dependency with video-examples and webglsamples to the webkit recipe.
This way, the regular + multimedia version of the package still exists, but
it no longer causes bitbake to generate video/webgl packages when not needed.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Part of these changes are related to the update to Qt 6.8. Slightly modify
qtquick3d_git.bbappend to mirror NXP's configuration (i.MX GPU drivers don't
support OpenXR)
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
packagegroup-qt6-modules is the base packagegroup added to SDKs that inherit
the populate_sdk_qt6 bbclass. By default, this packagegroup pulls in two other
packagegroups: packagegroup-qt6-essentials and packagegroup-qt6-addons.
The addons packagegroup pulls in a big number of qt packages that we don't even
install in our images. This would be fine if it weren't for the fact that the
bitbake server tends to crash when building several of these packages at once,
even on powerful development PCs. The current workaround is to reduce the
number of bitbake jobs at a project level, but this hinders the overall SDK
build time. Remove the addons and use our own qt6 packagegroup instead.
This way, we prevent errors in our daily builds and the qt6 contents in our
SDKs are more similar to what we provide in our images. In the ccimx8x-sbc-pro
toolchain, this reduces the installer script's size by around 492 MiB.
https://onedigi.atlassian.net/browse/DEL-9410
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
After commit 732975b722, which synced our qt6 recipes with meta-imx, there
are no longer any compilation error when building qtpdf. Undo our removal of
this package to minimize the amount of changes done to the qt6 packagegroups.
Don't undo the change in the copyright years
This reverts commit 3bf06c2c6f.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This imports ethos-u firmware from NXP's MCUXpresso SDK (version
SDK_2_16_000_MIMX9352xxxxM) + some patches provided by NXP to fix the
communication with the TFlite delegate (support case 00663302).
Repo: emp/ethos_u_firmware.git
Revision: 2a98a3899f56830c45fadc708229824e9fee3a01
https://onedigi.atlassian.net/browse/DEL-9355
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This commit removes all references to packages dependent on the X-Linux-AI tool
manager, as it has an internal dependency on the apt-openstlinux package.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all outdated recipes after the integration of the latest
X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer for Yocto 5.0
(Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit updates the camera configuration and default paths to align with
the new X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit adds a .bbappend to the application-resources recipe, enabling
support for the STM32MP255 variant in the configuration board script.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
NPU samples were reworked in the new X-LINUX-AI v6.0.0 release from the
meta-st-x-linux-ai layer. This commit updates the Digi customizations to align
with the new NPU sample files.
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit removes all unnecessary files after the integration of the latest
X-LINUX-AI v6.0.0 release from the meta-st-x-linux-ai layer for Yocto 5.0
(Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9419
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Even though we're already limiting this number of threads to 16, the wpewebkit
compilation process often crashes, even on powerful development PCs with 32
logical cores and 32 GiB of RAM. Reducing the number of threads to 8 avoids
this, at the expense of a slightly longer compilation time.
https://onedigi.atlassian.net/browse/DEL-9411
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The main culprit is "accessibility", which adds a dependency with at-spi2-atk.
This service fails to launch if glib-2.0's gschemas.compiled file is missing,
which is the case in our default images. In turn, this failure causes webkit
to stall for 30 seconds before launching. Remove this PACKAGECONFIG to avoid
this issue.
While at it, remove other PACKAGECONFIGs:
* "lbse" and "service-worker" are not configurable anymore and are now
hardcoded features. Removing these PACKAGECONFIGs has no effect on the
build, but their inclusion gives the false impression that they're
configurable, so remove them. "webcrypto" is also not configurable
anymore, but its PACKAGECONFIG pulls in necessary dependencies, so leave
it enabled for now.
* "openjpeg" is not only not configurable, but it's no longer supported.
This PACKAGECONFIG pulls in an openjpeg dependency, making bitbake build
the package even though it never gets included in the final image. Remove
the config to prevent bitbake from building the openjpeg package at all.
* "speech-synthesis" pulls in a dependency with flite, a 15 MiB speech
synthesis tool. We aren't using this feature in our demos, so remove it
from our default configuration to save some space.
https://onedigi.atlassian.net/browse/DEL-9404
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
The value of this variable is always the same within a platform, so it doesn't
make sense to have different variables for it in each recipe that requires it.
While at it, it seems like all currently supported platforms in DEY 5.0 use the
same value of "wayland-1", presumably because they all use similar versions of
wayland/weston. Set this as the default value for all platforms for now. As we
support more platforms, we can adjust this value if needed, but if it ends up
being the same for all platforms, we can just hardcode it.
https://onedigi.atlassian.net/browse/DEL-9404
Co-authored-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit removes all unnecessary files after the integration of the latest
ST BSP, based on the openstlinux-6.6-yocto-scarthgap-mpu-v24.11.06 tag for
Yocto 5.0 (Scarthgap).
https://onedigi.atlassian.net/browse/DEL-9381
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
After poky commit 4705dd264681d908f144dd4d9bf1f6175f68d8b9, soft dependencies
for complementary packages no longer get included by bitbake's internal package
managers. Make weston's dependency with wayland-protocols a hard one to include
wayland-protocols in our SDKs, which is how it used to be in older DEY
releases.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>