Very slow boot (start of display server) with AMD Cedar / Robson CE [Radeon HD 6370M/7370M]

Hello everybody,

maybe you have some suggestion for a fix or tip for further analyzing the problem.

On one of my laptops (Packard Bell EasyNote TK 85 - brand of Acer), the boot takes really long and it is because the startup of the display server takes 24 seconds (!).
Problem is also present on shutdown - takes very long, also waiting for the display server.

Here is the system info for the laptop:

Operating System: openSUSE Leap 15.4 
KDE Plasma Version: 5.24.4 
KDE Frameworks Version: 5.90.0 
Qt Version: 5.15.2 
Kernel Version: 5.14.21-150400.24.11-default (64-bit) 
Graphics Platform: X11 
Processors: 4 × Intel® Core™ i3 CPU M 380 @ 2.53GHz 
Memory: 7.6 GiB of RAM 
Graphics Processor: AMD CEDAR

The Graphic card is a ATI/AMD Robson CE [Radeon HD 6370M/7370M], which can be found documented here:

https://linux-hardware.org/?id=pci:1002-68e4-1025-0487

Kernel driver used for the graphics is radeon:

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc.  [AMD/ATI] Robson CE [Radeon HD 6370M/7370M] (prog-if 00 [VGA controller]) 
    Subsystem: Acer Incorporated [ALI] Device 0487 
    Flags: bus master, fast devsel, latency 0, IRQ 26 
    Memory at a0000000 (64-bit, prefetchable) [size=256] 
    Memory at b4000000 (64-bit, non-prefetchable) [size=128] 
    I/O ports at 3000 [size=256] 
    Expansion ROM at 000c0000 [disabled] [size=128] 
    Capabilities: <access denied> 
    Kernel driver in use: radeon 
    Kernel modules: radeon

I have reviewed the system logs and starting the display server takes 24 seconds, which is extremely slow:

2022-07-23T**15:18:02**[/size][/size][/size].455603+02:00 localhost sddm[14979]: Display server starting...
2022-07-23T15:18:02.455694+02:00 localhost sddm[14979]: Running: /usr/bin/X -nolisten tcp -auth /run/sddm/{7d233216-d924-4879-8d7b-dc8fbc81f3b5} -background none -noreset -displayfd 17 -seat seat0 vt7
2022-07-23T15:18:02.877648+02:00 localhost display-manager[913]: Starting service sddm..done
2022-07-23T15:18:02.878271+02:00 localhost systemd[1]: Started X Display Manager.
2022-07-23T15:18:02.878973+02:00 localhost systemd[1]: Reached target Graphical Interface.
2022-07-23T15:18:02.881427+02:00 localhost systemd[1]: Starting Record Runlevel Change in UTMP...
2022-07-23T15:18:02.892989+02:00 localhost systemd[1]: systemd-update-utmp-runlevel.service: Deactivated successfully.
2022-07-23T15:18:02.893407+02:00 localhost systemd[1]: Finished Record Runlevel Change in UTMP.
2022-07-23T15:18:12.911051+02:00 localhost systemd[1]: NetworkManager-dispatcher.service: Deactivated successfully.
2022-07-23T15:18:20.021443+02:00 localhost systemd[1]: mandb.service: Deactivated successfully.
2022-07-23T15:18:20.021766+02:00 localhost systemd[1]: Finished Do daily mandb update.
2022-07-23T15:18:20.022287+02:00 localhost systemd[1]: Startup finished in 2.350s (kernel) + 4.022s (initrd) + 31.749s (userspace) = 38.122s.
2022-07-23T15:18:21.871718+02:00 localhost systemd[1]: systemd-hostnamed.service: Deactivated successfully.
2022-07-23T15:18:23.087833+02:00 localhost systemd[1]: systemd-localed.service: Deactivated successfully.
2022-07-23T15:18:26.291567+02:00 localhost sddm[14979]: Setting default cursor
2022-07-23T15:18:26.306819+02:00 localhost sddm[14979]: Running display setup script  "/etc/X11/xdm/Xsetup"
2022-07-23T**15:18:26**.424455+02:00 localhost sddm[14979]: Display server started.

Why could that be?
Can anybody suggest how to analyze what is happening during that time? Or maybe has a solution?

To compare: On another laptop of mine, with 3rd gen i7 and Intel graphics (HD4000), the display server is started in just under one second:

