Crosswalk on IoT Kenneth Christiansen , Sakari Poussa, Tiago Vignatti - - PowerPoint PPT Presentation

crosswalk on iot
SMART_READER_LITE
LIVE PREVIEW

Crosswalk on IoT Kenneth Christiansen , Sakari Poussa, Tiago Vignatti - - PowerPoint PPT Presentation

Crosswalk on IoT Kenneth Christiansen , Sakari Poussa, Tiago Vignatti Session goals: What IoT means to Crosswalk from the graphics perspective Introduce a new graphics architecture for IoT Next challenges 2 Tizen graphics, IoT


slide-1
SLIDE 1

Crosswalk on IoT

Kenneth Christiansen, Sakari Poussa, Tiago Vignatti

slide-2
SLIDE 2

2

  • What IoT means to Crosswalk from the graphics perspective
  • Introduce a new graphics architecture for IoT
  • Next challenges

Session goals:

slide-3
SLIDE 3

Tizen graphics, IoT and Crosswalk

slide-4
SLIDE 4

4

Tizen Graphics

  • Tizen is not much different than traditional Linux distros:
  • In short: kernel Linux + GL driver + X11 or Wayland

Native App: toolkit (EFL or Qt)

Web App: runtime (WebKitEFL or Crosswalk)

  • GL graphics context requires several megabytes! (sorry, no reference)

Problems on constrained platforms:

  • memory allocation: GPU driver resources, texture storage, double-buffering etc
  • memory bandwidth: texture upload of bitmaps
slide-5
SLIDE 5

5

IoT

  • IoT display-based devices:

medical monitors, smartwatch, wrist, etc

  • hardware are not very capable:

CPU < 1 GHz, memory < 512 MB, no GPU

  • system is somewhat simple:

e.g. one fullscreen web app at each time

  • simple window management
  • simple UI
slide-6
SLIDE 6

6

Crosswalk (1/2)

  • Crosswalk is based on Blink and Chromium
  • It implements Tizen Web APIs for system control
  • Chromium has a new platform backend system called Ozone:

Crosswalk on Tizen IVI uses Ozone-Wayland

Ozone-Wayland implements Wayland platform for Chromium

There are other Ozone implementations like KMS/DRM, caca, testing, etc

slide-7
SLIDE 7

7

Crosswalk (2/2)

  • We believe that Crosswalk could encompass all IoT needs!

Web is the whole system

a lean graphics architecture is required though

slide-8
SLIDE 8

a new graphics architecture for IoT

slide-9
SLIDE 9

9

Solving Tizen Graphics issues for IoT

  • Graphics architecture for IoT has the desired features:

1. Able to run in constrained platforms 2. Simple window management 3. Simple UI

  • Solution:

remove the window system and toolkits

  • why we'd need it given that apps are fullscreen and Web based?

choose renderer method

  • e.g. using software rendering instead GL we potently could reduce memory

problems

slide-10
SLIDE 10

10

How Chromium helps? (1/2)

  • Ozone:

Chromium Ozone backend system lets us to easily switch the platform implementation

We'd use Ozone KMS/DRM through software composing backend for constrained platforms

  • Ozone KMS/DRM uses double-buffer Skia surfaces, so it's quite capable
slide-11
SLIDE 11

11

How Chromium helps? (2/2)

  • Aura:

Aura is the UI framework for basic window and input events

Aura windows only have one graphics surface layer each (so window management is not really needed at the window system level!)

  • Views:

Views is Chromium's internal widgets toolkit based on Aura

If desired, more complex windows decorations can be done using Views (no external graphics toolkits are needed!)

slide-12
SLIDE 12

12

Crosswalk graphics architecture for IoT

slide-13
SLIDE 13

13

Conclusion

  • The new architecture is meant for IoT

constrained hw platforms where the Web takes over the whole system

  • Less overall complexity due code reduction

Easily we save at least 1 million LoC (window system + toolkits)

  • Proof-of-concept:

https://github.com/tiagovignatti/crosswalk/commits/embedded

Using Tizen Common (“Generic”)

slide-14
SLIDE 14

Next Challenges

slide-15
SLIDE 15

15

Next Challenges

  • Drawback: no Native App option anymore for Tizen

Everything goes through Chromium architecture

What about NaCl?

  • Are we fine with Web performance for the UI?
  • Send code to upstream Tizen and Crosswalk
slide-16
SLIDE 16

Questions? Thank you!