Action Item #523

Retest webkit suitability

Added by Hammel over 4 years ago. Updated over 1 year ago.

Status:In ProgressStart date:29 Apr 2016
Priority:NormalDue date:
Assignee:Hammel% Done:


Category:04 - Root File System
Target version:1.0 - Atreides
Severity:04 - Low


Webkit support for GTK+ has been bumped to WebKit 2.4 with a new package. This is available in the latest Buildroot (2016.02). We're at 2015.02. So a bump in Buildroot may provide a webkit enabled surf package, meaning we could replace the C interfaces for appmgr and videofe with web-enabled interface, making icon handling easier and providing a more developer-friendly API for extending these.

We need to investigate if bumping Buildroot to 2016.02 and re-adding the surf package (custom package) will now work. Previously this didn't work. But the reasons I suspected for it not working appear to be fixed if you look at the list of changes associated with webkit in Buildroot.


#1 Updated by Hammel about 4 years ago

  • Category set to 04 - Root File System
  • Status changed from New to In Progress
  • Assignee set to Hammel
  • Target version set to 1.0 - Atreides
  • % Done changed from 0 to 90
  • Severity changed from 03 - Medium to 04 - Low

I didn't find much value in using webkit, mostly because of the overhead it brings (lots of build dependencies, etc.). So after testing I checked the changes into a new branch in the pibox repo: "mjhammel/br-2016-05". The build works on hardware, if I remember correctly. It just didn't have any added value with respect to webkit.

I can revisit this later when I migrate to a newer release of buildroot (like, say, the 2017.02 release).

#2 Updated by Hammel over 1 year ago

There are now other options besides webkit. One is V8 + electron. This is a self contained nodejs package with GTK rendering engine. It's available for ARM. The downside is the size of the applications. A hello-world was 170MB.

There are also other rendering engines like Gecko, Blink and NetSurf, however it's not clear how to use these to build an app.

I still think using browsing technology just complicates a purpose built device. Using C/GTK/Cairo is simple enough and far more lightweight. Other than the omxplayer package, the largest opkg I have is piclock (which has themes) that clocks in at just under 2MB.

Also available in: Atom PDF