Operating System: openSUSE Leap 15.4
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.2
Kernel Version: 5.14.21-150400.24.11-default (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i7-3520M CPU @ 2.90GHz
Memory: 15.5 GiB of RAM
Graphics Processor: Mesa DRI Intel® HD Graphics 4000
2022-07-23T**16:27:10**.311464+02:00 localhost sddm[1390]: Display server starting...
2022-07-23T16:27:10.311468+02:00 localhost sddm[1390]: Running: /usr/bin/X -nolisten tcp -auth /run/sddm/{c542f6c9-a4bc-4e9b-aa2f-830618d083c4} -background none -noreset -displayfd 17 -seat seat0 vt7
2022-07-23T16:27:10.311473+02:00 localhost bluetoothd[1361]: Admin Policy Set interface registered
2022-07-23T16:27:10.311478+02:00 localhost bluetoothd[1361]: Admin Policy Status interface registered
2022-07-23T16:27:10.311484+02:00 localhost systemd-logind[1053]: Watching system buttons on /dev/input/event6 (Logitech USB Keyboard Consumer Control)
2022-07-23T16:27:10.311494+02:00 localhost systemd-logind[1053]: Watching system buttons on /dev/input/event4 (Logitech USB Keyboard)
2022-07-23T16:27:10.311500+02:00 localhost systemd-logind[1053]: Watching system buttons on /dev/input/event7 (Logitech USB Keyboard System Control)
2022-07-23T16:27:10.311505+02:00 localhost dbus-daemon[993]: [system] Activating via systemd: service name='fi.w1.wpa_supplicant1' unit='wpa_supplicant.service' requested by ':1.8' (uid=0 pid=1196 comm="/usr/sbin/NetworkManager --no-daemon ")
2022-07-23T16:27:10.311527+02:00 localhost systemd[1]: Starting WPA Supplicant daemon...
2022-07-23T16:27:10.311537+02:00 localhost dbus-daemon[993]: [system] Successfully activated service 'fi.w1.wpa_supplicant1'
2022-07-23T16:27:10.311542+02:00 localhost systemd[1]: Started WPA Supplicant daemon.
2022-07-23T16:27:10.311590+02:00 localhost display-manager[1232]: Starting service sddm..done
2022-07-23T16:27:10.311598+02:00 localhost systemd[1]: Started X Display Manager.
2022-07-23T16:27:10.311614+02:00 localhost systemd[1]: Started Postfix Mail Transport Agent.
2022-07-23T16:27:10.311619+02:00 localhost systemd[1]: Started Command Scheduler.
2022-07-23T16:27:10.311623+02:00 localhost cron[1542]: (CRON) STARTUP (1.5.7)
2022-07-23T16:27:10.311632+02:00 localhost cron[1542]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 7% if used.)
2022-07-23T16:27:10.311636+02:00 localhost cron[1542]: (CRON) INFO (running with inotify support)
2022-07-23T16:27:10.311641+02:00 localhost sddm[1390]: Setting default cursor
2022-07-23T16:27:10.311646+02:00 localhost ModemManager[1077]: <info>  [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
2022-07-23T16:27:10.311651+02:00 localhost ModemManager[1077]: <info>  [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0': not supported by any plugin
2022-07-23T16:27:10.311657+02:00 localhost sddm[1390]: Running display setup script  "/etc/X11/xdm/Xsetup"
2022-07-23T**16:27:10**.311672+02:00 localhost sddm[1390]: Display server started.

[/size]

Hi
You need to look at the output from systemd-analyze blame and systemd-analyze critical-chain to see what is running slow, could be just transient maintenance taking place etc…

Hi Malcom,

thanks for the suggestions.

systemd-analyze blame 
**10.058s display-manager.service 
 9.641s plymouth-quit-wait.service **
 7.416s NetworkManager-wait-online.service 
 7.298s dev-ttyS14.device 
 7.298s sys-devices-platform-serial8250-tty-ttyS14.device 
 7.294s sys-devices-platform-serial8250-tty-ttyS11.device 
 7.294s dev-ttyS11.device 
 7.293s dev-ttyS15.device 
 7.293s sys-devices-platform-serial8250-tty-ttyS15.device 
 7.291s dev-ttyS13.device 
 7.291s sys-devices-platform-serial8250-tty-ttyS13.device 
 7.290s sys-devices-platform-serial8250-tty-ttyS16.device 
 7.290s dev-ttyS16.device 
 7.288s dev-ttyS17.device 
 7.288s sys-devices-platform-serial8250-tty-ttyS17.device 
 7.287s dev-ttyS18.device 
 7.287s sys-devices-platform-serial8250-tty-ttyS18.device 
 7.286s sys-devices-platform-serial8250-tty-ttyS20.device 
 7.286s dev-ttyS20.device 
 7.286s sys-devices-platform-serial8250-tty-ttyS1.device 
 7.286s dev-ttyS1.device 
 7.285s dev-ttyS19.device 
 7.285s sys-devices-platform-serial8250-tty-ttyS19.device 
 7.284s dev-ttyS22.device 
 7.284s sys-devices-platform-serial8250-tty-ttyS22.device 
 7.281s sys-devices-platform-serial8250-tty-ttyS0.device 
 7.281s dev-ttyS0.device 
 7.280s sys-devices-platform-serial8250-tty-ttyS2.device 
 7.280s dev-ttyS2.device 
 7.278s dev-ttyS23.device 
 7.278s sys-devices-platform-serial8250-tty-ttyS23.device 
 7.271s sys-devices-platform-serial8250-tty-ttyS26.device 
 7.271s dev-ttyS26.device 
 7.270s dev-ttyS28.device 
 7.270s sys-devices-platform-serial8250-tty-ttyS28.device 
 7.267s sys-devices-platform-serial8250-tty-ttyS27.device 
 7.267s dev-ttyS27.device 
 7.267s dev-ttyS30.device 
 7.267s sys-devices-platform-serial8250-tty-ttyS30.device 
 7.267s sys-devices-platform-serial8250-tty-ttyS29.device 
 7.267s dev-ttyS29.device 
 7.266s sys-devices-platform-serial8250-tty-ttyS4.device 
 7.266s dev-ttyS4.device 
 7.266s sys-devices-platform-serial8250-tty-ttyS21.device 
 7.266s dev-ttyS21.device 
 7.262s sys-devices-platform-serial8250-tty-ttyS6.device 
 7.262s dev-ttyS6.device 
 7.262s sys-devices-platform-serial8250-tty-ttyS3.device 
 7.262s dev-ttyS3.device 
 7.262s sys-devices-platform-serial8250-tty-ttyS8.device 
 7.262s dev-ttyS8.device 
 7.261s dev-ttyS7.device 
 7.261s sys-devices-platform-serial8250-tty-ttyS7.device 
 7.261s sys-devices-platform-serial8250-tty-ttyS25.device 
 7.261s dev-ttyS25.device 
 7.260s dev-ttyS12.device 
 7.260s sys-devices-platform-serial8250-tty-ttyS12.device 
 7.258s dev-ttyS9.device 
 7.258s sys-devices-platform-serial8250-tty-ttyS9.device 
 7.256s sys-devices-platform-serial8250-tty-ttyS5.device 
 7.256s dev-ttyS5.device 
 7.253s sys-devices-platform-serial8250-tty-ttyS24.device 
 7.253s dev-ttyS24.device 
 7.253s sys-devices-platform-serial8250-tty-ttyS31.device 
 7.253s dev-ttyS31.device 
 7.253s sys-devices-platform-serial8250-tty-ttyS10.device 
 7.253s dev-ttyS10.device

systemd-analyze critical-chain 
The time when unit became active or started is printed after the "@" character. 
The time the unit took to start is printed after the "+" character. 

graphical.target @13.972s 
└─**display-manager.service @3.913s +10.058s**
  └─time-sync.target @3.906s 
    └─**chronyd.service @3.783s +122ms**
      └─network.target @3.773s 
        └─**NetworkManager.service @3.701s +71ms**
          └─network-pre.target @3.698s 
            └─**wpa_supplicant.service @4.904s +20ms**
              └─dbus.service @2.546s 
                └─basic.target @2.534s 
                  └─sockets.target @2.534s 
                    └─pcscd.socket @2.534s 
                      └─sysinit.target @2.529s 
                        └─**systemd-update-utmp.service @2.516s +12ms**
                          └─**auditd.service @2.407s +108ms**
                            └─**systemd-tmpfiles-setup.service @2.383s +20ms**
                              └─local-fs.target @2.374s 
                                └─**home.mount @1.865s +508ms**
                                  └─**dev-sda3.device @584542y 2w 2d 20h 1min 46.360s +5.049s**

So we see, that indeed the display manager is the problem.

But why does it need so long for starting up (while on my Intel device it is done in a second)? - I don’t think it is maintenance, because it is slow on every single boot and on every single shutdown.
Always costs around 20 seconds.

Must be some problem with the radeon driver or the script that is run at the startup of the display server???

2022-07-23T15:18:02.455694+02:00 localhost sddm[14979]: Running: /usr/bin/X -nolisten tcp -auth /run/sddm/{7d233216-d924-4879-8d7b-dc8fbc81f3b5} -background none -noreset -displayfd 17 -seat seat0 vt7

Hi
Well it could be plymouth, so you can test this by editing grub and boot and on the line beginning linux or linuxefi add the following after quiet;


plymouth.enable=0

Then press F10 to boot and see if that helps.

If that doesn’t help, then could always look at using the mode setting driver, see https://forums.opensuse.org/showthread.php/541438-AMD-Intel-amp-NVidia-X-graphics-driver-primer

I’m not sure your times are unreasonable. I have an old Core2Duo with a Cedar that isn’t terribly slower overall:

# inxi -CS
System:
  Host: vizio Kernel: 5.14.21-150400.24.11-default arch: x86_64 bits: 64
    Desktop: Trinity v: R14.0.12 Distro: openSUSE **Leap 15.4**
CPU:
  Info: dual core model: Intel Core2 Duo E8400 bits: 64 type: MCP cache:
    L2: 6 MiB
  Speed (MHz): avg: 2000 min/max: 2000/3000 cores: 1: 2000 2: 2000
# inxi -Gaz
Graphics:
  **Device**-1: **AMD Cedar [Radeon HD 5000/6000/7350/8350 Series]**
    vendor: PC Partner / Sapphire **driver: radeon** v: kernel arch: TeraScale 2
    process: TSMC 32-40nm built: 2009-15 pcie: gen: 2 speed: 5 GT/s lanes: 16
    ports: active: HDMI-A-1 empty: DVI-I-1,VGA-1 bus-ID: 01:00.0
    chip-ID: 1002:68f9 class-ID: 0300
  **Display**: x11 server: **X.Org v: 1.20.3 driver: X: loaded: radeon**
    unloaded: fbdev,modesetting,vesa gpu: radeon display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 120 s-size: 406x228mm (15.98x8.98")
    s-diag: 466mm (18.33")
  Monitor-1: HDMI-A-1 mapped: HDMI-0 model: Samsung built: 2009
    res: 1920x1080 hz: 60 dpi: 305 gamma: 1.2 size: 160x90mm (6.3x3.54")
    diag: 184mm (7.2") ratio: 16:9 modes: max: 1920x1080 min: 720x400
  OpenGL:
    **renderer: AMD CEDAR** (DRM 2.50.0 / 5.14.21-150400.24.11-default LLVM 11.0.1)
    v: 3.3 Mesa 21.2.4 compat-v: 3.1 direct render: Yes
# hdparm -t /dev/sda		# Seagate rotating rust 2TB

/dev/sda:
 Timing buffered disk reads: 580 MB in  3.00 seconds = 193.16 MB/sec
# systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

graphical.target @21.258s
└─display-manager.service @19.425s +1.832s
  └─systemd-logind.service @15.683s +3.735s
    └─nss-user-lookup.target @15.669s
      └─nscd.service @13.593s +2.073s
        └─basic.target @13.473s
          └─sockets.target @13.472s
            └─telnet.socket @13.470s
              └─sysinit.target @13.267s
                └─systemd-update-utmp.service @13.232s +35ms
                  └─auditd.service @12.916s +314ms
                    └─systemd-tmpfiles-setup.service @12.329s +585ms
                      └─systemd-journal-flush.service @2.487s +9.840s
                        └─systemd-journald.service @2.348s +137ms
                          └─haveged.service
                            └─systemd-journald.socket
                              └─system.slice
                                └─-.slice

Hi Malcom,

that definetely helped to some degree! Display Server is no longer the bottleneck:

systemd-analyze blame          
7.523s NetworkManager-wait-online.service 
7.338s sys-devices-platform-serial8250-tty-ttyS1.device 
7.338s dev-ttyS1.device 
7.336s dev-ttyS10.device

systemd-analyze critical-chain 
The time when unit became active or started is printed after the "@" character. 
The time the unit took to start is printed after the "+" character. 

graphical.target @11.657s 
└─multi-user.target @11.656s 
  └─**rsyslog.service @11.628s +27ms**
    └─network-online.target @11.623s 
      └─**NetworkManager-wait-online.service @4.099s +7.523s**
        └─**NetworkManager.service @4.031s +63ms**
          └─network-pre.target @4.028s 
            └─**wpa_supplicant.service @5.242s +20ms**
              └─dbus.service @2.884s 
                └─basic.target @2.869s 
                  └─sockets.target @2.869s 
                    └─pcscd.socket @2.869s 
                      └─sysinit.target @2.864s 
                        └─**systemd-update-utmp.service @2.849s +13ms**
                          └─**auditd.service @2.767s +80ms**
                            └─**systemd-tmpfiles-setup.service @2.743s +20ms**
                              └─local-fs.target @2.732s 
                                └─**home.mount @2.079s +653ms**
                                  └─**dev-sda3.device @584542y 2w 2d 20h 1min 46.592s +5.032s**

Thank you very much!!!

Can we also do something about the NetworkManager-wait-online.service?
This seem to be another 7 seconds, that are not neccessary at bootup time. The laptop never is connected to ethernet, so first time that network is available will be after login, when Wifi is connected…

Thank you again!

Hi, thank you also for your input.
Of course I know that the system is old and I cannot expect it to be extremely fast. On the other hand it is equipped with a SSD so the bottleneck for booting is not the HDD and other shortcomings become more obvious.
In this case two things: Waiting for Plymouth and the display server was really unnecessary and you could easily see it during boot time. Secondly, when the laptop was still running Windows 7, there was no gap on boot waiting for the graphic to start, so I always thought there must be an error somewhere.

For concise but still fine grained information use this (forum line limit required omission of some output):

erlangen:~ # journalctl -b -1 -u init.scope  -o short-monotonic --grep 'Start|Stop' --no-pager 
    3.189718] erlangen systemd[1]: Starting Create Volatile Files and Directories... 
    3.195970] erlangen systemd[1]: Starting dracut ask for additional cmdline parameters... 
    3.208943] erlangen systemd[1]: Starting dracut cmdline hook... 
    3.235000] erlangen systemd[1]: Starting dracut pre-udev hook... 
    3.551090] erlangen systemd[1]: Starting Rule-based Manager for Device Events and Files... 
    3.558823] erlangen systemd[1]: Started Rule-based Manager for Device Events and Files. 
    3.559194] erlangen systemd[1]: Starting Coldplug All udev Devices... 
    3.606057] erlangen systemd[1]: Starting dracut initqueue hook... 
    3.606218] erlangen systemd[1]: Started Dispatch Password Requests to Console Directory Watch. 
    4.455926] erlangen systemd[1]: Starting File System Check on /dev/disk/by-uuid/0e58bbe5-eff7-4884-bb5d-a0aac3d8a344... 
    4.518933] erlangen systemd[1]: Starting Reload Configuration from the Real Root... 
    4.601620] erlangen systemd[1]: Starting Cleaning Up and Shutting Down Daemons... 
    4.605139] erlangen systemd[1]: Stopped target Initrd Default Target. 
    4.605178] erlangen systemd[1]: Stopped target Basic System. 
    4.605212] erlangen systemd[1]: Stopped target Initrd Root Device. 
    4.605245] erlangen systemd[1]: Stopped target Initrd /usr File System. 
    4.605278] erlangen systemd[1]: Stopped target Path Units. 
    4.617412] erlangen systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch. 
    4.617468] erlangen systemd[1]: Stopped target Remote File Systems. 
    4.617511] erlangen systemd[1]: Stopped target Preparation for Remote File Systems. 
    4.617552] erlangen systemd[1]: Stopped target Slice Units. 
    4.617593] erlangen systemd[1]: Stopped target Socket Units. 
    4.617635] erlangen systemd[1]: Stopped target System Initialization. 
    4.617676] erlangen systemd[1]: Stopped target Swaps. 
    4.617716] erlangen systemd[1]: Stopped target Timer Units. 
    4.617809] erlangen systemd[1]: Stopped dracut initqueue hook. 
    4.618336] erlangen systemd[1]: Starting Plymouth switch root service... 
    4.618409] erlangen systemd[1]: Stopped Apply Kernel Variables. 
    4.618529] erlangen systemd[1]: Stopped Load Kernel Modules. 
    4.618638] erlangen systemd[1]: Stopped Create Volatile Files and Directories. 
    4.618709] erlangen systemd[1]: Stopped target Local File Systems. 
    4.618774] erlangen systemd[1]: Stopped Coldplug All udev Devices. 
    4.619172] erlangen systemd[1]: Stopping Rule-based Manager for Device Events and Files... 
    4.634162] erlangen systemd[1]: Stopped Rule-based Manager for Device Events and Files. 
    4.634355] erlangen systemd[1]: Stopped dracut pre-udev hook. 
    4.634396] erlangen systemd[1]: Stopped dracut cmdline hook. 
    4.634436] erlangen systemd[1]: Stopped dracut ask for additional cmdline parameters. 
    4.634780] erlangen systemd[1]: Starting Cleanup udev Database... 
    4.634884] erlangen systemd[1]: Stopped Create Static Device Nodes in /dev. 
    4.634907] erlangen systemd[1]: Stopped Create List of Static Device Nodes. 
    4.637868] erlangen systemd[1]: Starting Switch Root... 
    4.959979] erlangen systemd[1]: Starting Apply Kernel Variables for 5.18.11-1-default... 
    4.960735] erlangen systemd[1]: Starting Create Static Device Nodes in /dev... 
    4.962445] erlangen systemd[1]: Starting Apply Kernel Variables... 
    4.968287] erlangen systemd[1]: Starting Rule-based Manager for Device Events and Files... 
    5.000485] erlangen systemd[1]: Started Rule-based Manager for Device Events and Files. 
    5.001171] erlangen systemd[1]: Starting Network Configuration... 
    5.066068] erlangen systemd[1]: Started Network Configuration. 
    5.128263] erlangen systemd[1]: Starting Load AppArmor profiles... 
    5.128721] erlangen systemd[1]: Starting Flush Journal to Persistent Storage... 
    5.129175] erlangen systemd[1]: Starting Load/Save Random Seed... 
    5.370663] erlangen systemd[1]: Starting Tell Plymouth To Write Out Runtime Data... 
    5.371216] erlangen systemd[1]: Starting Create Volatile Files and Directories... 
    5.382635] erlangen systemd[1]: Starting Security Auditing Service... 
    5.383719] erlangen systemd[1]: Starting Network Name Resolution... 
    5.413419] erlangen systemd[1]: Started Security Auditing Service. 
    5.413776] erlangen systemd[1]: Starting Record System Boot/Shutdown in UTMP... 
    5.422338] erlangen systemd[1]: Started Network Name Resolution. 
    5.422463] erlangen systemd[1]: Started Watch /etc/sysconfig/btrfsmaintenance. 
    5.422624] erlangen systemd[1]: Started Watch for changes in CA certificates. 
    5.423114] erlangen systemd[1]: Started CUPS Scheduler. 
    5.423141] erlangen systemd[1]: Started Watch for changes in issue snippets. 
    5.423162] erlangen systemd[1]: Started Start fetchmail. 
    5.423181] erlangen systemd[1]: Started Daily Cleanup of Snapper Snapshots. 
    5.423200] erlangen systemd[1]: Started Daily Cleanup of Temporary Directories. 
    5.423989] erlangen systemd[1]: Started Disable backup HDD. 
    5.424663] erlangen systemd[1]: Starting auditd rules generation... 
    5.425369] erlangen systemd[1]: Starting NTP client/server... 
    5.425767] erlangen systemd[1]: Starting CUPS Scheduler... 
    5.426336] erlangen systemd[1]: Starting D-Bus System Message Bus... 
    5.426758] erlangen systemd[1]: Starting Restore /run/initramfs on shutdown... 
    5.427162] erlangen systemd[1]: Started hd-idle disk spindown service. 
    5.427644] erlangen systemd[1]: Started irqbalance daemon. 
    5.428169] erlangen systemd[1]: Starting Generate issue file for login session... 
    5.428579] erlangen systemd[1]: Starting Apply settings from /etc/sysconfig/keyboard... 
    5.429177] erlangen systemd[1]: Starting Initialize hardware monitoring sensors... 
    5.430847] erlangen systemd[1]: Starting Machine Check Exception Logging Daemon... 
    5.431036] erlangen systemd[1]: Started MiniDLNA is a DLNA/UPnP-AV server software. 
    5.435101] erlangen systemd[1]: Started Start the rsync server daemon. 
    5.435163] erlangen systemd[1]: Starting OpenSSH Daemon... 
    5.436364] erlangen systemd[1]: Starting User Login Management... 
    5.436948] erlangen systemd[1]: Starting Purge old kernels... 
    5.441738] erlangen systemd[1]: Started Machine Check Exception Logging Daemon. 
    5.442873] erlangen systemd[1]: Starting Permit User Sessions... 
    5.445600] erlangen systemd[1]: Started Purge old kernels. 
    5.446511] erlangen systemd[1]: Started D-Bus System Message Bus. 
    5.449359] erlangen systemd[1]: Starting Hold until boot process finishes up... 
    5.455744] erlangen systemd[1]: Started OpenSSH Daemon. 
    5.461516] erlangen systemd[1]: Started User Login Management. 
    5.478138] erlangen systemd[1]: Started NTP client/server. 
    5.478703] erlangen systemd[1]: Started Backup of /home. 
    5.478814] erlangen systemd[1]: Started Backup of RPM database. 
    5.478916] erlangen systemd[1]: Started Backup of /etc/sysconfig. 
    5.479057] erlangen systemd[1]: Started Balance block groups on a btrfs filesystem. 
    5.479169] erlangen systemd[1]: Started Scrub btrfs filesystem, verify block checksums. 
    5.479268] erlangen systemd[1]: Started Check if mainboard battery is Ok. 
    5.479498] erlangen systemd[1]: Started Systemd timer to update the system daily with Zypper. 
    5.479628] erlangen systemd[1]: Started Discard unused blocks once a week. 
    5.479722] erlangen systemd[1]: Started Daily rotation of log files. 
    5.479815] erlangen systemd[1]: Started Daily man-db regeneration. 
    5.479907] erlangen systemd[1]: Started Daily locate database update. 
    5.480679] erlangen systemd[1]: Starting The Apache Webserver... 
    5.481937] erlangen systemd[1]: Starting Postfix Mail Transport Agent... 
    5.499145] erlangen systemd[1]: Started CUPS Scheduler. 
    5.527207] erlangen systemd[1]: Started The Apache Webserver. 
    5.527827] erlangen systemd[1]: Starting X Display Manager... 
    5.528299] erlangen systemd[1]: Started Getty on tty1. 
    5.543370] erlangen systemd[1]: Starting Locale Service... 
    5.565239] erlangen systemd[1]: Started Locale Service. 
    5.740865] erlangen systemd[1]: Started Postfix Mail Transport Agent. 
    5.741607] erlangen systemd[1]: Started Command Scheduler. 
    5.746047] erlangen systemd[1]: Starting DBus interface for snapper... 
    5.749501] erlangen systemd[1]: Started DBus interface for snapper. 
    6.084806] erlangen systemd[1]: Started X Display Manager. 
    6.085003] erlangen systemd[1]: Startup finished in 39.912s (firmware) + 3.711s (loader) + 3.107s (kernel) + 1.620s (initrd) + 1.356s (userspace) = 49.708s. 
    6.477462] erlangen systemd[1]: Starting User Runtime Directory /run/user/477... 
    6.483051] erlangen systemd[1]: Starting User Manager for UID 477... 
    6.573094] erlangen systemd[1]: Started User Manager for UID 477. 
    6.573517] erlangen systemd[1]: Started Session 1 of User sddm. 
    6.841655] erlangen systemd[1]: Starting Authorization Manager... 
    6.842118] erlangen systemd[1]: Starting Disk Manager... 
    6.849224] erlangen systemd[1]: Started Authorization Manager. 
    6.951997] erlangen systemd[1]: Started Disk Manager. 
    6.953742] erlangen systemd[1]: Starting Daemon for power management... 
    6.979376] erlangen systemd[1]: Started Daemon for power management. 
.......................
[45241.278769] erlangen systemd[1]: Starting Dist Upgrade... 
[45252.280320] erlangen systemd[1]: Started Dist Upgrade. 
[45271.943005] erlangen systemd[1]: Started Dist Upgrade, apply download. 
[45272.695877] erlangen systemd[1]: Starting DBus interface for snapper... 
[45272.698636] erlangen systemd[1]: Started DBus interface for snapper. 
[45276.274415] erlangen systemd[1]: Starting Generate issue file for login session... 
[45288.104413] erlangen systemd[1]: Stopping Session 3 of User karl... 
.......................
[45288.673701] erlangen systemd[1]: Stopped D-Bus System Message Bus. 
[45289.089901] erlangen systemd[1]: Stopped X Display Manager. 
[45289.090630] erlangen systemd[1]: Stopping The Apache Webserver... 
[45289.090999] erlangen systemd[1]: Stopping User Login Management... 
[45289.091637] erlangen systemd[1]: Stopping Permit User Sessions... 
[45289.095866] erlangen systemd[1]: Stopped Permit User Sessions. 
[45289.134554] erlangen systemd[1]: Stopped User Login Management. 
[45289.150001] erlangen systemd[1]: Stopped The Apache Webserver. 
[45289.150159] erlangen systemd[1]: Stopped target Remote File Systems. 
[45289.150218] erlangen systemd[1]: Stopped target System Time Synchronized. 
[45289.150269] erlangen systemd[1]: Stopped target System Time Set. 
[45289.150311] erlangen systemd[1]: Stopping NTP client/server... 
[45289.151436] erlangen systemd[1]: Stopped NTP client/server. 
[45289.151595] erlangen systemd[1]: Stopped target Basic System. 
[45289.151639] erlangen systemd[1]: Stopped target Network. 
[45289.151675] erlangen systemd[1]: Stopped target Host and Network Name Lookups. 
[45289.151725] erlangen systemd[1]: Stopped target Path Units. 
[45289.157651] erlangen systemd[1]: Stopped Watch /etc/sysconfig/btrfsmaintenance. 
[45289.197485] erlangen systemd[1]: Stopped Watch for changes in CA certificates. 
[45289.197638] erlangen systemd[1]: Stopped CUPS Scheduler. 
[45289.213459] erlangen systemd[1]: Stopped Watch for changes in issue snippets. 
[45289.213535] erlangen systemd[1]: Stopped target Slice Units. 
[45289.213762] erlangen systemd[1]: Stopped target Socket Units. 
[45289.214016] erlangen systemd[1]: Stopped target System Initialization. 
[45289.214122] erlangen systemd[1]: Stopped target Local Encrypted Volumes. 
[45289.221530] erlangen systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch. 
[45289.221615] erlangen systemd[1]: Stopped target Local Integrity Protected Volumes. 
[45289.221657] erlangen systemd[1]: Stopped target Local Verity Protected Volumes. 
[45289.221709] erlangen systemd[1]: Stopping Network Configuration... 
[45289.230972] erlangen systemd[1]: Stopping Network Name Resolution... 
[45289.231197] erlangen systemd[1]: Stopping Record System Boot/Shutdown in UTMP... 
[45289.231298] erlangen systemd[1]: Stopped Network Configuration. 
[45289.231450] erlangen systemd[1]: Stopped Apply Kernel Variables. 
[45289.231514] erlangen systemd[1]: Stopped Apply Kernel Variables for 5.18.11-1-default. 
[45289.231589] erlangen systemd[1]: Stopped Load Kernel Modules. 
[45289.231653] erlangen systemd[1]: Stopped Record System Boot/Shutdown in UTMP. 
[45289.231682] erlangen systemd[1]: Stopping Security Auditing Service... 
[45289.231752] erlangen systemd[1]: Stopped Network Name Resolution. 
[45289.301802] erlangen systemd[1]: Stopped Security Auditing Service. 
[45289.302020] erlangen systemd[1]: Stopped Create Volatile Files and Directories. 
[45289.302059] erlangen systemd[1]: Stopped target Local File Systems. 
[45289.308561] erlangen systemd[1]: Stopping Flush Journal to Persistent Storage... 
[45289.312814] erlangen systemd[1]: Stopped target Swaps. 
erlangen:~ #

Hi
So you can fire up YaST2 bootloader and add to grub kernel options for it to be permanent, or (what I do) is remove all the ply* and libply* packages, lock and then rebuild initrd with mkinitrd.

For NetworkManager, edit the /etc/sysconfig/network/config, I change the NM_ONLINE_TIMEOUT to 0 and WAIT_FOR_INTERFACES to 1…

Wouldn’t disabling NetworkManager-wait-online.service help? It works for systemd-networkd:

**erlangen:~ #** systemctl status systemd-networkd-wait-online.service  
○ systemd-networkd-wait-online.service - Wait for Network to be Configured 
     Loaded: loaded (/usr/lib/systemd/system/systemd-networkd-wait-online.service; **disabled**; vendor preset: **disabled**) 
     Active: inactive (dead) 
       Docs: man:systemd-networkd-wait-online.service(8) 
**erlangen:~ #**

**erlangen:~ #** systemd-analyze critical-chain network-online.target   
The time when unit became active or started is printed after the "@" character. 
The time the unit took to start is printed after the "+" character. 

network-online.target @626ms 
└─network.target @626ms 
  └─**systemd-resolved.service @571ms +54ms**
    └─**systemd-tmpfiles-setup.service @560ms +8ms**
      └─local-fs.target @559ms 
        └─**home\x2dSSD.mount @519ms +40ms**
          └─**dev-sdc1.device @584542y 2w 2d 20h 1min 48.712s +1.357s**
