This looks like it might be a duplicate of bug 615549.

I've done some digging and although I'm not sure this will fully resolve
the issue observed, I have found a bug in lightdm.conf which could cause
the behaviour seen...

As Clint intimates in #11, the current 'start on' condition...

    drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1

... is *NOT* valid. What this condition is asking Upstart to do is match
on an event whose first _positional_ environment variable *exactly
matches* the string 'card0' and which also has an environment variable
called 'PRIMARY_DEVICE_FOR_DISPLAY' with value '1'.

However, if you look at /var/log/udev:

$ awk 'BEGIN{RS="";ORS="\n\n"}; /UDEV *\[/ && /PRIMARY_DEVICE_FOR_DISPLAY=1/ { 
print; }' /var/log/udev
UDEV  [34.559987] add      
/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0 (drm)
ACTION=add
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card0
DEVTYPE=drm_minor
MAJOR=226
MINOR=0
PRIMARY_DEVICE_FOR_DISPLAY=1
SEQNUM=2231
SUBSYSTEM=drm
TAGS=:udev-acl:
UDEV_LOG=3
USEC_INITIALIZED=34559916
$

... you'll see that there are no variables that exactly match 'card0'!
The fix is as simple as adding an asterisk to perform a wild-card match:

  drm-device-added *card0 PRIMARY_DEVICE_FOR_DISPLAY=1

However, my preference would to make our intent explicit and say:

  drm-device-added DEVPATH=*card0 PRIMARY_DEVICE_FOR_DISPLAY=1

This would protect against a change to the way the upstart-udev-bridge
handles udev environment variable ordering and is much easier to
understand.

@serge - could you add the missing asterisk and report back?

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/969489

Title:
  lightdm tries (and fails) to start too early?

Status in Upstart:
  New
Status in “lightdm” package in Ubuntu:
  Confirmed

Bug description:
  Sometimes lightdm comes up fine.  Other times it appears to fail.
  x-0.log shows it tried to load 'nv' (rather than 'nvidia' which is
  what actually exists).  When I then log into console and 'start
  lightdm', it comes up fine (on :1).

  I've not had it come up ok today, so I don't know if, when it comes up
  fine, it starts on :0.  No idea if the lightdm.conf needs a change to
  'start on'clause, or if this is just a case of a bad shipped config
  file (for module 'nv').

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: lightdm 1.1.9-0ubuntu1
  ProcVersionSignature: Ubuntu 3.2.0-20.33-generic 3.2.12
  Uname: Linux 3.2.0-20-generic x86_64
  NonfreeKernelModules: nvidia
  ApportVersion: 2.0-0ubuntu1
  Architecture: amd64
  Date: Fri Mar 30 13:40:27 2012
  InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 
(20120323)
  ProcEnviron:
   TERM=xterm
   PATH=(custom, user)
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: lightdm
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/upstart/+bug/969489/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to