You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Wayland - What and Why?

  • Primarily a protocol for compositionof different surfaces/layers.
  • compositor + display server + window manager.
  • Uses EGLto avoid OS specific windowing functionality.
  • Started as a replacement for the X Windowing System (X11).
  • Unlike X has no rendering API.
  • Its implementations are lightweightwith a small footprint
  • Wayland is primarily focused on performance, code maintainability and security

Webkit for Wayland

  • Wayland provides simple, elegant, graphics compositing integration between different layers using EGL (interface between Khronos rendering APIs)
  • Wayland started as a replacement for the X Windowing System (X11).
  • Wayland is not an implementation but a protocol specification between a display server and its clients
  • Its implementations are lightweight with a small footprint
  • Wayland is primarily focused on performance, code maintainability and security

Advantage of WPE over QtWebKit


Newer WebKit= newer features:


  • Contributions in the “upstream” direction are also important to the growth of the RDK, to attract more development and grow the community.
  • It’s much faster then QT.
  • For Gstreamer, we contributed a way to expose the video fragments, e.g. MPEG DASH smooth streaming, from the browser using Media Source Extensions (MSEs).

Faster:


  • WebKit2 w/ Threaded compositor vs. QT single thread WebKit1 architecture.
    • UI Process, Web Process, Network Process and Database Process
  • New JavaScript Core optimization feature: “Faster Than Light” JIT
  • JSC inline with modern day HTML5 development (e.g. better JIT support for closures)


Smaller:


  • Compared to QTWebkit, WPE is about 30% smaller — around 22 Megabytes,
  • On average, compared to 32 Megabytes while packing 60% more features


A Traditional Approach for Rendering

In traditional approach, the central role of X-Server and the steps required to get contents on to the screen is presented in below diagram.

Wayland Approach for Rendering


Removed X-Server and the compositor is the display server. Lets the compositor send the input event directly to the client and lets the client sent the damage event directly to the compositor.

Wayland - What and Why?

“Wayland is a protocol for a compositor to talk to its client as well as a C lib implementation of that protocol”. Weston is the reference implementation for wayland. Westeros is a compositor, a replacement of Weston. This provides clear interface towards graphics and input.

Wayland Process flow:

Why Westeros?

  • Westeros is smalland simple.
  • Being small, easier to understand and maintain.
  • Caters to needs of embedded systems over traditional desktop computing.
  • Shared library that provides an APIfor creating and operating a compositor.
  • Use the included sample compositor app OR implement a custom compositor.
  • Allows an application to create a Wayland display within itself to create what we call an embedded compositor.
  • Main UI can then control application windowandlifecycle.


  • No labels