Commit Graph

53 Commits

Author SHA1 Message Date
Gabriel Valcazar 6a7e9fa9e4 webkit: downgrade wpewebkit to 2.44.4 for stability purposes
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-9446
https://onedigi.atlassian.net/browse/DEL-9498

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2025-02-13 13:46:41 +01:00
Gabriel Valcazar 216cfd53e3 ccmp25: x-linux-ai: create custom ML packagegroup for webkit images
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>
2025-01-31 13:41:01 +01:00
Gabriel Valcazar 1e89975669 wpewebkit: avoid pulling in qtbase-native dependency if not necessary
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>
2025-01-29 17:57:36 +01:00
Gabriel Valcazar d595a2e3b5 connectcore-demo-example: restructure multimedia dependencies
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>
2025-01-07 16:10:33 +01:00
Gabriel Valcazar 5c20361d5c wpewebkit: reduce maximum number of PARALLEL_MAKE threads to 8
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>
2024-12-11 17:51:37 +01:00
Gabriel Valcazar abc92f2d77 wpewebkit: clean up unwanted PACKAGECONFIGs
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>
2024-12-11 13:19:43 +01:00
Gabriel Valcazar c7b2c5e94c Generalize WAYLAND_DISPLAY variable at a platform level and set a default value
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>
2024-12-11 13:18:03 +01:00
Gabriel Valcazar 5922cfe9cb wpewebkit: remove gbm PACKAGECONFIG for ccimx6 and ccmp1 platforms
Similar to what happens in cog with the drm PACKAGECONFIG, this creates a
dependency with libgbm, a library which isn't available on these platforms.

https://onedigi.atlassian.net/browse/DEL-9011

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
Gabriel Valcazar f54dcf2067 webkit: cog: remove upstreamed patch
The patch was upstreamed in 0.17.1, we now use 0.18.2.

https://onedigi.atlassian.net/browse/DEL-9011

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2024-10-17 13:03:37 +02:00
David Escalona 7d4a490a44 dey-image-webkit: include st npu samples in the image for the ccmp25 platform
https://onedigi.atlassian.net/browse/CCS-12

Signed-off-by: David Escalona <david.escalona@digi.com>
2024-09-25 14:02:41 +02:00
Arturo Buzarra 1d29e40d23 meta-digi: integrate ConnectCore MP25 DVK platform on common recipes
Add initial support on common DEY recipes for ConnectCore MP25 DVK platform.

https://onedigi.atlassian.net/browse/DEL-8995

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2024-07-22 17:12:33 +02:00
Isaac Hermida 0c642ed7ec Update Digi Copyright header
Standarize the Copyright header according to company policy.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2024-07-15 09:28:58 +02:00
Hector Palacios 327d9f3cd3 graphic demos: cc93: fix display and expansion of variable
The display for the cc93 is 'wayland-1'.
Use backslashes before the curly braces to avoid potential expansion by
bitbake variables.

Signed-off-by: Hector Palacios <hector.palacios@digi.com>
2024-01-29 18:53:34 +01:00
Tatiana Leon 0d9b393afc connectcore-demo: fix systemd service dependency on connectcore-demo-server.service
This fix systemd error on boot:

[    6.974370] systemd[1]: /lib/systemd/system/connectcore-demo-example.service:3: Failed to add dependency on connectcore-demo-server, ignoring: Invalid argument

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-09-29 10:50:18 +02:00
Javier Viguera 711d9b5883 meta-digi-dey: add missing runtime dependence for some packages
Packages bluez5-init, cloudconnector, and connectcore-demo-example-webkit
provide a launcher script that is used regardless of the init system being
systemd or sysvinit. Those launcher scripts use the '/etc/init.d/functions'
file, which is provided by the 'initscripts-functions' runtime package,
so add that runtime dependence.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-24 12:16:02 +01:00
Tatiana Leon 3f9c93ecdf connectcore-demo: move video and webgl example recipes
Move 'video-examples' and 'webglsamples' recipes outside dynamic-layers/webkit
so platforms without 'webkit' support (such as ConnectCore 6UL) are able to
include and build successfully the complete 'connectcore-demo-example'

