*

2D graphics Wayland/Weston optimizations on the Raspberry Pi

Posted on 23/05/2013 by Collabora

The Raspberry Pi Foundation has taken the computing world by storm with its Raspberry Pi minicomputer. The strong educational aspirations of the Raspberry Pi are just a part of why Collabora is glad to contribute to the pages of computing history being written by this groundbreaking credit-card-sized, ARM-based board. The Raspberry Pi seeks to inspire the current generation of young learners to hardware and software literacy.

The Raspberry Pi is also suitable for many embedded applications beyond education, as many commercial implementations have already demonstrated. In particular, its graphic processing abilities offer a wealth of possibilities which are now available for everyone to take advantage of.

Over a period of four weeks, Collabora has been working with the Raspberry Pi Foundation to enhance the graphic software stack for the Raspberry Pi.

A high-definition version of the video can be viewed here.

Solution benefits

  • Unleash the Raspberry Pi's graphics hardware's full capabilities and potential
  • Showcase the Raspberry Pi as a compelling multimedia platform
  • Improve system multitasking and multiprocessing performance
  • Operations offload to graphics hardware to deliver improved responsiveness
  • Demonstrate new Wayland/Weston capabilities, beyond legacy X11
  • Provide X11 client compatibility with even greater performance than running natively
  • Improve Weston's viability as a desktop platform
  • Demonstrate Weston's 2D composition abilities with the Raspberry Pi VideoCore

Revealing the graphics hardware's potential

Raspberry Pi has a high-performance, special-purpose graphic processing unit capable of handling overlays and compositing directly in the hardware, allowing the CPU to focus on other tasks. Although complete X.Org (X11) drivers exist, the limitations of the X stack are a serious performance impediment . The Raspberry Pi project was thus in need of a way to expose the true potential of the hardware through an improved software stack.

Collabora has been working with the Raspberry Pi Foundation to deliver an improved Weston backend, making full use of the Raspberry Pi VideoCore to offload as much graphics processing work as possible, reducing CPU and memory usage. Additionally, Collabora provided enhancements to further reduce the memory footprint of the system.

The overall result of Collabora's Wayland enablement initiative is a much faster and more fluid UI, consistently achieving 60 frames per second under typical load. The video case study shows the Raspberry Pi's performance whilst moving windows and displaying various UI animations—an area where X11 had proven to be unpredictably latent.

X11 applications, better than ever

Wayland's protocol and architecture allows it to serve X11 clients, through an emulated server. Improvements made to Weston as part of this engagement with the Raspberry Pi Foundation by Collabora enabled X11 applications to run seamlessly, running faster than under the legacy X.Org server.

Improved user experience

In addition to the various performance improvements, Collabora enhanced Weston's user interface by providing a window overview presentation mode, as well as various cosmetic enhancements, including fading animations.

Improved developer experience

Collabora also implemented a debug/benchmark mode to help evaluate the improvements made, especially those related to performance and memory consumption. Collabora performed quality assurance to validate both the software and Raspberry Pi hardware perform according to expectations.

All the work has been contributed upstream to the Wayland/Weston project. Improvements made as part of this project require no Raspberry Pi specific patches and will benefit the whole community, as the changes were confined to the compositor. Any improvements requiring changes to protocols were done in collaboration with the upstream community. Full source code has been released alongside Linux distribution packages.

They say:

"It's great to be working with Collabora to bring the hardware composition capabilities of BCM2835 to bear on both native Wayland and legacy X applications" said Eben Upton, a founder and trustee of the Raspberry Pi Foundation. "The resulting platform will form the centerpiece of the new Raspberry Pi user experience from the second half of 2013."

"It's exciting to see Collabora and the Raspberry Pi foundation work together on improving the Raspberry Pi user interface using Wayland and Weston. The result provides a great demonstration of how the Wayland architecture and the Weston implementation lets you mix rendering techniques and take advantage of special purpose 2D compositing hardware." — Kristian Høgsberg Kristensen, Wayland project lead.

Comments (0)


Add a Comment





Allowed tags: <b><i><br>Add a new comment:


Latest Blog Posts

Who knew we still had low-hanging fruit?

17/10/2017

Earlier this month I had the pleasure of attending the Web Engines Hackfest, hosted by Igalia at their offices in A Coruña, and also sponsored…

Performance analysis in Linux (continued)

06/10/2017

In this post, I will show one more example of how easy it is to disrupt performance of a modern CPU, and also run a quick discussion on…

XDC 2017 - Links to recorded presentations (videos)

23/09/2017

Many thanks to Google for recording all the XDC2017 talks. To make them easier to watch, here are direct links to each talk recorded at…

DebConf 17: Flatpak and Debian

17/08/2017

Last week, I attended DebConf 17 in Montréal, returning to DebConf for the first time in 10 years (last time was DebConf 7 in Edinburgh).…

Android: NXP i.MX6 on Etnaviv Update

24/07/2017

More progress is being made in the area of i.MX6, etnaviv and Android. Since the last post a lot work has gone into upstreaming and stabilizing…

vkmark: more than a Vulkan benchmark

18/07/2017

Ever since Vulkan was announced a few years ago, the idea of creating a Vulkan benchmarking tool in the spirit of glmark2 had been floating…

Open Since 2005

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2017. All rights reserved. Website sitemap.