[wpe-webkit] Fate of wpebackend-rd and WpeLauncher

Adrian Perez de Castro aperez at igalia.com
Tue Sep 11 13:58:59 PDT 2018


On Mon, 03 Sep 2018 18:07:38 +0530, Munez Bn <munezbn.dev at gmail.com> wrote:
> Few months back I had started using WPE on raspberry PI and I was able to
> use the wpebackend-rdk and WPElauncher.
> But now I see that many things have changed.
> WPE webkit has official releases and website now.
> Wpelauncher is going to be deprecated.

WPELauncher is still using the plain C API, which has *NOT* been available
since the 2.19.93 release back in May, five months ago. To use WPELauncher
you would need a snapshot of the WPE WebKit source tree from November 2017,
and there is no way in which we can responsibly recommend using that: you
*want* a recent Web engine if you are going to be loading arbitrary content
from the Internet to avoid being hacked due to old security issues.

> wpebackend is renamed as libwpe

The functionality implemented in libwpe is basically the same. The rename
was done to avoid confusion. The old name kind of implied that libWPEBackend
implemented a backend for WPE, which was far from reality: it provides
interfacing between WPE WebKit and the actual backends (like WPEBackend-rdk).

WPE WebKit 2.22.0 is going to be released in the following days, and it needs
new API in libWPEBackend^W libwpe. It seemed like a good opportunity to do
the rename *and* the API change at the same time.

> wpebackend-fdo is added (doesn't have much idea on this)

The idea for the FDO backend is that the backend does not “talk” directly to
the display. Instead, it tries to be generic and provides a mechanism to
notify the launcher when a frame has been rendered. Then the launcher can
use the method it prefers to display the frames. In theory it should be
possible to replace many backends with the FDO one, but not much has been
done on that front.

> I also see a new WPE launcher COG (Not tried yet)

Cog is actively maintained, and currently it has good support to use Wayland
compositors to display the frames it gets from the FDO backend.

Note that there is fallback code in Cog to support old-style backends, and
it should be able to use Cog with WPEBackend-rdk on the Raspberry Pi with
the following API-compatible versions of the dependencies:

  - Cog from the “cog-0.1” branch.
  - WPE WebKit 2.20.2
  - WPEBackend 0.2.0 (*not* libwpe).

You will need to have a “libWPEBackend-default.so” symlink pointing to
“libWPEBackend-rdk.so” (the same was needed for WPELauncher as well). I have
not tried this setup recently, but it certainly worked fine a couple of months

> WebPlatformForEmbedded/buildroot is not active much
> igalia/buildroot-wpe  overlay is added which doesn't have any launcher yet
> or doesn't work yet.

We haven't had the time to update the Buildroot repository nor the overlay.
Looking forward, the overlay will be preferred, because it's cleaner than
forking Buildroot. I hope that the overlay can be updated after making the
upcoming WPE WebKit 2.22.0 stable release.

In the long term, I have plans to try to have the build recipes merged into
upstream Buildroot, but I don't have an estimation of how much time it will
take. Sorry.

> Looking all this I have some questions now.
> 1. Is Wpebackend-rdk going to be deprecated or obsoleted ?

I don't know, but it doesn't need to be. The RDK backend could be updated
to use the new API in WPE WebKit 2.22.0—and I hope the maintainers of the
backend will do that at some point, but I cannot speak for them.

> 2. What is the launcher I should start looking into as WPElauncher is
> getting deprecated.

Personally, I would recommend Cog. It is well maintained and it is being used
in a few projects already. If the “cog” launcher does not suit your needs, you
can reuse the “libcogcore” library to write a new one without having to
implement many things. In particular, if you want to use the FDO backend, Cog
already includes all the Wayland support code as a plugin.

> 3. wpebackend-fdo is meant for embedded system? Is it running on RPI? Is
> it just a backend or includes launcher also?

The FDO backend can be used in embedded systems, yes. Personally, I have used
it on a RaspberryPi3 with the Weston compositor using the Open Source vc4
driver from Mesa.

I *think* that technically should be possible to write a Dispmanx platform
plug-in for Cog, and use the FDO backend directly without needing a Wayland
compositor. Personally I do not have the time right now, but contributions
to make this happen would be super welcome!

> 4. Is COG going to be added to WPE buildroot overlay any soon?

When I have time to update the overlay after 2.22.0 is released, Cog will be
added to the overlay. It's in my to-do list ;-)

Best regards,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.webkit.org/pipermail/webkit-wpe/attachments/20180911/867339ef/attachment.bin>

More information about the webkit-wpe mailing list