Related to 0b9b73afc8

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-10 11:41:30 +01:00
Javier Viguera a90a3b9898 dey-image-webkit: add compatibility with ccimx93
While on it, sort compatible machines alphabetically.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2023-02-08 14:14:39 +01:00
Tatiana Leon 2130f04f21 ccmp15: webkit: image: reduce webkit image size
Generated webkit rootfs image for the ConnectCore MP15 is too big to fit in a
dual boot system.

This commit redefines 'dey-webkit' packagegroup not to include connectcore
demo multimedia feature in ccmp1 platforms.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Tatiana Leon 0b9b73afc8 connectcore-demo: separate in several packages
This commit separates the original 'connectcore-demo-example' package in 3
packages:

  1. 'server' package. It contains the 'demoserver.py' script and its
     corresponding systemd service and init script.
     This script is required for the local demo and to be used with the
     Bluetooth application (during the get started process)

  2. 'example' package. It contains the html and required resources (images,
     javascript, etc.) to use the demo locally, except for the multimedia
     resources.
     This package depends (in runtime) on the 'server' package.

  3. 'multimedia' package. It contains the multimedia html and required
     resources (images, javascript, videos, etc.) to use the multimedia demo
     features locally.
     This package depends (in runtime) on the 'example' package and also on
     'video-examples' and 'webglsamples' packages.

This split allows to select the required demo packages per platform and image
type.

By default, the 'multimedia' package is the one included in the webkit images,
but the 'example' package is the one included in the rest of images.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Tatiana Leon bb12e4b7c8 cog: do not manually append 'wl' to PACKAGECONFIG
Partially reverts commit 668b4e8138.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Tatiana Leon feea2179ad ccmp15: connectcore demo: fix autostart of demo application on top of weston
This commit is similar to those required to launch crank applications on top of
weston in ConnectCore MP 15 platform, it must wait for the socket
'/run/user/0/wayland-1' after weston is initialized.

See commits 7de8270beda64236cdd1c46857906315a37dc4fe and
1ec5cc172c.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Tatiana Leon b305808539 ccmp15: cog: fix cog build
Do not build 'drm' platform for ccmp1 platforms. The code for 'drm' does not
properly build out of the box in cog version 0.14.1 and some patches are
required.

Since 'drm' platform is not being used, remove it for ccmp1 instead of fixing
the build process.

Signed-off-by: Tatiana Leon <Tatiana.Leon@digi.com>
2023-02-07 14:00:52 +01:00
Isaac Hermida 98511f5a60 connectcore-demo-example: set environment variables
To avoid bad image escalation, export COG environment variables.

https://onedigi.atlassian.net/browse/DEL-8356

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-02-03 08:27:21 +01:00
Isaac Hermida b2b76fd823 recipes-browser: cog: revert fullscreen patch
There is an environment option "COG_PLATFORM_WL_VIEW_FULLSCREEN" for
that purpose, so do not patch the code.
Set that variable to true if you want "cog" to be started in
fullscreen mode.

