hw accelerated webkitgtk+ on raspberry pi
DESCRIPTION
This is some kind of report for implementation and experimentation about "Hardware Accelerated WebKitGTK+ for the embedded device" which is running on the Raspberry Pi device in real. Authored by Changseok Oh, who is working in the Collabora from 2013.TRANSCRIPT
H/W accelerated WebKitGTK+on Raspberry Pi
ChangSeok [email protected]
Good to see you!
ChangSeok Oh (changseok)Software engineer at Collabora.Ltd located in U.KWebKit committer since April 2013Worked for SAMSUNG Electronics for 4 YearsGot Bachelor's degree of Engineering at Ajou Univ.Preparing to go abroad to study more and get a better job, life?Interested in WebKit, Chromium, Firefox, GNOME, GStreamer, F/OSS, Computer graphics, Mac, RaspberryPi and Travel.
http://uk.linkedin.com/in/ohchangseok/
Raspberry Pi
" The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming. "
Raspberry Pi
Specifications of Raspberry Pi
CPU : ARM 176JZF-S 700MHz, up to 1GHzMemory : 512 MB (Model B)Graphics : Broadcom VideoCore IV GPUOS : Raspbian based on Linux
See more http://en.wikipedia.org/wiki/Raspberry_Pi
Raspberry Pi
Raspberry Pi
Yes. It's poor but not that poor.Performance is NOTHING!
Raspberry Pi
Raspberry Pi
Why Raspberry Pi?
Educational purpose but it's getting popular among develoeprs ● Very attractive price.● Poor CPU capacity but not that bad GPU performance.● Standard platform to everyone.● Adaptable operating system.● Abundant community supports.● Much possibility with extensions.● Challenge your programming skills.● All resources (except some commercial codecs) are open sourced!
WebKit
A layout engine to render web pages, but it's NOT an internet browser itself.The most popular open source browser engine for embedded devices yet..Forked from KHTML and KJS.LGPL v2.1 & BSD v2.0Safari, Chromium, Epiphany, Android browser, Dolphin, Konqueror, Midori etc.Allows many different ports like Mac, GTK+, QT, EFL, Clutter, Blackberry etc.WebKit analysis report Jan 2013
WebKit
Midori browser
The default internet browser powered by WebKitGtk in Raspberry PiNot supported HW acceleration for some reasons.
Midori browser
What is wrong with that?
No EGL/GLES driver connecting to X window system.Ordering issue among X windows.Mismatched position and size between seperated layers.Not displayed cursor and context menu etc since they are hidden by HW layers.
What is wrong with that?
Anyway let's go forward..
What I've done● Set up a cross compile environment. That is the most painful work. :(● Provide EGL surfaces through the DispManX interface.● Fit a position and a size of EGL surface to those of its parent x window.● Fix no animation issue caused by not to be triggered XDamage event with
GL calls.● Paint a fake cursor over the EGL surface on the screen.
Remaining issues
Ordering issue among windows.Context menu hidden by HW layers.Cursor mess.Quite low video frame rate.
Eventually, we'll shift from X to Wayland for the raspberrypi windowing system.
Will be covered by Wayland support
Under working..
Wayland on the Raspberry Pi
Have interest?
This is also opensourced!● http://cgit.collabora.com/git/user/kevino/WebKit.git/● $ git clone http://cgit.collabora.com/git/user/kevino/WebKit.git
Upstream● https://bugs.webkit.org/show_bug.cgi?id=118444
My blog● http://developersnote.blogspot.com
Supports from Raspberry pi community● http://www.raspberrypi.org
Thank you for listening