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. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. Running Fedora 20 On Intel's Core i7 Haswell-E Platform
  2. A Tour Of The New Phoronix Office
  3. 7-Way Linux Desktop Gaming Comparison On Ubuntu 14.10
  4. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
Latest Linux News
  1. The Gestures Support Of GNOME 3.14
  2. Linux 3.17 Has Basic Support For The Xbox One Controller
  3. openSUSE 13.2 Beta Still Using Btrfs By Default, & KDE Plasma 5 For Testing
  4. GTK+ 3.14 Brings Much Better Wayland Support, Multi-Touch, New Theme
  5. DisplayPort Comes To USB's Type-C Connector
  6. NSS Updated On Ubuntu 12.04/14.04 To Allow Netflix Support
  7. Linux 3.17-rc6 Released; Linux 3.17 Final Might Come In One Week
  8. X.Org Server 1.16.1 Released
  9. Mesa Gets Closer To Having OpenGL 4.0 Tessellation Support
  10. Uselessd: A Stripped Down Version Of Systemd
Latest Forum Discussions
  1. State of Nouveau now and in the near future?
  2. Uselessd: A Stripped Down Version Of Systemd
  3. Wasteland 2 Officially Launched Today, Including For Linux Gamers
  4. NVIDIA GTX 770/780 -works ?
  5. New stress testing utility for GPU's
  6. How to get Catalyst 14.4 working on Ubuntu 14.04
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. X.Org Women Outreach Program Only Turns Up Two Applicants So Far