https://onedigi.atlassian.net/browse/DEL-8356

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-02-03 08:27:21 +01:00
Isaac Hermida 1467244b04 cog: fix mouse pointer
Apply patch to show mouse pointer, see commit
fe83f9b721

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-01-27 11:31:10 +01:00
Isaac Hermida e68316d382 connectcore-demo-example: webglsamples: set aquarium options
Set the options to false, so user can enable it and see the effect and how
it loads the performance.
Just starting with those options ON leads to a loaded system and the first
impression is too bad.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-01-26 11:42:17 +01:00
Isaac Hermida b90fcda302 connectcore-demo-example: fix start of service
Change the condition to start after the weston service.
While on it, add a "requires" option given that weston is mandatory to have
the "cog" tool running.

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
2023-01-12 17:21:28 +01:00
Arturo Buzarra a8d7b3c623 wpewebkit: limit number of parallel threads to fix a build issue
Building the wpewebkit recipe with more than 16 threads throws an unexpected
error "ninja: build stopped: subcommand failed.", so this commit limits it
to a safe value.

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-07-26 12:08:04 +02:00
Arturo Buzarra 5fa91adcd6 webkit: add support for dey-image-webkit for ccmp15 platform
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2022-07-26 12:08:04 +02:00
David Escalona 4b8eec17c2 images: include 'connectcore-demo-example-webkit' in webkit images
Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
David Escalona a84f588cd1 meta-digi-dey: webkit: add recipe to install webkit version of 'connectcore-demo'
The Webkit version of the ConnectCore demo implements some new functionality:
- The COG browser is automatically started when the device boots loading the demo in the
  primary display.
- A new Multimedia section is available to reproduce some demo videos and WebGL examples
  in the device's browser.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
David Escalona cce6b23957 meta-digi-dey: webkit: remove 'digi-webkit-examples' recipe
The ConnectCore Demo will be installed by default in all the platforms, so this recipe
is no longer required.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
David Escalona f229fc7171 meta-digi-dey: webkit: move 'video-examples' and 'webglsamples' recipes to 'recipes-digi'
The video examples and WebGL samples will be part of the new ConnectCore Demo, so move these
recipes to a more appropriate folder. While on it, remove dependencies with 'digi-webkit-examples'
recipe as it will be obsoleted.

Signed-off-by: David Escalona <david.escalona@digi.com>
2022-07-18 16:32:25 +02:00
Javier Viguera 065cf3e9c4 kirkstone migration: general update to the new override syntax
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2022-06-20 11:39:57 +02:00
Gabriel Valcazar 668b4e8138 cog: adapt patches to v0.12.0
Now that the "--platform" parameter is optional, we don't need to hardcode the
platform anymore, so remove the first patch.

In this version, the FDO platform has been renamed to WL, and since the default
PACKAGECONFIG is meant to work with older cog versions, we need to manually
append the "wl" PACKAGECONFIG to build the wayland platform.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-25 12:58:22 +01:00
Gabriel Valcazar 2079aec5e0 hardknott: cog: remove drm PACKAGECONFIG for ccimx6/ccimx6qp
This PACKAGECONFIG existed in gatesgarth, but it's included by default in
hardknott and it pulls in libgbm as a dependency. This package isn't available
for i.MX6 platforms, causing the build to fail immediately. Remove this from
the ccimx6 PACKAGECONFIG and leave it how it was on gatesgarth.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar dceae2dc3e hardknott: webkit: remove our recipes
We initially added newer versions of the recipes related to WPE Webkit in order
to incorporate performance improvements, but the hardknott branch of
meta-webkit includes even newer versions, so we can remove our recipes.

Reflect this change in our distro config file.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2022-01-05 11:09:46 +01:00
Gabriel Valcazar 2c7f14ba98 webkit: stop hardcoding versions in .bbappend files
By default, we only support the latest versions of the webkit packages anyway,
so use a wildcard so we don't have to update the recipes every time a new
version is available.

https://onedigi.atlassian.net/browse/DEL-7578

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-23 12:36:44 +02:00
Gabriel Valcazar 4219e6c36c webkit: upgrade packages to include i.MX performance improvements
Igalia has included performance improvements for i.MX platforms in the latest
versions of different packages related to webkit. Even though the recipes for
these versions are not yet available in meta-webkit, we can add our own to
meta-digi to take advantage of these improvements.

Update the cog patches so they apply cleanly over v0.9.90.

https://onedigi.atlassian.net/browse/DEL-7578

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-06-23 12:36:44 +02:00
Gabriel Valcazar cf7a87f6c3 wpewebkit: adapt .bbappend to Yocto 3.2
Update version from 2.28.1 to 2.32.0, remove patch that is already included in
the source tarball and stop removing the qtwpe PACKAGECONFIG, since it's no
longer being included by default.

