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 :)


Chintalagiri Shashank said...

People actually use GDM 2.24 with that kind of regressions? :O

Arky said...

Looking forward to your talk at

Nirbheek said...

@arky: It's not a talk, it's a WorkOut, which means I'll need *you* to make it a success :)

So, that's *my* line; looking forward to seeing _you_ ;)

Nirbheek said...

@chintal: Don't make me say something in public which I'll regret ;)

Anonymous said...

I'm sure the distros would upgrade, but according to GDM's own website 2.20 is the "latest stable." Perhaps you need to have another release?

Anonymous said...

I tried to create my own gdm packet starting from the one already in Debian.

I'm sure I've resolved all the issues so far apart from not getting gdm to start.

It crashes telling me it "could not create display access file: no such file or directory".

Unfortunately I'm no Debian hacker/maintainer and I don't know enough about gdm either. I'd would be really nice to see some progress here, but as far as I've found out there haven't been any efforts to integrate the new gdm in Debian or Ubuntu.