GithubHelp home page GithubHelp logo

igalia / meta-webkit Goto Github PK

View Code? Open in Web Editor NEW
125.0 19.0 69.0 1001 KB

Yocto / OpenEmbedded layer for WebKit based engines and browsers

License: MIT License

BitBake 97.40% CMake 0.57% C++ 1.65% QML 0.39%

meta-webkit's Introduction

meta-webkit (OpenEmbedded/Yocto layer for WebKit based engines and browsers)

This layer provides recipes of WebKit based runtimes and browsers for use with OpenEmbedded and/or Yocto.

This layer depends on:

URI: git://git.openembedded.org/openembedded-core
branch: main
revision: HEAD

URI: git://git.openembedded.org/meta-openembedded
branch: main
revision: HEAD

This layer optionally depends on:

URI: http://code.qt.io/yocto/meta-qt5.git
branch: 5.12
revision: HEAD

If meta-qt5 is present, this layer will provide an opt-in Qt5 API as an alternative to other Qt5 web-engines such as QtWebKit and QtWebEngine.

Warning: The default branch has been renamed to main because #219. The old default branch (master) will still be kept as a mirror of the main until February of 2022 #220. Please update any external reference from master to main as soon as possible.

Building the WPE engine or WebKitGTK+

Please refer to the project Wiki for a detailed guide:

How to contribute

Contributions are welcomed. Please send your patches as Pull Requests or fill a Issue report in case you need to ask for help.

meta-webkit's People

Contributors

aperezdc avatar arthursdo avatar baibaidashixiong avatar bastian-krause avatar bertogg avatar biotector avatar cadubentzen avatar clopez avatar colin-pm avatar colinmcallister avatar cpb- avatar domarys avatar dwrobel avatar elima avatar fbertux avatar jaskij avatar joshuawatt avatar kraj avatar kwavnet avatar macpijan avatar manuelafm avatar marhoy avatar nikolaszimmermann avatar oquirella avatar philn avatar psaavedra avatar rpavelescu avatar woutervanh avatar zdobersek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meta-webkit's Issues

[wpe-webkit] WPE WebKit 2.24.1 released!

WPE WebKit 2.24.1 is available for download at:

https://wpewebkit.org/releases/wpewebkit-2.24.1.tar.xz (16.1MB)
   md5sum: 0f7b792874853416d8005b020bd90685
   sha1sum: d009c82afbc2c373a7f34ffda392e5c3b52dac7d
   sha256sum: 95f2fb68429fbd901ea415d09fdd88d6d9ac5ec2d170bec9977093b12e5093a6

This is the first bug fix release in the stable 2.24 series.

What's new in the WPE WebKit 2.24.1 release?
============================================


  - Do not allow changes in active URI before provisional load starts for non-API requests.
  - Stop the threaded compositor when the page is not visible or layer tree state is frozen.
  - Use WebKit HTTP source element again for adaptive streaming fragments downloading.
  - Properly handle empty resources in webkit_web_resource_get_data().
  - Add quirk to ensure outlook.live.com uses the modern UI.
  - Fix methods returing GObject or boxed types in JavaScriptCore GLib API.
  - Ensure callback data is passed to functions and constructors with no parameters in JavaScriptCore GLib API.
  - Fix rendering of complex text when the font uses x,y origins.
  - Fix sound loop with Google Hangouts and WhatsApp notifications.
  - Fix the build with GStreamer 1.12.5 and GST GL enabled.
  - Fix event source priorities to avoid starvation causing the NetworkProcess to be killed in constraned environments.
  - Detect SSE2 at compile time.
  - Fix several crashes and rendering issues.
  - Security fixes: CVE-2019-6251.

cog renderer crash when playing mp4

I am trying to get WPE (using meta-webkit layer) running on the NXP sabresd evaluation board and I'm having problems running video (using vivante OpenGL drivers) . The failure message I get is

(cog:374): Cog-WARNING **: 10:10:32.778: file:///home/user/index.html Crash!: The renderer process crashed. Reloading the page may fix intermittent failures.

My local.conf is

DISTRO_FEATURES_append = " opengl wayland"
IMAGE_INSTALL_append = " gstreamer1.0-plugins-imx
gstreamer1.0-plugins-imx-meta
wpewebkit
cog
"

PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"

I'm building core-iamge-weston with the fsl-community-bsp Master branch (Master is the only one I can get to build sucessfully).

I've also tried the rdk backend directly in the imx6 framebuffer with the same problem,

Has anyone any idea why this is happening? MP4 video files play ok using gstreamer (gplay) directly.

Thanks
Ian

Failure building cog using alternative flags

cog fails during ld using this alternative flags:

PACKAGECONFIG_remove_pn-wpewebkit = "video"

How to reproduce:

    - mkdir -p ~/yocto-wandboard-wpe
    - cd ~/yocto-wandboard-wpe
    - repo init -u https://gitlab.com/saavedra.pablo/meta-perf-browser.git -m manifest.xml -b nightly
    - repo sync
    - source setup-environment wandboard-mesa-wpe-alternative --update-config
    - rm -rf tmp
    - bitbake core-image-weston-wpe

Error:

