Hi,

I've managed to reproduce a similar issue with KDM. With plymouth enabled, it 
fails to start an X server under certain conditions. During boot the screen 
just flickers, and I get only to a console login prompt.

`journalctl -u kdm' contains the following lines:

-------------------------------------- 8< --------------------------------------
Apr 24 11:02:07 debian kdm[1041]: X server died during startup
Apr 24 11:02:07 debian kdm[1041]: X server for display :0 cannot be started, 
session disabled
-------------------------------------- >8 --------------------------------------

/var/log/Xorg.0.log ends with:

-------------------------------------- 8< --------------------------------------
[    28.887] (II) Module "dri2" already built-in
[    29.022] (EE) NOUVEAU(0): [drm] failed to set drm interface version.
[    29.022] (EE) NOUVEAU(0): [drm] error opening the drm
[    29.022] (EE) NOUVEAU(0): 892: 
[    29.022] (II) UnloadModule: "nouveau"
[    29.022] (EE) Screen(s) found, but none have a usable configuration.
[    29.022] (EE) 
Fatal server error:
[    29.022] (EE) no screens found(EE) 
[    29.022] (EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
[    29.022] (EE) Please also check the log file at "/var/log/Xorg.0.log" for 
additional information.
[    29.022] (EE) 
[    29.024] (EE) Server terminated with error (1). Closing log file.
-------------------------------------- >8 --------------------------------------

Having in mind that everything works fine with no "splash" kernel command line 
option, I assumed that KDM starts an X server too early, when plymouth splash 
screen is still active, and therefor the X server can't access the DRM as it's 
in use by plymouth. Indeed, `systemctl status kdm plymouth-quit' proved that 
kdm 
service was started before plymouth-quit service.

I decided to try to postpone KDM startup until after plymouth quits, so I 
created /etc/systemd/system/kdm.service.d/wait4plymouth.conf with the following 
content:

-------------------------------------- 8< --------------------------------------
[Unit]
Wants=plymouth-quit-wait.service
After=plymouth-quit-wait.service
-------------------------------------- >8 --------------------------------------

Indeed, after that I can't reproduce the issue anymore.

So, it seems to be a services' dependency problem.


-- 
Алексей Шилин

Reply via email to