GNOME Bugzilla – Bug 563642
Add PHASE_DAEMON
Last modified: 2021-06-14 18:20:56 UTC
I suggest a new phase be added after PHASE_APPLICATION and before PHASE_RUNNING. This phase is for running applications that do not immediately draw to the screen. Things that show a notification area icon only when an event happens (say, you print something) can go into this phase. The idea is to first start those applications that draw something to the desktop. Transition from application phase to daemon phase doesn't need to wait for clients to register.
Not a bad idea. (Do we have evidence that this is actually a problem now though? ie, that it causes user-visible slowdown.) I don't like the name though; when I first saw the bug I was thinking "we already have that, it's PHASE_INITIALIZATION". Maybe DAEMON_APPLICATION? This wouldn't cause any backward-compatibility issues, because gnome-session 2.26 considers any unrecognized phase name to be the same as "Application".
In my profiling, my login time is down to 5.5 seconds. If I remove sealert and a few others that don't immediately show anything, I can get down to 3.5. Though, for that to work PHASE_APPLICATION must delay a bit before going to the new phase, otherwise they still compete. Incidentally, all the ones I have in mind are exactly those that do not register themselves. So, maybe just doing a 10 second timeout from PHASE_APPLICATION is fine.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version of gnome-session, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-session/-/issues/ Thank you for your understanding and your help.