Wayland is now mostly usable, via backward compatability with the X protocol (XWayland). Native usability is mostly down to applications migrating to GTK3 and Qt5.
Version 0.99 was released on 2012-10-15, and was the last API break. Plans are to not break the API in the future. Latest version is 1.1.0.
XWayland has a segfault bug, and has not been committed upstream (to xorg).
Ubuntu, Fedora, and Gentoo now have the Wayland backend of GTK+ enabled.
Qt5 was released 2012-12-19, but I don't think there are any official distro packages of it yet.
The reference compositor (Weston) works with Intel, Radeon, and Nvidia (Nouveau) open source drivers. Nouveau on DRM requires kernel version 3.7-rc3.
XWayland, the ability to run X clients within Wayland, is mostly working. Firefox, chromium, and supertuxkart appear usable. There are DDXes for Intel, Radeon, and Nouveau (Nvidia). A software implementation exists but is more glitchy.
Clutter support is complete.
EFL support is complete except for selection.
Qt5 support is complete, including client side decorations (CSD).
So any application should work natively with Wayland as long as it uses one of these four toolkits, and it doesn't call any Xlib functions. Unfortunately, a number of GTK+ applications do call Xlib, through gdk_x11_* functions, and they need to be wrapped in build-time and run-time backend checks.
And while GTK3 was released over a year ago, Qt5 had its first alpha release in April 2012, and its first Beta in August 2012. While many GTK+ applications haven't made the conversion yet, presumably Qt applications, for the most part, haven't started.
SDL support is rough. Latest sdl with wayland support is soreau sdl. Before running any applications, please:
Firefox and chromium work via xwayland (backward compatability with the X protocol).
webkit-clutter apparently works on wayland
weston-terminal is actually pretty decent.
vte, based on gtk, works fine.
Germinal works - VTE-based GTK+3 minimalistic terminal
Hawaii desktop terminal works with Qt5
I haven't tried clutterm, which uses Clutter, mostly because it says "This is a work in progress and it's far from ready for every day use."
QTerminal uses Qt, but is still using Qt4.
wlterm is probably good.
What works with Wayland? - list of applications that do and don't work.
Of the 22 gtk applications I tried (html5 theora video), 9 worked, and 13 didn't due to using Xlib calls. 41% worked (after I rebuilt GTK with --enable-wayland-backend).
RebeccaBlackOS is a live ISO that includes Wayland. It's generally kept well up to date.
There is also a Fedora based Wayland Live CD.
A port to Android is in progress, by Pekka Paalanen, for Collabora.
This package list is about the ability to get a compositor (mostly Weston) working with distribution packages.
If these packages are up-to-date enough in your distribution, you can probably skip their build in your Wayland setup.
(with GL, GLESv2, EGL and wayland-egl)
(with GL, GLESv2 and EGL)
(GL, GLESv2, EGL and wayland-egl)
(GL/GLESv2 and EGL)
|Exherbo||0.3.1 and scm|| 9.2.0 and scm|
(GL, GLESv2, EGL and wayland-egl)
| 1.12.16 and scm|
(GLX or GLESv2, and EGL)
|1.2.1 and scm||1.2.2 and scm|
This package list is about the ability to have clients with a Wayland backend using distribution packages.
Documentation and global state
- Wayland page of Arch Linux Wiki
- Exherbo page on this Wiki
- Wayland + GTK+ on Fedora 19 and Ubuntu 13.04
Enlightenment - Wayland clients "...render ;) but cannot handle keyboard input yet. Fixing that up now" - 2013-03-11
The rest have not seen work in a long time:
Mutter (GNOME Shell) seems to have some support in git branches, but little information available.
The protocol itself still needs work: http://cgit.freedesktop.org/wayland/wayland/tree/TODO
- Wayland support in the mozilla servo browser
- Mesa / llvm has a major llvm assert problem.
- WebKitGTK+: Enable wayland support.
- Midori: Wayland support
- Debian: Enable GTK+ Wayland backend
- Clutter webkit: won't build
- LibreOffice: Wayland support - currently uses xcb (X protocol)
- Totem: Add wayland support. (re-opened)
The Nvidia proprietary + cairo-gl problem:
Any one of these would've fixed the problem, the first one did:
- GTK+: Remove cairo-gl dependency from wayland backend. (done, 3.5.1 release)
- Cairo: Dynamically load libGL in cairo-gl
- Debian packaging: Add support for versioned provides. This is 15 years old.
- Nvidia's proposed change to eglibc.
Things I, personally, feel are most noticably missing.
- XWayland / Weston is occasionally segfaulting.
- Submitting XWayland upstream so it can be included in distributions.
- Terminal clipboard: GTK+: Wayland and x11 backends simultaneously enabled is broken. Workaround disables GTK/Wayland clipboard. weston-terminal works with ctrl-shift-c, ctrl-shift-v. Clipboard works with gnome-terminal if run as an X client (but not native).
- XWayland popup menus don't work.
- Window decorations for GTK+ (buttons to close the window, etc.).
- Thread safety. "event dispatching is thread safe" as of v0.99 - anything else needed?
- Key bindings for launcher items? (launch terminal with ctrl-alt-t)
- Native major web browser (Firefox bug).
- Native LibreOffice.
- Network transparency.
- Native mplayer support. (done, but not committed?)
- Native WINE support.
- Native blender support.
- Hardware independent, hardware accelerated DDX for XWayland. Of the DDXes that exist, they are either hardware dependent (Intel, Radeon, Nouveau), or software only and unaccelerated (WLSHM). It would be nice if one were created that were hardware independent and hardware accelerated. Glamor is often mentioned as a good way to do this.
- Split libgl (OpenGL) from glx. Currently, using full OpenGL pulls in X libraries.
<krh> you keep libGL with just the GLX code, make it link to libOpenGL
<krh> libOpenGL is just the GL functions, like libGLESv2
<krh> new code that uses EGL+OpenGL will link to libOpenGL, old apps can continue linking to libGL
- Window decorations for Qt (buttons) and XWayland (buttons).
- XWayland keyboard input in Firefox.
- GTK+: Wayland and x11 backends simultaneously enabled is broken. - Workaround committed, in 3.4.1 release.
- GTK+: Defaults to Wayland backend over X11, breaking X - Commited to master and 3.4, will be in 3.4.2 and 3.5.1 releases.
- Wayland currently only works on Intel.
- XWayland resizing windows. (fix)
- XWayland Nouveau DDX support (~100 lines, done for Intel and Radeon). (fix)
- Radeon and WLSHM DDXes need to be updated to handle xserver changes. (Intel DDX patch) (last xserver commit compatible with Radeon and WLSHM) (Radeon fix, wlshm fix)
- Video capture. (Partially done.) (done, README)
- WLSHM DDX needs s/hosted.h/xwayland.h/.
- Weston has a build dependency on libvpx which has a build problem.
This page surely has errors and omissions. Please create an account, contact Darxus for write access, and fix them.