Hw accelerated webkitgtk+ on raspberry pi

Post on 13-May-2015

5,070 views 0 download

Tags:

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 Ohshivamidow@gmail.com

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!

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.

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