GNOME Bugzilla – Bug 757715
Allow wayland to be the default
Last modified: 2015-11-09 19:29:27 UTC
For Fedora 24, we want to do wayland by default. It's not a simple matter of just changing the default session name, though, since there are still situations where we can't do wayland (like proprietary nvidia). So before we can make wayland the default user session, we need to make sure that we filter wayland from the list of possible user sessions in cases when it won't work. We already fallback from wayland in the greeter session, so we can just use the logic "If the login screen isn't wayland, don't allow wayland user sessions"
Created attachment 315016 [details] [review] libgdm: refactor session list handling code This commit splits the code for getting sessions up into two chunks: xorg and wayland. This is necessary because future commits will treat xorg and wayland sessions differently.
Created attachment 315017 [details] [review] libgdm: filter out wayland sessions from X11 login screen We use wayland by default on the login screen, so if we're running in an X11 session, then the presumption is that we're incapable of using wayland. If we're incapable of using wayland sessions then we shouldn't present those sessions to the user in the session list either. This commit makes sure to avoid showing wayland based sessions in the session list if the login screen is running on X11.
Created attachment 315018 [details] [review] session: route GdmSession "self" object into some functions We're going to need to look at session state in the future. This commit preps the way forward, for that by, making sure the state object is available.
Created attachment 315019 [details] [review] session: add property for ignoring wayland sessions We're going to want to be able to exclude wayland sessions from the search path if the manager deems it necessary. This commit adds a property to GdmSession to give the manager that ability.
Created attachment 315020 [details] [review] manager: filter out wayland user sessions if X11 login screen We use wayland by default on the login screen, so if we're running in an X11 session, then the presumption is that we're incapable of using wayland. If we're incapable of using wayland sessions then we should ignore wayland sessions read from user configuration and fall back to non-wayland defaults.
Attachment 315016 [details] pushed as 754754c - libgdm: refactor session list handling code Attachment 315017 [details] pushed as 7a12733 - libgdm: filter out wayland sessions from X11 login screen Attachment 315018 [details] pushed as eda44de - session: route GdmSession "self" object into some functions Attachment 315019 [details] pushed as 5f6edc4 - session: add property for ignoring wayland sessions Attachment 315020 [details] pushed as 246d9a2 - manager: filter out wayland user sessions if X11 login screen (still need to make the default session configure-able to wayland)
Created attachment 315141 [details] [review] launch-environment: set shell session mode in environment Right now we explicitly pass --mode=gdm to gnome-shell via a complicated set of overridden desktop files. This commit instead sets GNOME_SHELL_SESSION_MODE so we can just use the stock files.
Created attachment 315142 [details] [review] data: drop override xsession files We now tell gnome-shell to use GDM mode a different way so we don't need to override the desktop files anymore.
Created attachment 315143 [details] [review] session: give wayland sessions priority If two sessions have the same name, give the wayland one priority, unless wayland sessions are being ignored.
Created attachment 315144 [details] [review] launch-environment: always use "gnome" session now gnome-wayland isn't a thing anymore, wayland just uses the same session name.
Created attachment 315146 [details] [review] session: always update session type when reading saved session We previously only did it if the session name was different, but now it's possible to have sessions of both types with the same name.
Attachment 315141 [details] pushed as ac1b142 - launch-environment: set shell session mode in environment Attachment 315142 [details] pushed as 26006da - data: drop override xsession files Attachment 315143 [details] pushed as 6cd2d24 - session: give wayland sessions priority Attachment 315144 [details] pushed as dabc0b7 - launch-environment: always use "gnome" session now Attachment 315146 [details] pushed as 1cc1388 - session: always update session type when reading saved session
Created attachment 315152 [details] [review] manager: don't use wayland for autologin if wayland disabled These days we default to using wayland user sessions if the unless greeter isn't wayland. But in the case of automatic login there is no greeter. This commit makes automatic login ignore wayland sessions if wayland is disabled in the config file. This gives us symetry with the greeter case, and provides a way for users to opt out of wayland.
Comment on attachment 315152 [details] [review] manager: don't use wayland for autologin if wayland disabled Attachment 315152 [details] pushed as 65f560a - manager: don't use wayland for autologin if wayland disabled