Port the GNOME desktop to Wayland.
- Name: Matthias Clasen and the desktop team
- Email: email@example.com, firstname.lastname@example.org
- Release notes owner:
- Targeted release: Fedora 21
- Last updated: 2013-08-10
- Tracker bug: <will be assigned by the Wrangler>
GNOME is being ported to Wayland. In particular GNOME shell is changed to run as a Wayland compositor instead of an X11 compositor. Other components of GNOME that currently talk directly to the X server, such as gnome-settings-daemon or gnome-control-center, will be ported to corresponding Wayland interfaces. Many GTK+ applications will just work, using the existing Wayland backend. Applications that make use of X-specific APIs will be supported with the xwayland X server, which is started on demand. gdm will be changed to support both Wayland-based sessions and X-based sessions.
This change is targeted at F21. For F20, we aim for having an experimental GNOME shell Wayland compositor available, without necessarily having all the surrounding desktop infrastructure ported. To avoid destabilizing the X compositor, mutter will ship two separate libraries, and gnome-shell will ship two binaries that will link against them. For more details, see this page.
Benefit to Fedora
Fedora stays at the forefront of Linux development by adopting the next-generation display server technology after X. Aiming for F21 with this transition gives us the chance to influence many aspects of the Wayland-based userspace before they are set in stone.
- Proposal owners:
- Port GNOME shell to be a Wayland compositor
- Implement Wayland equivalents for X11 APIs such as XRANDR, XI2 and accessibility features
- Port gnome-settings-daemon, gnome-control-center, gnome-desktop from X11 APIs to Wayland equivalents
- Enable gdm to launch Wayland sessions
- Complete the GTK+ Wayland backend to be on par with the X11 backend
- Other developers:
- The X team needs to improve xwayland to be good enough for all X11 application
- The X team needs to cooperate with us in reimplementing some X11 APIs
- It is not necessary for all spins or all desktop environments in Fedora to switch to Wayland at the same time (or ever)
- Release engineering:
- No tasks anticipated
- Policies and guidelines:
- Once we have a basic Wayland-based GNOME session, it would be good to encourage testers and packagers to test their applications under Wayland
- For applications that are known not to work under Wayland, we will need guidelines for how to ensure that they will transparently run under xwayland
- Proprietary driver support in Wayland is less complete than under X. Systems that have been configured to use e.g. the proprietary Nvidia drivers under X will fall back to using open-source drivers under Wayland
- Support for alternative input devices such as Wacom tablets or joysticks may not be available in time for F21
How To Test
Log into a GNOME desktop. Do any activity you would normally do in your daily desktop use: launching applications, configuring displays, etc. Things should work the same way under Wayland than they used to under X.
The user experience should not change noticeably, except for gaps in the initial porting (such as lack of Wacom tablet support).
Some new libraries may be developed to support Wayland compositors, such as libevdev. These will have to be packaged if GNOME shell starts to depends on them.
- Contingency mechanism:
- If we don't succeed in making an experimental GNOME shell Wayland compositor available in F20, we will make the Wayland compositor available in post-F20 rawhide as soon as it becomes available.
- If important pieces of this plan are not going to be available in time for F21, we will defer the switch to Wayland until F22. We will keep the experimental Wayland compositor available in any case, to enable further development.
- Contingency deadline:
- We will reevaluate the timeline around the time F20 is released, and then again around the F21 feature submission deadline.
- Blocks release? No
- https://wiki.gnome.org/Wayland - the GNOME wiki contains lots of material
- https://wiki.gnome.org/ThreePointNine/Features/WaylandSupport - the upstream feature page for 3.10
- https://wiki.gnome.org/ThreePointEleven/Features/WaylandSupport - the upstream feature page for 3.12
- http://wayland.freedesktop.org/ - the Wayland web page
The GNOME desktop is using the Wayland display system now. X applications will continue to run transparently by means of xwayland.