Comments (5)
I confirm the issue.
To get cog working with fdo I need to run on the live system:
ln -s /usr/lib/libWPEBackend-fdo-0.1.so.0 /usr/lib/libWPEBackend-default.so
And then run cog as
cog -P fdo http://igalia.com
If i try to rung without specifying a platform value causes it crashes with
# cog http://igalia.com
(cog:895): Cog-DEBUG: platform_setup: Platform name: (null)
(cog:895): Cog-DEBUG: Instantiating default WPE backend as fall-back.
** (cog:895): CRITICAL **: WebKitWebViewBackend* webkit_web_view_backend_new(wpe_view_backend*, GDestroyNotify, gpointer): assertion 'backend' failed
(cog:895): Cog-ERROR **: Could not instantiate any WPE backend.
I wonder why platform is null? shouldn't default to fdo when cog has been built with fdo support?
from cog.
Ideally, when using a Cog platform plug-in, libWPEBackend-default.so should not be needed at all — though of course it could be still be used when running without any platform plug-in.
dyz installs this files:
/usr/bin/dyz
/usr/lib/libWPEBackend-default.so
/usr/lib/libWPEBackend-dyz.so
/usr/lib/libwlglue.so
So I guess cog should as well install a libWPEBackend-default.so symlink? This means installing dyz and cog at the same time in a image will cause a conflict and won't be possible.
But I guess that is ok meanwhile a better solution is not found ?
I guess the right solution will be for wpebackend to allow passing a name to the symlink (either via API call or environment variable) instead of hardcoding the value here https://github.com/WebPlatformForEmbedded/WPEBackend/blob/master/src/loader.c#L59 (note the code block above that allows passing use an environment variable, but that only gets built on debug).
// Adding @zdobersek to the CC
from cog.
@macpijan can you update meta-webkit, rebuild and retry ? Is it fixed?
I already pushed for cog recipe in meta-webkit the patch that I sent here as PR
Igalia/meta-webkit@e984bde
from cog.
After giving this some thought, and discussing with @clopez by chat, ideally we would want the Cog platform plug-in to tell libWPEBackend
which WPE backend library it should load. While using the environment variable might work, support for reading it is only available for debug-builds of libWPEBackend
. The environment variable is not a great option, and it would be highly desirable that libWPEBackend
would provide some API to either tell it which shared object to load as WPE backend.
from cog.
Like I mentioned in #12 already, I would rather go with the implementation proposed by @carlosgcampos in WebKit#186841 and WebPlatformForEmbedded/libwpe#18, which adds API to set the path to the WPE backend library, and passing it down to WPEWebProcess
.
from cog.
Related Issues (20)
- Missing cog-export.h header in the cogcore_headers
- gtk4: Pointer coordinates wrongly reported when the window is on a monitor with fractional scaling HOT 1
- [Clean-up] Remove redundant platform safe-guards in core
- Remove cog_platform_init_web_view() from the API
- MouseEvent buttons property not set in wayland backend
- Crash calling wl_pointer_set_cursor() in cog-utils.c HOT 2
- /snap/wpe-webkit-mir-kiosk/101/usr/bin/cog memory increases until it crashes.
- Identifiers for touch points are not constant in multi touch HOT 5
- cog flickering and not HW accelerated on NXP iMX8M-Plus HOT 2
- Latest COG w/DRM backend has no focus HOT 2
- [wpe-2.38.5][wpe-webkit-mir-kiosk] Long touch/press not working
- (wpe-webkit-mir-kiosk) - Launch homepage on idle HOT 3
- DRM key-repeat only repeats once
- Is DRM missing cog_launcher_get_viewport()?
- cogctl ping fails but reload etc works
- Crash due to `SIGTRAP` after `Creating pipes for GWakeup: Too many open files` HOT 2
- Bad rendering of https://ttnmapper.org HOT 1
- Segfault in `wl_list_remove`
- Segmentation fault for drm platform with gles renderer
- Failing to initialize EGL
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cog.