Project

General

Profile

Actions

Feature #9

open

Surf package for buildroot

Added by Hammel over 13 years ago. Updated about 13 years ago.

Status:
Feedback
Priority:
High
Assignee:
Category:
user space apps
Target version:
Start date:
06 Aug 2010
Due date:
% Done:

60%

Estimated time:
Severity:
Medium

Description

Surf is a low overhead browser based on WebKit. WebKit is already enabled under buildroot. A package needs to be created for surf.

The package should be submitted back to buildroot for inclusion in the mainline.

A specification for how surf should be run/used under BeagleBox is required so that it is understood how the surf build should be installed.

Actions #1

Updated by Hammel over 13 years ago

Surf may need modifications to support full screen mode. If so, these
modifications should be supplied as a patch that can be submitted upstream
to the surf maintainers. They may or may not want it since the maintainers
are looking to avoid feature creep in their projects.

Actions #2

Updated by Hammel over 13 years ago

Surf should be higher priority than MythTV or other media players since the
point of BeagleBox is to be an Internet video player.

Actions #3

Updated by Hammel over 13 years ago

Integrated surf into the build by adding a buildroot package and patching
buildroot to support the new package. The buildroot.mk was modified to
call the preconfig target earlier to make sure the configuration was
picked up properly.

Surf was patched to remove use of the user-agent property which is not
supported in the version of WebKit in buildroot and to disable its
ability to display web site source. The latter is really not a required feature
for a device like BeagleBox.

The buildroot package has not been submitted to buildroot yet. I'll have
tocreate a patch against the buildroot source tree first.

Actions #4

Updated by Hammel over 13 years ago

Surf is based on GTK+ and WebKit. WebKit can be built with either GTK+ or Clutter support, but not both. Clutter is required to get OpenGL/ES support and thus make use of the SGX drivers and thereby improve overall performance.

So we now need to modify buildroot to build:
1. clutter
2. webkit with clutter
3. surf with webkit

The latter might require no change. The question is how much is surf tied to a webkit with gtk+ support? Or is it just a gtk+ widget with webkit embedded in it?

Actions #5

Updated by Hammel over 13 years ago

The current build of the rootfs builds webkit and surf with GTK+. To get the clutter version we need to do the following:

1. Switch to downloading from http://git.o-hand.com/?r=webkit (WebKit-Clutter is at http://trac.webkit.org/wiki/clutter)
2. Patch these options to webkit.mk: --enable-clutter --disable-gtk

Buildroot does not currently support downloads from git (see http://lists.busybox.net/pipermail/buildroot/2010-July/035825.html). To get around this, BeagleBox can have its own package downloads targets that pull from git repositories into temp directories where a tarball is then created and stuffed into Buildroot's archive. Then a modified webkit package can be used which won't try to download the tarball because it is already archived locally.

Alternatively, BeagleBox can track WebKit-Clutter releases with hand-rolled tarballs and use a custom package similar to the Surf package.

Actions

Also available in: Atom PDF