Wayland preview

Update: Daniel’s blog post here provides some more info, including how to install the technology preview on Raspbian today. And Pekka’s blog post here has some very detailed technical information on the implementation of the Weston backend.

If you’re familiar with the Raspberry Pi desktop experience, you’ll have noticed that windows on the desktop can be a bit slower to move around than you’re used to on your PC or laptop. This is because X, the windowing software (or composition protocol) that we use, is not optimised to use the graphics core of the BCM2835, the chip at the heart of the Raspberry Pi. All the work is done by the ARM processor instead, which slows things down and leaves the graphics core twiddling its thumbs. That graphics core is extremely powerful, so we’re working on putting it to good use to fix the issue.

We’ve made the decision to bypass X completely. Over the past few months we’ve been working with our friends at Collabora to implement the open-source Wayland composition protocol on top of the BCM2835 hardware video scaler (HVS). The HVS is a very powerful piece of hardware, with a scaling throughput of 500 megapixels per second and blending throughput of 1 gigapixel per second. It runs independently of the OpenGL ES hardware, so we can continue to render 3d graphics at the full, very fast rate, even while compositing.

Wayland composited desktop with XWayland and native applications.

In comparison to our current X11 desktop environment, Wayland frees the ARM from the burden of stitching together the top level of the composition hierarchy, and allows us to provide some neat features, including non-rectangular windows, fades for windows which don’t have input focus and an Exposé-like scaled window browser (the sort of thing that Mac users will be familiar with). Legacy X applications can still be supported using XWayland. Check out this video from Collabora to see these features in action, and to compare the current state of affairs with the Wayland future. Those non-rectangular shapes? They’re also windows.

We’re still working to improve performance and memory consumption, and don’t expect to be able to replace X11 as our default desktop environment until later in the year, but we will be including a technology preview in our next Raspbian release. Until then, this post on Collabora’s website gives some more background.

As with PyPy, the Raspberry Pi Foundation has funded this work on Wayland; it’s one of the ways we are trying to give back to the open-source community. Obviously, much of the work on this particular project is Raspberry Pi specific, but there’s a large portion of what’s being done, particularly around XWayland and some of the generic effects in Weston, that can be reused on many other platforms.

We’re looking forward to being able to push out the full release in the next few months. We hope you like the look of it!


Windows 7 on a Raspberry Pi (sort of)

Microsoft Windows, you say? Love it or hate it, some of you are stuck with having to use it, thanks to decisions made higher up the tree at work. As you probably know, the Raspberry Pi can’t run Windows – but the guys at Citrix have come up with a third way.

This video shows Citrix’s XenDesktop remote desktop running a Windows 7 virtual desktop session. Run a bunch of instances of Windows on your server, push the displays out to many Raspberry Pis, and you’ve got a cheap way of getting Windows onto desks at work, without having to fork out for a full-cost PC. We’re beginning to understand that there are ways to lower the cost of ownership using a Raspberry Pi even for businesses which aren’t prepared to switch over entirely to open-source software – neat, isn’t it?