New module proposal: LightDM

I'm proposing LightDM [1] as a replacement for GDM.  However, due to
the young age of the project and the importance in the desktop stack I
don't think it's ready for immediate adoption.  I'd like to go through
the proposal process, encourage feedback, encourage developers to try
it during 3.0 and re-propose it for 3.2.

Why replace GDM?
- There are approximately 50,000 lines of code in GDM compared to
about 5,000 in LightDM (they are both C+gobject based).  This makes it
significantly easier to work on.
- The GDM greeter is slow due to it loading the GNOME session, the
example GTK+ LightDM greeter is very lightweight (so is comparable to
the speed of the old GDM and newer display managers like LXDM).
- The GDM greeter has very limited themeing capabilities.  A
contributor to LightDM (PCMan) was able to quickly write a new greeter
that used GtkBuilder and provided comparable themeing support to the
old GDM.
- While it is technically possible to write an alternate greeter for
GDM, in practise it is too difficult.  LightDM has been designed from
the start to make writing a greeter no harder than a standard X
- All X server users have pretty much the same requirements beyond the
login GUI.  By using LightDM the development effort of maintaining the
display manager can be shared between projects (GNOME, KDE, LXDE,

Once the basics are complete, there are some innovations I'd like to build on:
- Transitions between the greeter and the session (will work with the
GNOME Shell team to make these possible).
- Making the greeter provide authentication for the general desktop
(e.g. for PolicyKit).  The display manager can run X applications that
use different authorization, thus stopping the session applications
from snooping passwords.
- Support for new XDMCP authentication/authorization schemes

The details:
Purpose:  Cross-desktop display manager
Target: desktop
Dependencies: libglib, libpam, libxdmcp, libxcb, libck-connector,
libxklavier, gobject-introspection, libgtk+
Resource Usage: Launchpad for source control and bug tracking [1],
tarballs in public ftp [2] (plan on moving to
Adoption: Not currently used by default anywhere, being proposed for Ubuntu [3]
GNOME-ness: Display manager is cross-desktop, example GTK+ greeter is
fully GNOME compliant.  I would recommend this module is maintained in
the GNOME servers to get all the build and translation support.
3.0 readiness: GTK greeter currently using GTK2, but all other code
uses latest GNOME standards.
License: GPL3


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]