~/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/build $ /home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0=/usr/src/debug/cog/gitAUTOINC-r0 -fdebug-prefix-map=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot= -fdebug-prefix-map=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot-native=   -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot  -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security  --sysroot=/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector-strong -Wl,-z,relro,-z,now  -rdynamic CMakeFiles/cog.dir/cog.c.o  -o cog  -Wl,-rpath,/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/build: libcogcore.so.0.1.0 -ldl -lWPEWebKit-0.1 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lwpe-0.2 -lxkbcommon -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lwpe-0.2 -lxkbcommon
/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot-native/usr/bin/arm-poky-linux-gnueabi/../../libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/8.2.0/ld: /home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot/usr/lib/libWPEWebKit-0.1.so: undefined reference to `JSC::JSValue::asCell() const'
collect2: error: ld returned 1 exit status
$ readelf  -s  /home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-alternative/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot/usr/lib/libWPEWebKit-0.1.so | grep -i  asCell
  1271: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _ZNK3JSC7JSValue6asCellEv

https://gitlab.com/saavedra.pablo/meta-perf-browser/-/jobs/157608579

Changing WPEFramework Cache location

How do I change the default cache location for WPEFramework?

Currently it is /home//.cache
root@raspberrypi3:~/.cache# ls -l
-rw------- 1 root root 227465982 Jul 2 02:48 WPEWebProcess-FSV7KZ
drwx------ 3 root root 1024 Jan 1 1970 cog
drwxr-xr-x 2 root root 1024 Jul 2 02:47 gstreamer-1.0

I would like to change it to /tmp (tmpfs location).

[2.21.91 wpewebkit] JavaScriptCore fails to build

Building wpewebkit with PACKAGECONFIG = "remote-inspector"

Looks like the JavaScriptCore fails to compile

| /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.21.91-r0/build/DerivedSources/ForwardingHeaders/JavaScriptCore/ARM64Assembler.h:459:48: warning: 'JSC::ARM64Assembler::LinkRecord::<anonymous union>::RealTypes::m_compareRegister' is too small to hold all values of 'JSC::ARM64Assembler::RegisterID {aka enum JSC::ARM64Registers::RegisterID}'
|                  RegisterID m_compareRegister : 6;
|                                                 ^

Does wpebackend-fdo actually need virtual/libgl?

I had the following build error: ERROR: Nothing PROVIDES 'virtual/libgl'

The wpebackend-fdo recipe says: DEPENDS = "wpebackend glib-2.0 libxkbcommon wayland virtual/libgl"

Is that correct? Or should it be virtual/egl?

WebRTC Webcam & Mic permission

Hi,

I'm looking for WebRTC support for Video calls and while I appreciate there seems to be on-going work on WebRTC I've just tried https://appr.tc / (based off https://github.com/webrtc/apprtc) and I only get a blank screen.

I'm assuming the browser is asking permission to access the webcam and mic. It it possible to pre-bake or white list what sites have access?

I'm testing on an rpi3 with the following:

Device Name
buildroot S/N WPEuCfrS13Z
Identifier WPEuCfrS13Z
Version 1.0.100355f#100355f78713cabf8b8b40db0f20580587653763

Many thanks in advance.

[Request] Tag stable versions of meta-webkit

Are there plans to release/tag stable versions of meta-webkit?

e.g. a version that will successfully complete a build of wpewebkit + backend_x + cog?

wpewebkit now has stable releases, but building it with the backend and cog doesn't work "out of the box".

Why is xkbcommon used with wpebackend-rdk?

Wpebackend-rdk depends on libinput and wpebackend-fdo on libxkbcommon.

I have an RPi and built my Image using RDK so when I start cog I see a LibInputServer starting.
The thing that confuses me: If i press a any button on my Keyboard, cog crashes with a segfault and an errormessag of xkbcommon complaining that the directory /usr/share/X11/xkb could not be found.
When I just copy that folder from my desktop on the sd-card everything works fine.

So two questions:

  • Is it correct that libxkbcommon should be used when I built my image using wpebackend-rdk?
  • What should normally create that directory and its content? Am I missing something when building the image?

I haven't done anything more really than some recipes to configure the screen and added a custom splash screen... So I pretty much have just built the image like explained in the Wiki for RPi.

nothing provides gstreamer1.0-plugins-bad-opengl

As in OSSystems/meta-gstreamer1.0#20, building a WPE 2.22.0 image with Yocto master yields this error.

Error: 
 Problem 1: conflicting requests
  - nothing provides gstreamer1.0-plugins-bad-opengl needed by wpewebkit-2.22.0-r0.cortexa7t2hf_neon_vfpv4
 Problem 2: package cog-git0-r0.cortexa7t2hf_neon_vfpv4 requires libWPEWebKit-0.1.so.2, but none of the providers can be installed
  - conflicting requests                                                
  - nothing provides gstreamer1.0-plugins-bad-opengl needed by wpewebkit-2.22.0-r0.cortexa7t2hf_neon_vfpv4

The answer in there already suggests a fix:

The OpenGL plugin was moved to -base in 1.14. So you need gstreamer1.0-plugins-base-opengl .

Should the logic for where to get the opengl plugins depending on the gstreamer version be added do the wpewebkit recipe?

Thanks!

no known conversion for argument 1 from 'gbm_surface* const' to 'EGLNativeWindowType {aka wl_egl_window*}'

Hello

compilation on yocto 1.8 (fido) ends with the following logs (sry for the long paths):
If anyone knows the issue, please let me know.

Best regards
Aurรจle

| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/sysroots/x86_64-linux/usr/bin/cmake -E cmake_progress_report /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/build/CMakeFiles
| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/gbm/GBMSurface.cpp: In member function 'std::unique_ptrWebCore::GLContextEGL WebCore::GBMSurface::createGLContext() const':
| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/gbm/GBMSurface.cpp:65:84: error: no matching function for call to 'WebCore::GLContextEGL::createWindowContext(gbm_surface* const&, WebCore::GLContext_)'
| return GLContextEGL::createWindowContext(m_surface, GLContext::sharingContext());
| ^
| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/gbm/GBMSurface.cpp:65:84: note: candidate is:
| In file included from /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/gbm/GBMSurface.cpp:31:0:
| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/egl/GLContextEGL.h:39:42: note: static std::unique_ptrWebCore::GLContextEGL WebCore::GLContextEGL::createWindowContext(EGLNativeWindowType, WebCore::GLContext_, std::unique_ptrWebCore::GLContext::Data&&)
| static std::unique_ptr createWindowContext(EGLNativeWindowType, GLContext* sharingContext, std::unique_ptrGLContext::Data&& = nullptr);
| ^
| /home/aurele/workspace/yocto/moniteur-fido/build-moniteur2/tmp-glibc/work/cortexa9hf-vfp-neon-mx6qdl-oe-linux-gnueabi/webkitforwayland/wpe-20151019-r0/webkit-wpe-20151019/Source/WebCore/platform/graphics/egl/GLContextEGL.h:39:42: note: no known conversion for argument 1 from 'gbm_surface* const' to 'EGLNativeWindowType {aka wl_egl_window*}'

ps Thanks for this layer

krogoth build for Up Board fails to find LibEpoxy

I am trying top build Yocto for UpBoard having also wpewebkit

MACHINE = "up-board"
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-rdk"
IMAGE_INSTALL_append = " wpewebkit dyz"

If I add package dyz, it fails to

Could NOT find LibEpoxy: Found unsuitable version "1.3.1", but required is at least "1.4.0"

Any ideas how to fix?

Obsolete

Please write a note in README of this repo that webkit is in openembedded-core/meta/recipes-sato/webkit - that's a maintained one.

Thanks.

compiler error of wpewebkit 2.20.0

do you know how to deal with the compiler error on the latest meta-webkit layer ๏ผŸ
2997 /home/caozilong/WorkSpace/yakoto/build/tmp/work/aarch64-poky-linux-musl/wpewebkit/2.20.0-r0/wpewebkit-2.20.0/Source/JavaScriptCore/runtime/SamplingProfiler.cpp:357:48: error: 'framePoint er' is not a member of 'JSC::MachineContext'
2998 ยฆ ยฆ ยฆ ยฆmachineFrame = MachineContext::framePointer(registers);

wpewebkit openjpeg build fails

| CMake Warning at Source/cmake/OptionsWPE.cmake:103 (find_package):
|   By not providing "FindOpenJPEG.cmake" in CMAKE_MODULE_PATH this project has
|   asked CMake to find a package configuration file provided by "OpenJPEG",
|   but CMake did not find one.
| 
|   Could not find a package configuration file provided by "OpenJPEG" with any
|   of the following names:
| 
|     OpenJPEGConfig.cmake
|     openjpeg-config.cmake
| 
|   Add the installation prefix of "OpenJPEG" to CMAKE_PREFIX_PATH or set
|   "OpenJPEG_DIR" to a directory containing one of the above files.  If
|   "OpenJPEG" provides a separate development package or SDK, be sure it has
|   been installed.
| Call Stack (most recent call first):
|   Source/cmake/WebKitCommon.cmake:56 (include)
|   CMakeLists.txt:159 (include)
| 
| 
| CMake Error at Source/cmake/OptionsWPE.cmake:105 (message):
|   libopenjpeg is needed for USE_OPENJPEG.
| Call Stack (most recent call first):
|   Source/cmake/WebKitCommon.cmake:56 (include)
|   CMakeLists.txt:159 (include)
| 
| 
| -- Configuring incomplete, errors occurred!

Allwinner (Mali-400) support

Hi,
I'm playing with the orange-pi-pc-plus board and I'd like to share
my results so far.
The GPU performance on the mainline kernel inside Wayland/Weston (of course libMali is still closed blob)
seems encouraging:

root@orange-pi-pc-plus:~# glmark2-es2-wayland  --fullscreen
=======================================================
    glmark2 2017.07
=======================================================
    OpenGL Information
    GL_VENDOR:     ARM
    GL_RENDERER:   Mali-400 MP
    GL_VERSION:    OpenGL ES 2.0
=======================================================
[build] use-vbo=false: FPS: 120 FrameTime: 8.333 ms
[build] use-vbo=true: FPS: 155 FrameTime: 6.452 ms
[texture] texture-filter=nearest: FPS: 130 FrameTime: 7.692 ms
[texture] texture-filter=linear: FPS: 130 FrameTime: 7.692 ms
[texture] texture-filter=mipmap: FPS: 128 FrameTime: 7.812 ms
[shading] shading=gouraud: FPS: 123 FrameTime: 8.130 ms
[shading] shading=blinn-phong-inf: FPS: 102 FrameTime: 9.804 ms
[shading] shading=phong: FPS: 74 FrameTime: 13.514 ms
[shading] shading=cel: FPS: 60 FrameTime: 16.667 ms
[bump] bump-render=high-poly: FPS: 76 FrameTime: 13.158 ms
[bump] bump-render=normals: FPS: 105 FrameTime: 9.524 ms
[bump] bump-render=height: FPS: 85 FrameTime: 11.765 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 25 FrameTime: 40.000 ms
libpng warning: iCCP: known incorrect sRGB profile
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 12 FrameTime: 83.333 ms
[pulsar] light=false:quads=5:texture=false: FPS: 150 FrameTime: 6.667 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 12 FrameTime: 83.333 ms
libpng warning: iCCP: known incorrect sRGB profile
[desktop] effect=shadow:windows=4: FPS: 53 FrameTime: 18.868 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 23 FrameTime: 43.478 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 45 FrameTime: 22.222 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 26 FrameTime: 38.462 ms
[ideas] speed=duration: FPS: 102 FrameTime: 9.804 ms
[jellyfish] <default>: FPS: 40 FrameTime: 25.000 ms
Error: SceneTerrain requires Vertex Texture Fetch support, but GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 40 FrameTime: 25.000 ms
[refract] <default>: FPS: 13 FrameTime: 76.923 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 120 FrameTime: 8.333 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 54 FrameTime: 18.519 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 120 FrameTime: 8.333 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 60 FrameTime: 16.667 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 37 FrameTime: 27.027 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 60 FrameTime: 16.667 ms
=======================================================
                                  glmark2 Score: 75 
=======================================================

Since the EGL extension EGL_WL_bind_wayland_display is available (as shown in the weston.log), trying out wpebackend-fdo seemed like a good idea.

With fdo it is failing at:

root@orange-pi-pc-plus:~# cog -P fdo google.pl
(cog:423): Cog-DEBUG: platform_setup: Platform name: fdo
(cog:423): Cog-DEBUG: platform_setup: Platform plugin: libcogplatform-fdo.so
Wayland: Got a wl_compositor interface
Wayland: Got a wl_seat interface
Wayland: Got an xdg_shell interface
Wayland: Got a wl_shell interface
Cog-INFO: EGL version 1.4 initialized.
xkbcommon: ERROR: couldn't find a Compose file for locale "C"
(cog:423): Cog-DEBUG: platform_setup: Platform = 0x3d930
Seat caps: Keyboard 
Seat name 'default'
New XDG toplevel configuration: (0, 0)
New XDG toplevel configuration: (1920, 1080)
Cannot create EGL surfaceless context: missing EGL_KHR_surfaceless_{context,opengl} extension.

(cog:423): Cog-WARNING **: <http://google.pl/> Crash!: The renderer process crashed. Reloading the page may fix intermittent failures.
Cannot create EGL surfaceless context: missing EGL_KHR_surfaceless_{context,opengl} extension.

(cog:423): Cog-WARNING **: <http://google.pl/> Crash!: The renderer process crashed. Reloading the page may fix intermittent failures.
Cannot create EGL surfaceless context: missing EGL_KHR_surfaceless_{context,opengl} extension.

The strace.log seems to be revealing SEGV, which I guess could be traced further with the gdb (once I include it in the image):

[pid   808] ioctl(11, _IOC(_IOC_READ, 0x84, 0x2, 0x10), 0xaa6fea00) = 0
[pid   808] ioctl(11, _IOC(_IOC_READ|_IOC_WRITE, 0x83, 0, 0x28), 0xaa6fe880) = 0
[pid   808] mmap2(NULL, 262144, PROT_READ|PROT_WRITE, MAP_SHARED, 11, 0x10000000) = 0xb000c000
[pid   808] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} ---
[pid   807] <... poll resumed> <unfinished ...>) = ?
[pid   806] <... futex resumed>)        = ?
[pid   805] <... poll resumed> <unfinished ...>) = ?
[pid   804] <... poll resumed> <unfinished ...>) = ?
[pid   802] <... rt_sigtimedwait resumed> <unfinished ...>) = ?
[pid   801] <... ioctl resumed> <unfinished ...>) = ?
[pid   800] <... futex resumed>)        = ?
[pid   799] <... poll resumed> <unfinished ...>) = ?
[pid   798] <... poll resumed> <unfinished ...>) = ?
[pid   797] <... poll resumed> <unfinished ...>) = ?
[pid   796] <... futex resumed>)        = ?
[pid   794] <... futex resumed>)        = ?
[pid   798] +++ killed by SIGSEGV +++
[pid   807] +++ killed by SIGSEGV +++
[pid   806] +++ killed by SIGSEGV +++
[pid   805] +++ killed by SIGSEGV +++
[pid   804] +++ killed by SIGSEGV +++
[pid   802] +++ killed by SIGSEGV +++
[pid   801] +++ killed by SIGSEGV +++
[pid   800] +++ killed by SIGSEGV +++
[pid   799] +++ killed by SIGSEGV +++
[pid   797] +++ killed by SIGSEGV +++
[pid   796] +++ killed by SIGSEGV +++

The rdk/wayland backend seems to be going further:

root@orange-pi-pc-plus:~# cog https://google.com                 
(cog:979): Cog-DEBUG: platform_setup: Platform name: (null)
(cog:979): Cog-DEBUG: Instantiating default WPE backend as fall-back.
xkbcommon: ERROR: couldn't find a Compose file for locale "C"
Cannot create EGL surfaceless context: missing EGL_KHR_surfaceless_{context,opengl} extension.
Cannot create EGL WPE context: EGL_SUCCESS
Cog-Message: <https://google.com/> Load started.
Cog-Message: <https://www.google.com/> Redirected.
Cog-Message: <https://www.google.com/> Loading...
Cog-Message: <https://www.google.com/> Loaded successfully.

But still, nothing appears on the Weston screen.

Any suggestions with further ideas to try out are highly appreciated.

[fdo] i.MX6 - Cog fails to start - cannot open shared object file

I followed the wiki pages for i.MX6 to build my image so i have a pretty basic core-image-weston image based on the sumo release (except for meta-webkit which is master) but when I try to start cog it fails with the following error message:

root@imx6qdlsabresd:~# cog www.google.com
wpe: could not  load the impl library. Is there any backend installed?: libWPEBackend-default.so: cannot open shared object file: No such file or directory
Aborted (core dumped)

When I try to start it with the parameter --platform=fdo:

root@imx6qdlsabresd:~# cog --platform=fdo www.google.com

(cog:231): Cog-WARNING **: Platform setup failed: Could not open Wayland display

** (cog:231): CRITICAL **: WebKitWebViewBackend* webkit_web_view_backend_new(wpe_view_backend*, GDestroyNotify, gpointer): assertion 'backend' failed

(cog:231): Cog-ERROR **: Could not instantiate any WPE backend.
Trace/breakpoint trap (core dumped)

So it seems somethings isn't right with the Wayland setup... Sadly

Here's my local.conf:

MACHINE ??= 'imx6qdlsabresd'
DISTRO ?= 'fslc-wayland'
PACKAGE_CLASSES ?= "package_deb"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

B_NUMBER_THREADS ?= "16"
PARALLEL_MAKE ?= "-j 12"

# Accelerated video support
IMAGE_INSTALL_append = " gstreamer1.0-plugins-imx  gstreamer1.0-plugins-imx-meta"

# WPEWebkit and cog launcher
IMAGE_INSTALL_append = " wpewebkit cog"

# Backend selection
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"

And my bblayers.conf:

BBLAYERS = " \
  ${BSPDIR}/sources/poky/meta \
  ${BSPDIR}/sources/poky/meta-poky \
  \
  ${BSPDIR}/sources/meta-openembedded/meta-oe \
  ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
  \
  ${BSPDIR}/sources/meta-freescale \
  ${BSPDIR}/sources/meta-freescale-3rdparty \
  ${BSPDIR}/sources/meta-freescale-distro \
  \
  ${BSPDIR}/sources/meta-webkit \
  ${BSPDIR}/sources/meta-gstreamer1.0 \

[wpewebkit] build failure when REMOTE_INSPECTOR is not enabled

It looks like Remote Inspection code is still being called when REMOTE_INSPECTOR is not enabled.

I'm testing this on 2.20.1, but it looks like 2.21.92 would have the same problem.

Build error:
wpewebkit/2.20.1-r0/wpewebkit-2.20.1/Source/WebKit/UIProcess/API/glib/WebKitAutomationSession.cpp:87:79: error: 'webkitWebContextWillCloseAutomationSession' was not declared in this scope

The function is only in scope if REMOTE_INSPECTOR is enabled

Surce/WebKit/UIProcess/API/glib/WebKitWebContextPrivate.h-#if ENABLE(REMOTE_INSPECTOR)
Surce/WebKit/UIProcess/API/glib/WebKitWebContextPrivate.h:void webkitWebContextWillCloseAutomationSession(WebKitWebContext*);
Surce/WebKit/UIProcess/API/glib/WebKitWebContextPrivate.h-#endif

The origin of the call is traced back to didDisconnectFromRemote(*this); which hasn't been wrapped in #if ENABLED(REMOTE_INSPECTOR). But I'm not sure if it needs to be.

Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-#if ENABLE(REMOTE_INSPECTOR)
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-    if (Inspector::FrontendChannel* channel = m_remoteChannel) {
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-        m_remoteChannel = nullptr;
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-        m_frontendRouter->disconnectFrontend(channel);
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-    }
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-    setIsPaired(false);
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-#endif
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-    if (m_client)
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:        m_client->didDisconnectFromRemote(*this);
Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp-}

Cog example to load full screen browser at startup

Hello,

I am successfully building and booting a core-weston-image, using meta-webkit master branch.

  1. How can i get 'cog' to display full screen browser of my custom URL in kiosk mode at boot time?

Currently, I am invoking cog manually, but it does not display full screen at all.

  1. And how can I specify which browser to use? What is the default browser being used?

I am able to launch and access websites like youtube, but there is a fair amount of macro-blocking during playback. I suspect hardware acceleration is not enabled on my x86 target.

  1. Is anyone using Chromium here? Is that being provided via meta-browser?

Any help will be appreciated.

[1.0.0 wpebackend-fdo] Can't find EGL_WAYLAND_PLANE_WL

I'm building wpebackend-fdo 1.0.0 with our custom EGL drivers. This is the build error:

| /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpebackend-fdo/1.0.0-r0/wpebackend-fdo-1.0.0/src/view-backend-exportable-fdo-egl.cpp: In member function 'virtual void {anonymous}::ClientBundleEGL::exportBuffer(wl_resource*)':
| /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpebackend-fdo/1.0.0-r0/wpebackend-fdo-1.0.0/src/view-backend-exportable-fdo-egl.cpp:101:13: error: 'EGL_WAYLAND_PLANE_WL' was not declared in this scope
|              EGL_WAYLAND_PLANE_WL, 0,
|              ^~~~~~~~~~~~~~~~~~~~

The wpebackend-fdo build can't find EGL_WAYLAND_PLANE_WL.

view-backend-exportable-fdo-egl.cpp includes

#include <EGL/egl.h>                                                            
#include <EGL/eglext.h>

In which header file would it expect to find this symbol?

We do provide this symbol in a file called "eglwaylandext.h", so it's possible that our EGL authors haven't put the symbols in the expected files. But it looks to me like wpebackend-fdo needs to include a wayland specific EGL file.

error: redefinition of 'bool in JSCOptions.cpp building on trunk

/home/igalia/psaavedra/yocto-wandboard-wpe/builds/wandboard-mesa-wpe-nightly/tmp/work/armv7at2hf-neon-imx-poky-linux-gnueabi/wpewebkit/nightly-AUTOINC+8d87c59385-r0/git/Source/JavaScriptCore/API/glib/JSCOptions.cpp:87:13: error: redefinition of 'bool valueFromGValue(const GValue*, size_t&)'
 static bool valueFromGValue(const GValue* gValue, size_t& value)

[2.21.91 wpewebkit] build failure with VIDEO disabled

I was trying the branch with upgraded packages from this PR: #27
My build is failing due to no video in PACKAGECONFIG

Error message:

Source/WebCore/page/Page.cpp:1521:27: error: 'class WebCore::ChromeClient' has no member named 'setUpPlaybackControlsManager'

Error reason:

This member is not compiled when the VIDEO is not enabled (347 line in ./Source/WebCore/page/ChromeClient.h) :

#if ENABLE(VIDEO)
    virtual void enterVideoFullscreenForVideoElement(HTMLVideoElement&, HTMLMediaElementEnums::VideoFullscreenMode) { }
    virtual void setUpPlaybackControlsManager(HTMLMediaElement&) { }
    virtual void clearPlaybackControlsManager() { }
#endif

However, it is used unconditionally in the Page.cpp file.

By the way: is there any repo with the code of the WPEwebkit? Where do the releases of the https://wpewebkit.org/ come from?

Building a WPE Browser pkg-config

The pkg-config for wpe-webkit-0.1 doesn't seem to include the header locations needed to be able to compile a browser. Is there a recommendation for the include paths or example recipe or pkg-config with a demo browser that could be referenced?

unable to build wpebackend-fdo

| CMake Error at /home/es/Development/rpi-yocto/rpi-ml-build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-fdo/1.0.1-r0/recipe-sysroot-native/usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
|   Could NOT find WPE (missing: WPE_INCLUDE_DIRS WPE_LIBRARIES)

I've seen this issue with a number of different configurations.. did something change upstream?

Add libseccomp, bubblewrap and xdg-dbus-proxy as build dependencies

commit 7e8ee1ac3ebdbee298a375ef4edabcd9532dc722
Author: [email protected] <[email protected]@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Mar 4 15:25:43 2019 +0000

    [WPE] Enable web process sandbox
    https://bugs.webkit.org/show_bug.cgi?id=195169
    
    Reviewed by Daniel Bates.
    
    .:
    
    * Source/cmake/BubblewrapSandboxChecks.cmake: Added.
    * Source/cmake/OptionsGTK.cmake:
    * Source/cmake/OptionsWPE.cmake:
    
    Source/WebKit:
    
    * PlatformWPE.cmake:
    * UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
    (WebKit::bubblewrapSpawn):
    * UIProcess/glib/WebProcessPoolGLib.cpp:
    (WebKit::WebProcessPool::platformInitialize):
    
    Tools:
    
    * wpe/install-dependencies:
    * wpe/jhbuild.modules:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@242354 268f45cc-cd09-0410-ab3c-d52691b4dbfc

MP4 not playing within Webkit again

The issue has shown up again (MP4 not playing within Webkit #18) but in a different form so I am hoping it can be resolved.

Working site running cog: http://pauljadam.com/demos/autoplay-loop-muted-controls.html
Not working with my site (which is protected so I can't show)
Not working when pointing cog direct to mp4: https://sbc-qsystem-dev.pathfinder.gov.bc.ca/sbc_new.mp4
Working using gst-play-1.0: gst-play-1.0 https://sbc-qsystem-dev.pathfinder.gov.bc.ca/sbc_new.mp4

** Note both sites prior did not work, then they both mysteriously worked, and now only the one site works.

I am using SUMO (gstreamer 1.12.4 & cog 0.1.0) with the following changes in the local.conf:

MACHINE = "raspberrypi3"
GPU_MEM_256 = "128"
GPU_MEM_512 = "196"
GPU_MEM_1024 = "396"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
IMAGE_FEATURES_append = " ssh-server-dropbear hwcodecs"
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-rdk"
PACKAGECONFIG_pn-wpebackend-rdk = "rpi"
IMAGE_INSTALL_append = " wpewebkit cog"
DISTRO_FEATURES_append = " opengl wayland"
IMAGE_INSTALL_append = " gstreamer1.0-omx"
LICENSE_FLAGS_WHITELIST_append = " commercial"
DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
ARTIFACTIMG_FSTYPE = "ext4"

wpewebkit do_configure fail 'Could NOT find LibEpoxy: Found unsuitable version ""'

Hi, I'm having a problem building wpewebkit 2.20.1
I'm using the libepoxy provided by the meta-webkit layer.
libepoxy configures and builds, but then wpewebkit fails to detect it.

Yocto: DISTRO_VERSION = "2.4.3" DISTRO_CODENAME = "rocko"
All extras are switched off. i.e. PACKAGECONFIG = ""

|   Could NOT find LibEpoxy: Found unsuitable version "", but required is at
|   least "1.4.0" (found
|   /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.20.1-r0/recipe-sysroot/usr/include)
| Call Stack (most recent call first):
|   /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.20.1-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:375 (_FPHSA_FAILURE_MESSAGE)
|   Source/cmake/FindLibEpoxy.cmake:50 (find_package_handle_standard_args)
|   Source/cmake/OptionsWPE.cmake:73 (find_package)
|   Source/cmake/WebKitCommon.cmake:61 (include)
|   CMakeLists.txt:152 (include)

the epoxy.pc file appears to be in the sysroot

/local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/wpewebkit/2.20.1-r0/recipe-sysroot/usr/lib64/pkgconfig/epoxy.pc

The file appears sane:

# cat ../../../../aarch64-oe-linux/wpewebkit/2.20.1-r0/recipe-sysroot/usr/lib64/pkgconfig/epoxy.pc
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include

epoxy_has_glx=0
epoxy_has_egl=1
epoxy_has_wgl=0

Name: epoxy
Description: epoxy GL dispatch Library
Version: 1.5.0
Cflags: -I${includedir}
Libs: -L${libdir} -lepoxy
Libs.private: -ldl
Requires.private:  egl

core-image-base-1.0-r0 do_rootfs fails because of conflicting dependencies

I just tried to build an image with the Broadcom drivers and followed the Raspberry Pi guide, but it fails with the following error:

ERROR: core-image-base-1.0-r0 do_rootfs: Could not invoke dnf. ...
...
Error: 
 Problem: package wpebackend-rdk-1.20180411-r0.cortexa7hf_neon_vfpv4 requires libWPEBackend-0.1.so.0, but none of the providers can be installed
  - package wpewebkit-2.21.92-r0.cortexa7t2hf_neon_vfpv4 conflicts with wpebackend < 1.0 provided by libwpebackend-0.1-0-0.2.0-r0.cortexa7hf_neon_vfpv4
  - package cog-git0-r0.cortexa7hf_neon_vfpv4 requires virtual/wpebackend, but none of the providers can be installed
  - conflicting requests
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstalable packages)

I'm pretty new with Yocto so I'm not sure how to proceed here... but I would think it's just a missing version for one of the packages?

[rdk] i.MX6 - Cog fails to start - Failed to open device

I try to get meta-webkit running on a i.MX6 device. I already tried it with wpebackend-fdo -> #61

Now I tried it with wpebackend-rdk/imx6 configuration so it would not need wayland/weston and write directly onto the framebuffer.

Here's my configuration:

MACHINE ??= 'imx6qdlsabresd'
DISTRO ?= 'fslc-framebuffer'
PACKAGE_CLASSES ?= "package_deb"
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

#DISTRO_FEATURES_remove = " x11"
IMAGE_FEATURES_append = " ssh-server-dropbear"
DISTRO_FEATURES_append = " systemd opengl"
VIRTUAL-RUNTIME_init_manager = "systemd"

# for meta-webkit
# Accelerated video support
IMAGE_INSTALL_append = " gstreamer1.0-plugins-imx  gstreamer1.0-plugins-imx-meta"
# WPEWebkit and cog launcher
IMAGE_INSTALL_append = " wpewebkit cog"

# Backend selection
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-rdk"
PACKAGECONFIG_pn-wpebackend-rdk = "imx6"

From my previous try i still have the backported cog 0.2.0 recipe in use to get the build running.

Versions in use:
cog 0.2.0
wpewebkit 2.22.2
libwpe 1.0.0

The build runs fine this time, but when i try to start cog i get the following output:

root@imx6qdlsabresd:~# cog www.google.com
[LibinputServer] Initialization of linux input system succeeded.
[     1] Failed to open device: No such file or directory, Try again...
[     2] Failed to open device: No such file or directory, Try again...
[     3] Failed to open device: No such file or directory, Try again...
[     4] Failed to open device: No such file or directory, Try again...
[     5] _OpenDevice(1229): FATAL: Failed to open device, errno=No such file or directory.
[     6] Failed to open device: No such file or directory, Try again...
[     7] Failed to open device: No such file or directory, Try again...
[     8] Failed to open device: No such file or directory, Try again...
[     9] Failed to open device: No such file or directory, Try again...
[    10] _OpenDevice(1229): FATAL: Failed to open device, errno=No such file or directory.

(cog:304): Cog-WARNING **: <http://www.google.com/> Crash!: The renderer process crashed. Reloading the page may fix intermittent failures.

Is it possible that Cog still tries to start weston?
Because before when i had problems with weston and I tried to start it manually i got very similar error messages: #61 (comment)

Cog has this --platform parameter but never had any libcogplatform-*.so file. Is it possible that cog does not know that it should start rdk backend?

[wpewebkit 2.20.2, backend 0.2, fdo 0.1, cog 0.1] cog won't start

I've managed to build wpewebkit, but now I'm having trouble running cog.

Using: wpewebkit 2.20.2, backend 0.2, backend-fdo 0.1, cog 0.1
My configuration:

  • cog_git.bb - use cog-0.1 branch
  • wpebackend-fdo.inc: remove "virtual/libgl" from DEPENDS (see #33)
  • wpewebkit.inc: PACKAGECONFIG = "remote-inspector" (see #30)
  • conf/local.conf
    IMAGE_INSTALL_append = " wpewebkit cog"
    PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-fdo"
    DISTRO_FEATURES_append = " opengl"
    PREFERRED_VERSION_wpewebkit = "2.20.2
  • symlink: /usr/lib64/libWPEBackend-default.so -> /usr/lib64/libWPEBackend-fdo-0.1.so.0
  • XDG_RUNTIME_DIR='/run/user/root'
  • COG_URL='/home/root/test.html'

I have an instance of Weston running like so:
openvt -s weston --idle-time=4294967 --log=/tmp/weston.log

This is done by another team. It seems to work, and I can run simple EGL applications on it.

When I run cog:

# G_MESSAGES_DEBUG=all cog -P fdo
(cog:9769): Cog-DEBUG: platform_setup: Platform name: fdo
(cog:9769): Cog-DEBUG: platform_setup: Platform plugin: libcogplatform-fdo.so

(cog:9769): Cog-WARNING **: Could not load: libcogplatform-fdo.so (possible cause: Socket operation on non-socket).

(cog:9769): Cog-DEBUG: Instantiating default WPE backend as fall-back.
wpe: could not load the impl library. Is there any backend installed?: /usr/lib64/libWPEBackend-default.so: undefined symbol: wl_egl_window_destroy
Aborted (core dumped)

Could not inherit file classes/cmake_qt5.bbclass

When following the steps to build for RPi (link), bitbake core-image-base throws the following error:

ERROR: ParseError at /files/yocto-rpi-wpe/meta-webkit/recipes-qt/qt-wpe-simple-browser/qt-wpe-simple-browser_0.1.bb:16: Could not inherit file classes/cmake_qt5.bbclass

raspberrypi2 support?

sadly the build failed on the rpi2, is this platform supported?

i can provide more infos on request

Current status of master and sumo (or it's Documentation)

I tried to rebuild setups from about a month ago and suddently none of my images were working.
As mentioned in Issue #81 its "just" a version issue.

Could you please somewhere list which versions work together to get a working build or get rid of the _gitAUTOINC recipies. At the moment sumo and thud use the same version of cog which is probably the cause for these issues as it just got updated!

The error i got in thud were:
(without any PREFERRED_VERSION)

ERROR: wpebackend-rdk-1.20180925-r0 do_configure: Function failed: do_configure
...
| CMake Error at .../build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/wpebackend-rdk/1.20180925-r0/recipe-sysroot-native/usr/share/cmake-3.12/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
|   Could NOT find WPE (missing: WPE_INCLUDE_DIRS WPE_LIBRARIES)

In sumo i got:

ERROR: cog-gitAUTOINC-r0 do_configure: Function failed: do_configure 
...
| -- Checking for module 'wpe-webkit-1.0>=2.23.91'
| --   No package 'wpe-webkit-1.0' found
| CMake Error at .../build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/cog/gitAUTOINC-r0/recipe-sysroot-native/usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:415 (message):
|   A required package was not found

as the only other version of cog in sumo is 0.1.0 i selected that which lead to this error:

ERROR: cog-0.1.0-r0 do_configure: Function failed: do_configure 
...
| -- Checking for modules 'wpe-webkit-0.1;wpe-0.1'
| --   No package 'wpe-0.1' found
| CMake Error at .../build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/cog/0.1.0-r0/recipe-sysroot-native/usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:415 (message):
|   A required package was not found

I managed to get my build finishing again by copying cog_0.2.0.bb from thud to sumo and selecting that version.

I'm not sure if it's intended to pick the preferred version manually (if so could you add some documentation which versions work together) or if this is just a momentarily issue because of some version upgrades...

Wouldn't it be possible to make sample projects for RPi, i.MX6, x86,... and test them after each commit to master/sumo/rocko... . If testing them would be too much, just having them would be a great resource for people to start and it would be a great addition to the wiki. Also if such version issues occure again, it would be easy to spot them when the examples projects aren't working.

libWPEBackend-fdo-1.0.so installed but not shipped

ERROR: recipe wpebackend-fdo-1.0.0git-r0: task do_populate_sysroot: Succeeded
ERROR: wpebackend-fdo-1.0.0git-r0 do_package: QA Issue: wpebackend-fdo: Files/directories were installed but not shipped in any package:
/usr/lib/libWPEBackend-fdo-1.0.so
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid install

Root cause:

Bump API version to 1.0 in preparation for the 1.2.x series

Igalia/WPEBackend-fdo@b5de2ad

dyz build failure

Hello.
I'm building for i.MX6 board (meta-freescale, rocko revision). Though it looks to me that this issue is not board-dependent. I'm building core-image-weston.

I switched to latest master commit in the dyz recipe (Igalia/dyz@197fed6) as suggested in the: #10 in order to avoid issue with finding the luajit binary.

Now the error is in finding LUA jit modules:

luajit -bg -a arm -n apps.singleview.main apps/singleview/main.lua apps/singleview/main_lua.o
luajit -bg -a arm -n entrypoint entrypoint.lua entrypoint_lua.o
luajit -bg -a arm -n lib.glib lib/glib.lua lib/glib_lua.o
luajit -bg -a arm -n lib.wpebackend lib/wpebackend.lua lib/wpebackend_lua.o
luajit: unknown luaJIT command or jit.* modules not installed

I can see some of modules are in the recipe sysroot:

./recipe-sysroot-native/usr/share/luajit-2.0.5/jit
./recipe-sysroot/usr/share/luajit-2.0.5/jit
bc.lua  bcsave.lua  dis_arm.lua  dis_mipsel.lua  dis_mips.lua  dis_ppc.lua  dis_x64.lua  dis_x86.lua  dump.lua  v.lua  vmdef.lua

I don't really know lua and this app to tell if those are we need there and how to point in the Makefile to find it. Any hints a re appreciated.

wpewebkit fails trying to build against the Webkit trunk because missing dependency with openjpeg

wpewebkit fails trying to build against the Webkit trunk

| CMake Warning at Source/cmake/OptionsWPE.cmake:99 (find_package):
|   By not providing "FindOpenJPEG.cmake" in CMAKE_MODULE_PATH this project has
|   asked CMake to find a package configuration file provided by "OpenJPEG",
|   but CMake did not find one.
| 
|   Could not find a package configuration file provided by "OpenJPEG" with any
|   of the following names:
| 
|     OpenJPEGConfig.cmake
|     openjpeg-config.cmake
| 
|   Add the installation prefix of "OpenJPEG" to CMAKE_PREFIX_PATH or set
|   "OpenJPEG_DIR" to a directory containing one of the above files.  If
|   "OpenJPEG" provides a separate development package or SDK, be sure it has
|   been installed.
| Call Stack (most recent call first):
|   Source/cmake/WebKitCommon.cmake:56 (include)
|   CMakeLists.txt:159 (include)

OpenJPEG dependecy was included days ago as a build dependency of WPE:

commit 8e95493b2c7ce6ceb07b3d61f256741714482d07
Author: [email protected] <[email protected]@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 24 10:02:33 2019 +0000

    [GTK][WPE] Support JPEG 2000 images
    https://bugs.webkit.org/show_bug.cgi?id=186272
@@ -226,6 +227,14 @@
     </dependencies>
   </meson>
 
+  <cmake id="openjpeg">
+    <branch repo="github-tarball"
+            module="uclouvain/openjpeg/archive/v${version}.tar.gz"
+            checkoutdir="openjpeg-${version}"
+            version="2.3.0"
+            hash="sha256:3dc787c1bb6023ba846c2a0d9b1f6e179f1cd255172bde9eb75b01f1e6c7d71a"/>
+  </cmake>

iMX8 support

Hi,

We are able to use the WPE engine on iMX6 with the info in the wiki section. Is WPE backend supported on iMX8 as well? We are planning to use on iMX8M and wanted to see if its supported or would be supported soon?

MP4 not playing within Webkit

We create an MP4 using powerpoint presentation to display on our digital signage. The MP4 is approx. 700mb. Webkit launches the webpage but does not play the .mp4.

When I point cog to the mp4, it says loading, then error in the player. Is there a way to see what the error is?

Low RPi3 B+ canvas performance / frame rate

I've built the wpebackend-rdk and wpebackend-fdo images in the RPi Wiki and followed all the suggestions in PerformanceTips, but my RPi3 B+ is struggling to get past 30fps.

I'm comparing my results to this video, where the canvas test at 0m30s gets ~70fps.

I've tried loading simple / empty THREE.js scenes that should easily reach 60fps, but they're all stuck around ~25-30 as well.

Utilization while running each of these is far from maxed out, if you trust top.

# raf_onload
Mem: 261092K used, 363052K free, 9292K shrd, 5464K buff, 78424K cached
CPU:   3% usr   2% sys   0% nic  93% idle   0% io   0% irq   0% sirq
Load average: 0.20 0.12 0.05 2/119 1991
# canvas_test
Mem: 289292K used, 334852K free, 9300K shrd, 5480K buff, 79088K cached
CPU:  10% usr   1% sys   0% nic  88% idle   0% io   0% irq   0% sirq
Load average: 0.56 0.33 0.14 2/121 2189
# poster-circle
Mem: 266468K used, 357676K free, 9300K shrd, 5472K buff, 78432K cached
CPU:   3% usr   1% sys   0% nic  95% idle   0% io   0% irq   0% sirq
Load average: 0.74 0.27 0.11 3/120 2152

Any ideas?

README and dependencies

Hi,

The README says we need the master branches for openembedded-core and meta-openembedded layers and also the 5.12 branch for meta-qt5.

There is no 5.12 branch or tag on the meta-qt5 layer and also it seems to me that if building a thud version of yocto we should be able to use the thud versions of the layers.

Are there any dependencies in the master layers that are not available in thud branches ?

cog won't build because it needs a version of wpewebkit not provide by this layer

The error

ERROR: cog-20180809-r0 do_configure
...
| -- Checking for modules 'wpe-webkit-0.1>=2.21.90;wpe-0.2'
| --   Requested 'wpe-webkit-0.1 >= 2.21.90' but version of WPE WebKit is 2.20.1
| You may find new versions of WPE WebKit at https://wpewebkit.org
| --   No package 'wpe-0.2' found
| CMake Error at /local/mnt/workspace/LE.UM.2.4.1/poky/build/tmp-glibc/work/aarch64-oe-linux/cog/20180809-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/FindPkgConfig.cmake:416 (message):
|   A required package was not found

The change Igalia/cog@ed26f03 that caused it

I guess the recipe could specify the particular version of cog that will build against this recipe, or I can try using the latest wpewebkit version.

i.MX6 opensource stack support

Hi,

I'm curious whether anyone has been testing wpewebkit with imx6 (opensource stack).

I'm using latest NXP Yocto BSP (rocko). In addition, I have switched to
openembedded-core (poky/meta) master in order to get latest mesa (18.0.2
instead of 17.1 as in rocko NXP BSP). As claimed in the following article, mesa
before 17.1 may not work well with Etnaviv / Wayland:

https://www.pengutronix.de/en/2017-09-28-etnaviv-weston-mainline.html

My configuration:

## webkit configuration ##
IMAGE_INSTALL_append = " wpewebkit cog wpebackend"
PREFERRED_PROVIDER_virtual/wpebackend = "wpebackend-rdk"

PACKAGECONFIG_pn-wpebackend-rdk = "wayland"

PACKAGECONFIG_pn-wpewebkit = " \
    fetchapi \
    indexeddb \
    webaudio \
    "

# use mainline graphics stack in NXP BSP
MACHINEOVERRIDES .= ":use-mainline-bsp"
PREFERRED_PROVIDER_virtual/kernel = "linux-fslc"

My results so far:

  • Igalia fps counter
    on cog with rdk/wayland backend gives maximum of 26-27 FPS with 15ms
    interval in wayland.ini

  • with fdo backend the display image is scrambled as shown on the image (both cog and dyz launchers):

fdo

Let me know if this is fine spot for such discussion.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.