(→Scope) |
(→Scope) |
||
Line 48: | Line 48: | ||
*** on-screen keyboard | *** on-screen keyboard | ||
*** hi-dpi support | *** hi-dpi support | ||
*** tablet support | *** tablet support | ||
*** startup notification | *** startup notification | ||
Line 58: | Line 56: | ||
* Other developers: | * Other developers: | ||
** GTK+ applications that use X11-specific APIs need to be patched to explicitly use the GDK X backend | ** GTK+ applications that use X11-specific APIs need to be patched to explicitly use the GDK X backend | ||
* Release engineering: No release engineering changes needed | * Release engineering: No release engineering changes needed |
Revision as of 15:20, 10 November 2015
Wayland By Default
Summary
Change the default session selection in gdm to prefer the Wayland-based GNOME session over the X11-based one.
Owner
- Name: Matthias Clasen Ray Strode
- Email: mclasen@redhat.com rstrode@redhat.com
- Release notes owner:
- Product: Workstation
- Responsible WG: Workstation
Current status
- Targeted release: Fedora 24
- Last updated: 2015-11-10
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
We will change GDM to use wayland by default for GNOME. The code will automatically fall back to Xorg in cases where wayland is unavailable (like nvidia). Users will be able to disable wayland by setting WaylandEnable=false in /etc/gdm/custom.conf but there will no longer be two separate menu items for GNOME on Wayland and GNOME on X11.
Benefit to Fedora
Using Wayland instead of X gives a much better basis for isolating applications from each other and the system.
Scope
- Proposal owners:
- merge the gnome-wayland.session and gnome.session into one file that is distributed into /usr/share/wayland-sessions and /usr/share/xsessions.
- Make gdm hide Wayland sessions from the session chooser if we know they will not work (because the login screen had to fall back to X)
- Close all remaining feature parity gaps between the Wayland and the X11 session:
- input methods
- on-screen keyboard
- hi-dpi support
- tablet support
- startup notification
- touch proxy for xwayland
- accessibility features
- output rotation
- Other developers:
- GTK+ applications that use X11-specific APIs need to be patched to explicitly use the GDK X backend
- Release engineering: No release engineering changes needed
- Policies and guidelines: No policy or guideline changes needed
Upgrade/compatibility impact
Systems using certain graphics hw or graphics drivers (matrox, qxl) may have problems running the Wayland session. In these (rare) cases, users may have to configure gdm to use X11 (although automatic fallback should work most of the time). If we don't manage to close all the feature parity gaps entirely, then users relying on those features may have to choose the X11-based session.
How To Test
- Boot a fresh F23 workstation install.
- Verify that the login screen is running under Wayland (you can do so by looking for a process called gdm-wayland-session in ps -ef output)
- Verify that the session chooser offers 'GNOME', 'GNOME on X11' and 'GNOME Classic', and that 'GNOME' is selected by default.
- Log into all three of these sessions and verify that 'GNOME' gives you Wayland (you can verify this by bringing up the GTK+ inspector in a gtk3 application and checking what backend is used), while the other two end up with X11.
- Change the gdm configuration by adding WaylandEnable=false and reboot
- Verify that the login screen comes up under X
- Verify that only X-based sessions are offered in the session chooser
- Log into the Wayland-based session again
- Use the desktop normally, and verify that there are no obvious instabilities, or Wayland-specific bugs or performance problems
User Experience
The user experience of the Wayland session is identical to that of the X session.
Dependencies
The tasks lists in the Scope section are spread across a number of upstream modules and packages: gtk3, gnome-shell, mutter, libinput, Xorg, gdm.
Contingency Plan
- Contingency mechanism: Revert the changes to the session files, thereby keeping the X-based session as the default
- Contingency deadline: beta
- Blocks release? no
- Blocks product? no
Documentation
TBD
Release Notes
TBD
[[Category:SystemWideChange]