GNOME Bugzilla – Bug 706420
Support launching wayland sessions
Last modified: 2013-09-09 20:43:10 UTC
Yes, the future is systemd in the session, but gnome-session works, right now, and just fine - provided you insist enough :)
Created attachment 252451 [details] [review] GsmManager: remove obsolete code for talking with GDM These days shutdown and reboot is handled by logind everywhere, no need for this ancient code.
Created attachment 252452 [details] [review] Stop connecting to the X11 server Remove all GTK+ code from the main gnome-session binary (including the two fallback mode dialogs), so that gnome-session can run when X is not available.
Created attachment 252453 [details] [review] fail-whale: don't rely on the x11 GTK backend This way, we can run as a wayland client, in case XWayland crashed.
Created attachment 252454 [details] [review] Add a new autostart phase, DisplayServer, that runs before Initialization This way, the wayland compositor can initialize (and spawn XWayland) before gnome-settings-daemon starts.
Created attachment 252455 [details] [review] Add basic support for running in wayland Add gnome-wayland, a session running gnome-shell-wayland and gnome-settings-daemon.
Review of attachment 252451 [details] [review]: looks mostly okay... feel free to commit after this change: ::: data/gnome-wayland.session.desktop.in.in @@ +1,3 @@ +[GNOME Session] +_Name=GNOME on Wayland +RequiredComponents=gnome-settings-daemon; looks like this file snuck into the wrong commit.
Review of attachment 252452 [details] [review]: ::: gnome-session/main.c @@ +279,3 @@ + if (getenv ("DISPLAY") == NULL) { + /* Not connected to X11, someone else will take care of checking GL */ hmm, aren't we shifting toward DISPLAY staying unset and xtrans using XDG_RUNTIME_DIR/something ?
Review of attachment 252453 [details] [review]: ::: gnome-session/gsm-fail-whale-dialog.c @@ +57,3 @@ + GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); + +#ifdef GDK_WINDOWING_X11 maybe move this up above the declarations to prevent the compiler of warning about unused variables.
Review of attachment 252454 [details] [review]: looks mostly okay. ::: gnome-session/gsm-manager.c @@ +2661,3 @@ GSM_MANAGER_ERROR, GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION, + "Setenv interface is only available during the DisplayServer and Initialization phase"); why did you change this message?
Review of attachment 252455 [details] [review]: Make sure distcheck still works after this.
(In reply to comment #9) > Review of attachment 252454 [details] [review]: > > looks mostly okay. > > ::: gnome-session/gsm-manager.c > @@ +2661,3 @@ > GSM_MANAGER_ERROR, > GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION, > + "Setenv interface is only available during the > DisplayServer and Initialization phase"); > > why did you change this message? Because Setenv becomes available in the DisplayServer and Initialization phases.
Created attachment 252542 [details] [review] GsmManager: don't attempt to restart a wayland compositor There is no point in restarting it, the session is already gone. And we can't show a fail whale either, so just log a message to the journal and die.
Hi, > > ::: gnome-session/gsm-manager.c > > @@ +2661,3 @@ > > GSM_MANAGER_ERROR, > > GSM_MANAGER_ERROR_NOT_IN_INITIALIZATION, > > + "Setenv interface is only available during the > > DisplayServer and Initialization phase"); > > > > why did you change this message? Ahhh, splinter hid the "and Initialization phase" from me.
(In reply to comment #4) > Created an attachment (id=252454) [details] [review] > Add a new autostart phase, DisplayServer, that runs before Initialization > > This way, the wayland compositor can initialize (and spawn XWayland) > before gnome-settings-daemon starts. Bug #706692 adds a new phase EARLY_INITIALIZATION just before INITIALIZATION for gnome-initial-setup-copy-work (see also #704956) to install files in $HOME (so far, it installs dconf, GOA accounts, keyrings). I don't know much about XWayland: does it need to be run after files are installed in $HOME, or does it matter?
Attachment 252542 [details] pushed as e2fb2ef - GsmManager: don't attempt to restart a wayland compositor
Comment on attachment 252455 [details] [review] Add basic support for running in wayland this wasn't actually commited before but is now: