Boot process question

Hi everyone,

My system is a clean install of openSUSE 42.2 KDE. During the boot process after grub the screen will display a text login choice with blinking yellow cursor for about 20 seconds, after which the system will continue with graphical login. I’ve tried logging in at the text prompt and after a few more seconds the graphical login will continue on anyways.

Any ideas on how to get rid of this text login prompt and speed up my boot process?

Thanks,
3toed

Install “kdm” or “lightdm” (or both). You can install via Yast Software Management.

Then switch to using one of those for your logins (in place of the default “sddm” used by KDE installs).

To switch:
Yast → System → “/etc/sysconfig editor”

and then:

Desktop → Display Manager → DISPLAYMANAGER

I think what you are seeing is due to the slow startup of “sddm”. Either “lightdm” or “kdm” should be faster. Probably “kdm” is the faster of those.

Actually I see similar effect on 42.2 VM with XFCE/lightdm (it is not 20 seconds but I indeed see terminal login first, and it is consistent). This looks like some change in services order which “shifted” GUI startup later (or may be terminal login earlier).

I am not currently seeing it with “gdm”. However, “gdm” is itself slow. But I think it is related to the handover from Plymouth to the DM, and how long before the DM starts an X-session.

@nrickert,

Thanks for the reply and howto. I tried kdm, gdm and lightdm and they all for me exhibited the same behavior so I’m leaving it at sddm. Should I report this as a bug?

Your decision.

Personally, I wouldn’t bother. This is mostly cosmetic, so it isn’t something that I would be concerned about.

Yes you’re right. Hopefully this will be fixed with a future update.

Over the next few years, we will be seeing a migration from Xorg to Wayland. That might fix this problem, but introduce a bunch of new problems.

I found out something. In Yast > System > Services Manager it showed that “sddm” was disabled and inactive - I activated and enabled - rebooted, and viola, no more text log-in, straight to graphical log-in. Both the start-up and shutdown are faster with no text being displayed - just the way I like it.

That’s actually normal. Ordinarily its the display-manager.service that starts up the DM (it will exec the /usr/lib/X11/display-manager script which in turn reads/parses the value stored in /etc/sysconfig/displaymanager)
You can compare the two:

  • /usr/lib/systemd/system/display-manager.service
  • /usr/lib/systemd/system/sddm.service

As Tyler_K wrote, it is normal that sddm.service is disabled, we normally use a generic display-manager.service in openSUSE.

The main difference between the two is that display-manager.service currently quits plymouth without the “–retain-splash” option in the case of sddm, which means that plymouth “disappears” completely and you see the text mode login while sddm starts up.
sddm.service OTOH calls “plymouth --retain-splash”, so plymouth quits but the text mode console still displays the boot splash.

The reason for this is that sddm did have problems in previous versions when plymouth was still running, and enabling the sddm.service did not work at all in openSUSE back then. Might be worth revisiting, I just noticed last weekend that sddm works fine now with “–retain-splash” so we probably should adjust the sddm display-manager script accordingly.

This is specific to sddm though, but you say you had the same “problem” with all other display managers you tried.

Just a thought: do you/did you maybe have the plymouth-quit.service enabled?

systemctl status plymouth-quit.service

This will obviously quit plymouth when it starts, causing the text mode login to be visible.

It’s normally not used/needed in openSUSE, as display-manager.service quits plymouth anyway if necessary (depending on the used display manager).

● plymouth-quit.service - Terminate Plymouth Boot Screen
   Loaded: loaded (/usr/lib/systemd/system/plymouth-quit.service; static; vendor preset: disabled)
   Active: inactive (dead)

I tried KDM, GDM and LightDM - same behavior with all - changed back to SDDM.

I’ve experimented with every DM and WM I can install, and have not seen any difference whenever a DM is used (It’s less noticeable or non-existent when booting icewm or openbox which do not load a DM).

Have seen this since the beginning in LEAP, in early LEAP versions when there was a <very> long pause at the command prompt (ie > 30 seconds) I would experiment with entering credentials but that is ineffective… When the DM Login page loads (assuming you have auto-login disabled), you’ll have to enter credentials again.

I’ve always assumed that the delay is associated with, and that the text login is associated with multiuser.target which of course must be achieved (all parallel processes need to be completed) before proceeding on to load graphical.target.

So, I’ve simply ignored the text login but feel as long as it is displayed it will always be a source of confusion so I assume sending to stdout should be suppressed.

IMO,
TSU