Comment 98 for bug 491483

Revision history for this message
eval- (eval-) wrote :

Xubuntu 9.10 user with ONLY gdm & xfce installed, and 6hrs of his life he will never get back. Rant follows, solution at end:

Boy did this ruin and waste my entire day. I had to reboot to get ALSA backports because the mic on my 3810T is broken with karmic, and actually even with backports it's still broken when using pulseaudio, but fine if I kill pulse. I figured I could get rid of the hideous gdm (non-)theme on my Xubuntu in the process. Unfortunately all the gdm 'theme' changing HOWTOs (by which they really just mean BG or icons) relied on gnome-appearance-properties from gnome-control-center, which would add about 120mb of crap an XFCE user on an SSD neither desires nor has the space for. And the one laudable attempt to spare users the pain of this gdm regression (https://launchpad.net/gdm2setup) failed to change the gdm BG, only xsplash's. I digress. After an hour wasted, I decided to downgrade to gdm-2.20 to get some themes. Mistake!

Fine, /usr/bin/X11R6 no longer exists and someone forgot to fix gdm.conf before putting this in the repositories. No big deal. Reboot. Blank screen. No access to any VTs (tty1-6). Can boot in single-user, and pull S30gdm out of rc2.d. Oh wait, why are those scripts there? No changes seem to have any effect. Another hour disappears. Finally I blindly: log into a blank console, configure networking, add routes, start sshd, and use a colleague's computer to access my machine.
ps -ef ... failsafeXServer? WTF is this? Now the painful discovery of this nightmare called 'upstart' (I should've known something was fishy when Ubuntu lacked an inittab) Adorably, failsafeXServer is referred to as 'bulletproof-X' in /etc/init/failsafe-x.conf. Hah! Not for Intel chipsets. Fortunately this allowed me to find this thread, and Kevin Christmas's blessed post (#30) about hacking 'vesa' to 'intel' in xorg.conf.failsafe.

Finally I can boot into some sort of "low graphics mode," and I begin to feel at home in this thread. So, why isn't it booting gdm?? Oh, it's checking for a /etc/X11/default-display-manager, which I don't have... maybe that'll fix it. Nope. OK I'll just comment that out of init/gdm.conf. Still no go. Wait, what on earth is "gdm-binary??"

So basically gdm-2.20 is broken in these ways
a) Refers to /usr/bin/X11R6 in /etc/gdm/gdm.conf

stale /etc/init/gdm.conf depends on:
b) default-display-manager
c) gdm-binary

...which don't exist... and this was complicated by the broken 'vesa' driver on intel chipsets.

WHAT WORKED:
Creating /etc/X11/default-display-manager with "/usr/sbin/gdm"
and
Changing 'gdm-binary' to '/usr/sbin/gdm' in /etc/init/gdm.conf.

WHAT HELPED:
'vesa' to 'intel' in /etc/X11/xorg.conf.failsafe

Still confused: should gdm be run through the init scripts (S30gdm) or via upstart? Why do both exist? There seems to be a mix and match of daemons that start through one or the other... which feels like anything but clean design. Can someone explain, or correct me?

PS. Why is this a 'low' priority: https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/498732
And why is that bug in gdm and not gdm-2.20? Is the broken init/gdm.conf left over from gdm, or did it come with gdm-2.20?