Friday, October 31, 2008

GDM 2.24 aka SMB (Shoot Me Bloody)

That's the name of my proposed WorkOut for FOSS.IN/2008.

What is it about?
It's about getting GDM 2.24 in good enough shape to be considered for adoption by Ubuntu, Gentoo, Mandriva, Debian, *BSD; and not just Fedora and Foresight.

What's wrong with GDM 2.24?
Strictly speaking, there's nothing *wrong* with it. It works flawlessly on my system (except for the daemonisation bug/regression, which I had to patch up manually). I've been using it as my primary display manager since 2.23.1, and it has improved to the point of bug-free-ness.

However, there are reasons why most distros are shipping the older 2.20* series GDM instead. The aim of this WorkOut is to make inroads into fixing those problems.

That's all fine, but what *exactly* is wrong with GDM 2.24?
Oh, right. I should impose a hand-waving embargo on myself ;p

History: Sometime around the GNOME 2.18 release cycle, the GDM developers decided that it was high-time someone fixed all the problems with GDM and rewrote it from scratch. For this reason, a rewrite of GDM was started; aiming for the 2.22 release cycle.

However, during 2.22 cycle, GDM 2.20 was shipped due to several regressions. When GDM 2.24 was proposed, it caused intense debates involving the release team. However, it was included since the feature regressions were deemed minor enough.

Some of the regressions are listed below:
  • Lack of Themeing support: The architecture of the new GDM is very different from that of the old GDM. And hence, there is no way to "port" the older themes to the newer GDM, and there is currently no inbuilt support for themeing either.
  • No `gdmsetup`: The older gdmsetup had several security bugs, and hence was not ported to the new GDM. The configuration file is still the same however, so this is not a really large regression since there's no theming support anyway.
  • No XDMCP Chooser in the login screen: This is quite self-explanatory
  • No support for timed-logins: This is being worked on actively in-trunk
  • No support for backends other than PAM: This means that distributions like Slackware, *BSD, etc cannot use GDM 2.24

The aim of this WorkOut is to fix the above listed regressions, and some of the other regression bugs, TODOs, Visual Glitches, etc. And maybe even add some new features ;)

Details about the How, and When will be posted soon. Stay tuned!

~Nirbheek, hoping to see you during the discussions and :)