Commit Graph

19 Commits

Author SHA1 Message Date
Gabriel Valcazar 62f2f0d911 wpewebkit: port custom Digi patches to 2.46.X
Out of the three patches we currently apply to v2.44.4, two are no longer
needed for v2.46.7:

    * 0001-Build-fix-when-LAYER_BASED_SVG_ENGINE-is-off.patch is already
      included in v2.46.X releases
    * 0001-DMABufVideoSinkGStreamer-disable-sink-unconditionall.patch is no
      longer needed, since the GL sink is chosen by default in v2.46.7

Only port 0001-UIProcess-WebProcessPool-always-swap-process-when-us.patch to
avoid performance issues on platforms with memory restrictions.

Keep the v2.44.4 patches in case customers want to use said version, and
clearly separate the patchsets for both versions.

Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
2025-11-11 14:14:59 +01:00
Javier Viguera 4f09a9f546 wpewebkit: restrict VPU patch to 8M Mini
The 8M Nano does not have a VPU.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
2025-05-13 09:44:02 +02:00
Javier Viguera 7d076d76a5 wpewebkit: fix using VPU also for ccimx8mm
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>
2025-05-12 13:00:37 +02:00
Gabriel Valcazar 8ec2635654 wpewebkit: add workaround to improve memory usage in ConnectCore Demo app
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>
2025-04-08 12:13:32 +02:00
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 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 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 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
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
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
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
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 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 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
Gabriel Valcazar 3a3ca20ec2 wpewebkit: add patch to fix video playback on the ccimx8x
The i.MX8X video decoder requires a specific NXP video converter, otherwise
videos will appear with several glitches. This patch adds said plugin in the
WPE webkit's internal gstreamer pipeline.

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