hw accelerated webkitgtk+ on raspberry pi

22
H/W accelerated WebKitGTK+ on Raspberry Pi ChangSeok Oh [email protected]

Upload: gnomekr

Post on 13-May-2015

5.074 views

Category:

Technology


0 download

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

Page 1: Hw accelerated webkitgtk+ on raspberry pi

H/W accelerated WebKitGTK+on Raspberry Pi

ChangSeok [email protected]

Page 2: Hw accelerated webkitgtk+ on raspberry pi

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/

Page 3: Hw accelerated webkitgtk+ on raspberry pi

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. "

Page 4: Hw accelerated webkitgtk+ on raspberry pi

Raspberry Pi

Page 5: Hw accelerated webkitgtk+ on 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

Page 6: Hw accelerated webkitgtk+ on raspberry pi

Raspberry Pi

Page 7: Hw accelerated webkitgtk+ on raspberry pi

Raspberry Pi

Yes. It's poor but not that poor.Performance is NOTHING!

Page 10: Hw accelerated webkitgtk+ on 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!

Page 11: Hw accelerated webkitgtk+ on raspberry pi

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

Page 12: Hw accelerated webkitgtk+ on raspberry pi

WebKit

Page 13: Hw accelerated webkitgtk+ on raspberry pi

Midori browser

The default internet browser powered by WebKitGtk in Raspberry PiNot supported HW acceleration for some reasons.

Page 15: Hw accelerated webkitgtk+ on raspberry pi

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.

Page 16: Hw accelerated webkitgtk+ on raspberry pi

What is wrong with that?

Page 17: Hw accelerated webkitgtk+ on raspberry pi

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.

Page 19: Hw accelerated webkitgtk+ on raspberry pi

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..

Page 20: Hw accelerated webkitgtk+ on raspberry pi

Wayland on the Raspberry Pi

Page 21: Hw accelerated webkitgtk+ on 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

Page 22: Hw accelerated webkitgtk+ on raspberry pi

Thank you for listening