**erlangen:~ #**

Hi
Might do, here I see;


 systemd-analyze blame | grep Network
   32ms NetworkManager.service
    4ms NetworkManager-wait-online.service

I’m bringing up 3 interfaces (2 are bridges) with NM and have another 2 unmanaged/disconnected by NM for vagrant machines.

Hi Malcom and Karl,

thanks for the input.
I permanently deactivated Plymouth and the NetworkManager-wait-online.service

So for now that at least removed the showstoppers from the critical chain.

[FONT=monospace]systemd-analyze critical-chain                          
The time when unit became active or started is printed after the "@" character. 
The time the unit took to start is printed after the "+" character. 

graphical.target @5.513s 
└─multi-user.target @5.513s 
  └─cron.service @5.511s 
    └─**postfix.service @4.153s +1.355s** 
      └─time-sync.target @4.135s 
        └─**chronyd.service @3.950s +184ms** 
          └─network.target @3.946s 
            └─**NetworkManager.service @3.880s +65ms** 
              └─network-pre.target @3.878s 
                └─**wpa_supplicant.service @5.115s +25ms** 
                  └─dbus.service @2.804s 
                    └─basic.target @2.791s 
                      └─sockets.target @2.791s 
                        └─pcscd.socket @2.791s 
                          └─sysinit.target @2.787s 
                            └─**systemd-update-utmp.service @2.777s +10ms** 
                              └─**auditd.service @2.681s +94ms** 
                                └─**systemd-tmpfiles-setup.service @2.651s +24ms** 
                                  └─local-fs.target @2.643s 
                                    └─**home.mount @2.128s +514ms** 
                                      └─**dev-sda3.device @584542y 2w 2d 20h 1min 46.746s +4.930s**
 


