As I previously mentioned, Collabora has been working with the Raspberry Pi Foundation on various projects including a web browser optimised for the Raspberry Pi.
The browser is based on Gnome Web (Epiphany) using WebKit 1 (i.e. the non-multi-process version of WebKit).
Our main achievements are:
- More responsive UI and scrolling, even under heavy load (like when loading a page)
- Progressive tiled rendering for smoother scrolling (as mobile browsers do)
- Startup is three times faster
- Avoid useless image format conversions
- Better YouTube support, including on-demand load of embedded YouTube videos to make page load much faster
- Hardware decoding of videos (through gst-omx)
- Hardware scaling of videos (again, through gst-omx)
- Reduction of the number of memory copies to play videos
- Faster fullscreen playback using dispmanx directly (a bit buggy at the moment, we are working on it)
- Memory and CPU friendly tab management
- Disk image cache (decoded images are kept in memory mapped files in a cache, saving CPU)
- Memory pressure handler support
The Raspberry Pi web browser (mp4 video file)
To install the browser, just update your Raspbian and install the “epiphany-browser” package:
sudo apt-get update sudo apt-get upgrade sudo apt-get install epiphany-browser
Thanks to all the people at Collabora that, at some point or another, helped on this project: Julien Isorce, Emanuele Aina, ChangSeok Oh, Tomeu Vizoso, Pekka Paalanen, André Moreira Magalhaes, Derek Foreman, Gustavo Noronha, Danilo Cesar, Emilio Pozuelo Monfort and Jonny Lamb (I hope I haven’t forgotten anybody!).
Also thanks to the Raspberry Pi Foundation, and in particular to Eben Upton, for their commitment to making browsing on the Pi better, and to Ben Avison for his work on optimising pixman and libav for ARMv6.
Update: people have reported a few bugs since the release, in particular a problem with Raspbian configured to use 24-bit or 32-bit mode for graphics. We should be able to fix this in a week or so.
Another problem is that Vimeo videos stopped working. This seems to be due to a change made by Vimeo that broke playback also on other browsers and on Android.