1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Wayland's Weston Brought To The Raspberry Pi

Wayland

Published on 07 November 2012 04:46 PM EST
Written by Michael Larabel in Wayland
1 Comment

Pekka Paalanen has published initial patches that allow Wayland's Weston reference compositor to run from the popular low-cost Raspberry Pi ARM computer.

Pekka's patches for Weston allow for a configurable Weston back-end at build time, contains a small fix to the OpenGL ES 2.0 support, and introduces a Raspberry Pi back-end for the compositor. The "RPI" back-end is around 2,000 lines of new code for Weston.

With the open-source Raspberry Pi graphics driver being lackluster, the Wayland/DRM back-end isn't applicable here so a Raspberry Pi specific back-end was written for Weston. Here's Pekka's description for how this new back-end functions:
This backend uses the DispmanX API to initialise the display, and create an EGLSurface, so that GLESv2 rendering is shown on the "framebuffer". No X server is involved. All compositing happens through GLESv2.

The created EGLSurface is specifically configured as buffer content preserving, otherwise Weston wouuld show only the latest damage and everything else was black. This may be sub-optimal, since we are not alternating between two buffers, like the DRM backend is, and content preserving may imply a fullscreen copy on each frame.

Page flips are not properly hooked up yet. The display update will block, and we use a timer to call weston_output_finish_frame(), just like the x11 backend does.

This backend handles the VT and tty just like the DRM backend does. While VT switching works in theory, the display output seems to be frozen while switched away from Weston. You can still switch back.

Seats and connectors cannot be explicitly specified, and multiple seats are not expected.

Udev is used to find the input devices. Input devices are opened directly, weston-launch is not supported at this time. You may need to confirm that your pi user has access to input device nodes.

The Raspberry Pi backend is built by default. It can be build-tested without the Raspberry Pi headers and libraries, because we provide stubs in rpi-bcm-stubs.h, but such resulting binary is non-functional. If using stubs, the backend is built but not installed.

VT and tty handling, and udev related code are pretty much copied from the DRM backend, hence the copyrights. The rpi-bcm-stubs.h code is copied from the headers on Raspberry Pi, including their copyright notice, and modified.
These Weston patches are currently floating on the Wayland-devel list.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  2. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
  3. AMD Radeon R9 290 Open-Source Driver Works, But Has A Ways To Go
  4. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
Latest Linux Articles
  1. Testing For The Latest Linux Kernel Power Regression
  2. The Most Energy Efficient Radeon GPU For AMD Linux Gaming
  3. 20-Way Radeon Comparison With Open-Source Graphics For Steam On Linux Gaming
  4. Preview: OS X 10.10 Yosemite vs. Ubuntu Linux GPU Performance
Latest Linux News
  1. LibreOffice Ported To 64-bit ARM (AArch64)
  2. Enlightenment E19 RC3 Shows Off The New Wayland Compositor
  3. Metro Redux Is Going To Require OpenGL 4.x On Linux
  4. Jailhouse v0.1 Released As A Basic Hypervisor For Linux
  5. Google's Chromebook "Samus" Now Supported By Coreboot
  6. Chrome 38 Now In Beta With Exciting Advancements
  7. Ubuntu's Utopic Unicorn 14.10 Beta 1 Released
  8. Genode OS 14.08 Has New GUI Architecture, Pluggable VFS
  9. Another Intel Linux Power Regression Is Being Investigated
  10. DNF Makes It A Step Closer To Replacing Yum On Fedora
Latest Forum Discussions
  1. Users defect to Linux as OpenBSD removes Lynx from base system
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Canonical Joined The Khronos Group To Help Mir/Wayland Drivers
  4. Radeon HD5670 and Ubuntu 14.04
  5. AMD Releases UVD Video Decode Support For R600 GPUs
  6. Best Radeon for a Power Mac G5?
  7. OC capability - Intel Core i5 4690K & Biostar Hi-Fi Z97WE
  8. Announcing radeontop, a tool for viewing the GPU usage