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. Even With Re-Clocking, Nouveau Remains Behind NVIDIA's Proprietary Linux Driver
  2. The Power Consumption & Efficiency Of Open-Source GPU Drivers
  3. AMD R600g/RadeonSI Performance On Linux 3.16 With Mesa 10.3-devel
  4. Intel Pentium G3258 On Linux
Latest Linux Articles
  1. AMD Catalyst 14.6 Does Slightly Better With APITest OpenGL Tests
  2. Updated Source Engine Benchmarks On The Latest AMD/NVIDIA Linux Drivers
  3. Nouveau vs. Radeon vs. Intel Tests On Linux 3.16, Mesa 10.3-devel
  4. KVM Benchmarks On Ubuntu 14.10
Latest Linux News
  1. Fedora Assembles A Security Team
  2. AMD Launches The A10-7800, The 65 Watt Kaveri
  3. Builder: A New Development IDE Being Built For GNOME
  4. GDB 7.8 Betters Python Scripting, Adds Guile Support
  5. GNOME's GTK+ Is Still Striving For A Scene Graph, Canvas API
  6. Unreal Tournament Looks Great For Team Deathmatch
  7. LibreOffice 4.3 Released With Many Exciting Changes
  8. GNOME/GTK On Wayland Gains Focus At GUADEC
  9. GNOME Stakeholders Take Issue With Groupon Over their Gnome
  10. GStreamer VA-API Plug-In Update Adds New Features
Latest Forum Discussions
  1. Debian + radeonsi
  2. Grand Theft Auto Running On Direct3D Natively On Linux Shows Gallium3D Potential
  3. AMD Publishes Open-Source Linux HSA Kernel Driver
  4. Linus Torvalds On GCC 4.9: Pure & Utter Crap
  5. Open-source drivers on ATI R7 260X
  6. AMD Athlon 5350 APU On Linux
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. List of Linux friendly Kickstarter projects