https://onedigi.atlassian.net/browse/DEL-7545

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-29 21:39:39 +02:00
Gabriel Valcazar 00e1167f7c cog: adapt .bbappend to Yocto 3.2
Update the version from 0.7.1 to 0.8.0 and remove two patches that are already
being applied in meta-webkit.

https://onedigi.atlassian.net/browse/DEL-7545

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2021-05-29 21:39:39 +02:00
Arturo Buzarra 4342546a01 gatesgarth migration: features_check class replaces distro_features_check
The 'distro_features_check' class has had its functionality expanded, as
a result the class has now been renamed to 'features_check'

https://jira.digi.com/browse/DEL-7508

Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
2021-05-05 19:18:11 +02:00
Gabriel Valcazar cca44221b9 digi-webkit-examples: adapt to new landing page design
The landing page for the WebKit examples has gone through a visual overhaul to
improve the overall user experience, so adapt its recipe accordingly. Since the
page now contains resources that are relatively large (such as images and
extensive stylesheets), remove its elements from the recipe directory and
obtain them from Digi's FTP server instead.

https://jira.digi.com/browse/DEL-7365

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-28 11:57:14 +01:00
Gabriel Valcazar 142c1e2fcf wpewebkit: remove qtwpe from PACKAGECONFIG
The Qt WPE plugin has an implicit dependency with libgbm, which is only
available on i.MX8 platforms. Also, it pulls in several Qt dependencies,
increasing the total rootfs image size by about 50MiB. Remove said plugin to
completely separate Qt and WebKit functionality.

https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-17 09:33:42 +01:00
Gabriel Valcazar 0fd7e03fc8 digi-webkit-examples: add recipe for video examples
This recipe installs some videos that can be used to test the WebKit's hardware
acceleration during video decoding. Modify the landing page to be able to
access these videos.

https://jira.digi.com/browse/DEL-7314
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-17 09:33:42 +01:00
Gabriel Valcazar 1d58cb6c7f packagegroup-dey-webkit: include digi-webkit-examples by default
While at it, change cog's home page to the examples' landing page.

https://jira.digi.com/browse/DEL-7314
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-17 09:33:42 +01:00
Gabriel Valcazar 04cd7aafe7 digi-webkit-examples: add recipe for main landing page
This recipe installs the main page of the WebKit examples, from which all other
examples can be accessed. For now, only include the WebGL examples.

Since the landing page recipe needs to know which WebGL demos are being
installed and the webserver path where everything is installed, move some of
the variables used in the webglsamples recipe into an *.inc file to be able to
re-use said variables in different recipes.

Use the Digi embedded documentation CSS file for now, so the landing page looks
more on-brand.

https://jira.digi.com/browse/DEL-7314
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-17 09:33:42 +01:00
Gabriel Valcazar 4b94979d98 digi-webkit-examples: create recipe for WebGL samples
This recipe installs a subset of the samples available at
https://webglsamples.org/ onto the target's web server, to be able to run said
examples locally without needing internet access. Make sure not to install any
source files to avoid making the package too large.

https://jira.digi.com/browse/DEL-7314
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-14 11:49:40 +01:00
Gabriel Valcazar cfa11005ee cog: add small usability improvements
Add two patches to improve user experience, such as making the browser
fullscreen and removing the otherwise necessary --platform parameter.

Also, make www.digi.com the default URI to avoid having to explicitly pass a
URI when launching cog.

https://jira.digi.com/browse/DEL-7311
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-14 11:49:40 +01:00
Gabriel Valcazar 590b824967 wpewebkit: make sure the webkit can only be built for graphical images
The WebKit is not supported on framebuffer images yet. While at it, set
wpebackend-fdo as the default WPE backend.

https://jira.digi.com/browse/DEL-7311
https://jira.digi.com/browse/DEL-7339

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2020-12-14 11:49:40 +01:00