To be honest, it does not feel THAT fast as systemd claims, but the boot is a little faster now indeed.
So I think that is the most I can do for the moment.

Thanks again!
[/FONT]

Thanks for the feedback. Total startup time since transferring control to the kernel is kernel + initrd + userspace:

**6700K:~ #** journalctl -q -g userspace -o short-monotonic --no-hostname --no-pager
    4.470250] systemd[1]: Startup finished in 712ms (kernel) + 2.146s (initrd) + 1.611s (userspace) = 4.470s. 
    4.521389] systemd[1]: Startup finished in 713ms (kernel) + 2.061s (initrd) + 1.746s (userspace) = 4.521s. 
    4.715085] systemd[1]: Startup finished in 721ms (kernel) + 2.195s (initrd) + 1.797s (userspace) = 4.715s. 
    4.628671] systemd[1]: Startup finished in 703ms (kernel) + 2.101s (initrd) + 1.824s (userspace) = 4.628s. 
    7.715337] systemd[1]: Startup finished in 708ms (kernel) + 2.110s (initrd) + 4.896s (userspace) = 7.715s. 
    7.221349] systemd[1]: Startup finished in 703ms (kernel) + 2.114s (initrd) + 4.402s (userspace) = 7.221s. 
    4.890376] systemd[1]: Startup finished in 721ms (kernel) + 2.225s (initrd) + 1.944s (userspace) = 4.890s. 
    4.458704] systemd[1]: Startup finished in 706ms (kernel) + 2.059s (initrd) + 1.692s (userspace) = 4.458s. 
    4.987347] systemd[1]: Startup finished in 692ms (kernel) + 2.113s (initrd) + 2.180s (userspace) = 4.987s. 
    4.612995] systemd[1]: Startup finished in 707ms (kernel) + 2.117s (initrd) + 1.787s (userspace) = 4.612s. 
    7.804059] systemd[1]: Startup finished in 743ms (kernel) + 2.308s (initrd) + 4.752s (userspace) = 7.803s. 
    6.931482] systemd[1]: Startup finished in 746ms (kernel) + 2.343s (initrd) + 3.841s (userspace) = 6.931s. 
    7.730502] systemd[1]: Startup finished in 751ms (kernel) + 2.388s (initrd) + 4.590s (userspace) = 7.730s. 
    8.415996] systemd[1]: Startup finished in 772ms (kernel) + 2.386s (initrd) + 5.256s (userspace) = 8.415s. 
    5.934903] systemd[1]: Startup finished in 763ms (kernel) + 2.338s (initrd) + 2.832s (userspace) = 5.934s. 
    5.808252] systemd[1]: Startup finished in 762ms (kernel) + 2.286s (initrd) + 2.760s (userspace) = 5.808s. 
    5.608639] systemd[1]: Startup finished in 754ms (kernel) + 2.317s (initrd) + 2.535s (userspace) = 5.608s. 
    5.641640] systemd[1]: Startup finished in 747ms (kernel) + 2.410s (initrd) + 2.484s (userspace) = 5.641s. 
    5.790338] systemd[1]: Startup finished in 761ms (kernel) + 2.360s (initrd) + 2.668s (userspace) = 5.790s. 
**6700K:~ #**

In 15.3, whether as root or ordinary user, that returns nothing here, though journal is persistent.

I booted host 6700K into Leap 15.4 (was 15.3 before, journal is still available) and got some extra lines. Changed the search string and retried. Unedited copy and paste:

[FONT=monospace]**Leap-15-4:~ #** journalctl -q -g '\(userspace\)' -o short-monotonic --no-hostname --no-pager|grep -v loader 
   39.623225] systemd[1]: Startup finished in 1.348s (kernel) + 2.527s (initrd) + 35.747s (userspace) = 39.623s. 
    6.542560] systemd[1]: Startup finished in 719ms (kernel) + 2.725s (initrd) + 3.097s (userspace) = 6.542s. 
    5.738395] systemd[1]: Startup finished in 748ms (kernel) + 2.806s (initrd) + 2.182s (userspace) = 5.738s. 
    9.295415] systemd[1]: Startup finished in 766ms (kernel) + 3.271s (initrd) + 5.257s (userspace) = 9.295s. 
**Leap-15-4:~ # **[/FONT]