FasterGnomeStartup

Summary

Identify what takes the gnome session so long to start, streamline it down and get from gdm to desktop so fast we don't need a splash screen.

Several people have talked about replacing gnome-session with a tiny startkde-alike script. This is not that spec.

This is a rather deep analysis: http://www.gnome.org/~lcolitti/gnome-startup/analysis/

Rationale

GNOME startup takes a while. This bites.

Use cases

  • Mary uses GNOME.
  • John uses GNOME on his laptop, where low start-up speeds are important.
  • Fred has recently moved from Windows, and is shocked at how much slower Ubuntu is than Windows to boot.

Scope

  • gnome-session code.
  • xrdb/cpp relationship.
  • Application and icon packaging and interaction with gconf/GTK caches.
  • fontconfig and pango codebase.

Design

Take a multi-pronged approach and just attack the problem on many fronts for many small wins. Most of this has already been done by SoC, Opened Hand, and a few random bored people.

Implementation

  • Make xrdb use mcpp by default for mad startup victory. (DanielStone, done and uploaded)

  • Pull new gnome-session from upstream, incorporating SoC code drops for various optimisations -- total a couple of seconds -- including lazy screensaver loading. (SebastienBacher) (Done)

  • Look at using dh_gconf for flat gconf automerged stuff for awesome 7s startup win. There is an upstream patch to make gconf use one file instead of a pile of the small files: http://bugzilla.gnome.org/show_bug.cgi?id=316672. This will probably be done upstream for GNOME 2.14. If that's not done upstream the Debian GNOME Team has planned to do this change before uploading GNOME 2.12 to unstable: http://lists.debian.org/debian-gtk-gnome/2005/10/msg00093.html, we will work on them to get that before feature freeze. (SebastienBacher) (Done)

  • Possibly new Pango stuff from Behdad and otaylor to incorporate the flat cache. (Done)
  • Fix GTK icon caching by making all packages touch /usr/share/icons in postinst to regenerate cache, instead of having to scan all icons underneath that hierachy. (Not for dapper)
  • Maybe pull down new upstream fontconfig with a proper cache? (Not for dapper)

Code

Data preservation and migration

  • The gconf merging patch breaks the compatibility with GNOME 2.4 (this version doesn't know about the merged file and just don't get the modifications so). This is only an issue if you use the share your home directory with a GNOME 2.4 setup, which is not likely to happen since no distribution ship that version nowadays.

Outstanding issues

  • The GTK icon caching has issues for the moment, we will work on that with Debian
  • The new fontconfig 2.4 with mmap-cache is beeing worked upstream for GNOME 2.14. That would be nice to ship, but maybe out of the range of this spec. Is that kind of change we want for dapper?

BoF agenda and discussion

  • The GNOME page mentions a libc patch to read the entire library once: http://www.gnome.org/~lcolitti/gnome-startup/glibc-2.3.5-readahead.diff, we are not going to do this.

  • Wouldn't it be smart to load everything GNOME needs in startup (I'm referring to lazy screensaver) so that GNOME wouldn't be soon like Windows which takes another 40 seconds after the desktop opens for a user to actually be able to do something as the cpu is loaded some startup-related things?


CategorySpec

FasterGnomeStartup (last edited 2008-08-06 16:31:06 by localhost)