Hw accelerated webkitgtk+ on raspberry pi


Published on

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.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Hw accelerated webkitgtk+ on raspberry pi

  1. 1. H/W accelerated WebKitGTK+ on Raspberry Pi ChangSeok Oh shivamidow@gmail.com
  2. 2. Good to see you! ChangSeok Oh (changseok) Software engineer at Collabora.Ltd located in U.K WebKit committer since April 2013 Worked for SAMSUNG Electronics for 4 Years Got 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/
  3. 3. 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. "
  4. 4. Raspberry Pi
  5. 5. Specifications of Raspberry Pi CPU : ARM 176JZF-S 700MHz, up to 1GHz Memory : 512 MB (Model B) Graphics : Broadcom VideoCore IV GPU OS : Raspbian based on Linux See more http://en.wikipedia.org/wiki/Raspberry_Pi
  6. 6. Raspberry Pi
  7. 7. Raspberry Pi Yes. It's poor but not that poor. Performance is NOTHING!
  8. 8. Raspberry Pi
  9. 9. Raspberry Pi
  10. 10. 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!
  11. 11. 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.0 Safari, 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
  12. 12. WebKit
  13. 13. Midori browser The default internet browser powered by WebKitGtk in Raspberry Pi Not supported HW acceleration for some reasons.
  14. 14. Midori browser
  15. 15. 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.
  16. 16. What is wrong with that?
  17. 17. 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.
  18. 18. Demo
  19. 19. Remaining issues Ordering issue among windows. Context menu hidden by HW layers. Cursor mess. Quite low video frame rate. Will be covered by Wayland support Under working.. Eventually, we'll shift from X to Wayland for the raspberrypi windowing system.
  20. 20. Wayland on the Raspberry Pi
  21. 21. 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
  22. 22. Thank you for listening