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.
--
Алексей Шилин