Feature #9
open
Surf package for buildroot
Added by Hammel over 14 years ago.
Updated over 13 years ago.
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.
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.
Surf should be higher priority than MythTV or other media players since the
point of BeagleBox is to be an Internet video player.
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.
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?
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.
Also available in: Atom
PDF