在五月24号, 树莓派基金会执行总监Eben Upton宣布了开源开发板的推荐Linux分支, Raspbian, 将会支持一个定制的Wayland显示管理器.
尽管树莓派的博通BCM2835嵌入式系统被只有700MHz的ARM11处理器所限制, 但它还是有一个令人印象深刻的图形处理单元(GPU), VideoCore 4. Wayland窗口界面针对VideoCore进行了优化, 相比现在的X窗口, Upton认为会在显示上有大幅的速度和性能提升.
Wayland的树莓派版本, 研发经费主要由树莓派基金会负责, 相关的Weston基准合成器后台开发主要由Collabora负责, Weston方面由Pekka Paalanen提供帮助. Wayland/Weston窗口界面已经可用了, 不久便将作为稳定的Raspbian技术预览. Upton在昨天的一个Linux.com的邮件采访中表示, Wayland在未来几个月后就会完全整合在Raspbian中. 尽管X继续支持使用XWayland, 但是Upton在公告中表示:"我们已经决定完全放弃X".
The lightweight, Debian-based Raspbian, which uses the LXDE GUI environment, was already optimized for the Raspberry Pi's ARMv6-architecture ARM11 CPU. The most recent version of Raspbian ("Wheezy") was upgraded earlier this year to Debian 7.0 and Linux 3.6.11, and shows dramatic performance improvements, according to benchmarks published May 28 on Phoronix. (It should be noted that several commenters questioned the Phoronix interpretation of the results, however, so we'll wait for confirmation.)
Raspbian is now joined by a new ARMv6 optimized Fedora 18 Remix for the Pi called Pidora. Released last week by the Seneca Centre for Development of Open Technology (CDOT), Pidora offers much improved performance on the RPi compared to earlier RPi-focused remixes, and features numerous packages from Fedora 18 (see our earlier article on Pidora).
The RPi version of Wayland/Weston should make it easier for Pidora and other RPi-supporting distributions like ArchLinux and Risc OS to build their own Wayland display managers, said Upton. (A recent TechRadar roundup review of RPi-ready distros also included Plan 9 and Android 2.3, although both received poor marks.)
Typically, we think of the Raspberry Pi as an embedded hacker platform for headless gizmos. (For a glimpse of the RPI's range, see this recent Reddit thread on RPi projects, which includes everything from prosthetic knees to wood engraving machines.) Yet, about half of all RPi projects make extensive use of the microHDMI port for running an external monitor, including most educational applications.
The aging X Window interface used by current Linux distributions -- including Raspbian, which incorporates X11 by way of its Openbox window manager -- is not optimized for the hardware video scaler (HVS) in the RPi's VideoCore 4 GPU. As a result, much of the GPU's power, including throughput of up to 500 megapixels per second and blending throughput of 1 gigapixel per second, are unavailable. The ARM11 processor is left to do much of the work, leading to poor graphics performance and shaky window manipulation.
Several Linux distributions are looking to replace X with modern display servers such as Wayland, or in the case of the Ubuntu project, Canonical's own homegrown Mir. Wayland and Mir are simpler and more flexible than X, and offer built-in support for the now almost ubiquitous hardware-accelerated graphics.
The Fedora project's three-year old plan to replace X with Wayland has finally gathered steam. The first beta version of Fedora 19 (“Schrödinger's Cat”), released May 28, includes a GNOME-based GTK+ UI toolkit that supports a preliminary version of Wayland with Weston. There may be good reasons why the Fedora project has been dragging its feet on Wayland. Potential headaches in replacing X11 are discussed in this April post on LWN.net.
Now, it's Debian's turn to go Wayland, at least in its Raspbian incarnation. In addition to promising generally better graphics display performance, Wayland/Weston gives RPi users some "neat features," according to Upton's announcement. These are said to include "non-rectangular windows, fades for windows which don’t have input focus and an Exposé-like scaled window browser." The performance is good enough that Upton expects Wayland to replace X11 as the default in Raspbian later this year.
RPi's Eben Upton on Wayland/Weston
We dove a little deeper in our email interview with Upton, as follows. Most of the terms he mentions are explained in this overview of Wayland/Weston on the RPi by Collabora's Daniel Stone, as well as this description of Weston on RPi by Pekka Paalanen. (Editor's Note: Be sure to catch Eben Upton's keynote talk at LinuxCon North America, Sept. 16-18 in New Orleans.)
Q: Why Wayland now?
Upton: Wayland has become much more mature over the last few months: It was much easier for Pekka to add support for DispmanX (our back-end compositor interface) in March/April by writing a new renderer than it was last year, when the preferred route was to use overlay planes. XWayland seems to have moved forward as well (and we're investing quite a lot of our own money in this), so we have a good backward-compatibility story.
Q: Were there any other options considered, including a Mir-style homegrown display manager?
Upton: We did consider traditional X acceleration, but it's very hard to bootstrap the level of competence required to do this well from a standing start. A homegrown display manager was a non-starter: We don't see the rationale for yet another fork, and unless you're a giant corporation like Canonical you'd be pushing water uphill to get adoption. Wayland is just such a good fit both for our hardware and for the sorts of things our users want to do.
Q: Will Raspbian continue to support X sessions as well, or is this a wholesale change?
Upton: We'll continue to support X for the foreseeable future, but we won't be investing specifically in improving X performance.
Q: Is this only for Raspbian, or do you foresee other supported distributions adding Wayland support?
Upton: I'd love to see other distributions supporting Wayland. Everything that's being done for Raspbian is going upstream, so I don't see any reason why this couldn't happen.
Q: What kind of graphics improvements do you expect in the full release for Wayland/Weston on Raspbian, and where do expect to see it pay off the most?
Upton: Things like 60fps window dragging have a large impact on the perceived quality of the user experience, but the real payoffs for us are the ability to add zero-copy hardware accelerated surfaces for 3D graphics and video playback. Obviously this is something we could have done with overlays and conventional X acceleration, but Wayland gives us a much simpler, cleaner route to almost the same destination. One nice fringe benefit is that we'll be able to present the wacky big-endian framebuffer format used by the Squeak Smalltalk VM (and hence by MIT's Scratch educational programming language) directly without having an ARM-side format conversion.
Q: Is Wayland on Raspbian primarily aimed at educational applications?
Upton: For us this is about improving the Pi's usability as a general-purpose computer, whether that's for education or as a "first PC" for the developing world. We figure at least 50% of our current volume is going into headless applications; it will be interesting to see how this changes over time as Wayland/Weston, and our other OSS investments like Pixman, Squeak, PyPy and LibreOffice, roll into the platform.