Stuck at Plymouth splash when booting with two displays

Briefly description:

  1. Installed latest XFCE Manjaro.
  2. Boot stuck at Plymouth splash when 2 displays active at boot sequence.
  3. Switch off the second display for the boot sequence leads to successful boot.
  4. Switch on the second monitor when boot sequence finished e.g at LightDM login sreen or later works fine.
  5. Problem is 100% reproducible.
    • boot with one display → always successful
    • boot with two displays → always stuck at Plymouth splash
  6. When stucked no keys as F12 or ESC do anything.
  7. Try to get to TTY by Ctrl+Alt+F6 freezes animation but not show anything else. Animation runs again after Ctrl+Alt+F1.

Actual workaround

Removed Plymouth by following the guide from the Manjaro Wiki Plymouth entry.

  1. Deactivate bootsplash by removing the splash kernel parameter by editing
    /etc/default/grub entry GRUB_CMDLINE_LINUX_DEFAULT
    from

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor resume=UUID=f0e3fca8-b348-4dc6-a61a-a335de4139c2 udev.log_priority=3"
    

    to

    GRUB_CMDLINE_LINUX_DEFAULT="apparmor=1 security=apparmor resume=UUID=f0e3fca8-b348-4dc6-a61a-a335de4139c2 udev.log_priority=3"
    

    and updated grub by sudo update-grub command

    • deleting the quite parameter aswell is optinal depending if you want to see the logs at sartup or prefer a blacksceen
  2. Released plymouth HOOK by editing cat /etc/mkinitcpio.conf
    from

    HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth resume filesystems"
    

    to

    HOOKS="base udev autodetect modconf block keyboard keymap consolefont resume filesystems"
    

    and regenerate the initramfs by sudo mkinitcpio -P command

  3. Removed plymouth and the related manjaro theme by sudo pacman -Rsn plymouth plymouth-theme-manjaro command

This leads to successful boot independent from the number of displays. Obviously without a boot animation.

Tryed with no success

  1. Downgraded Kernel to actual LTS version 6.1.55-1

  2. Added delay of 5s to /etc/plymouth/plymouthd.conf

    edited plymouthd.conf
    # Distribution defaults. Changes to this file will get overwritten during
    # upgrades.
    [Daemon]
    Theme=manjaro
    ShowDelay=5
    DeviceTimeout=8
    

    and regenerate the initramfs by sudo mkinitcpio -P command.
    This actually leads to a succsessfull boot but just because the animation never appears due to the delay. This is not a sensible solution

Assumption

Since the displays work fine besides the described scenario I think it should have something to do with Plymouth. While searching for similar problems, I found an older post which seems related but in Ubunto context. But as I’m not a developer it is just an assumption.

Comment with overview from the link above

Daniel van Vugt @vanvugt · 3 years ago

I’ve tracked most of the problem down:

  • The login screen randomly fails to appear when 2 monitors are present…
  • because gdm’s Xorg process can’t get DRM mastership and fails to start
  • because gdm’s gnome-shell process (Wayland) can’t get DRM mastership and fails to start
  • because plymouthd still holds DRM mastership
  • because gdm has never executed plymouth deactivate
  • because gdm thinks plymouthd is not running
  • because gdm’s plymouth --ping command randomly fails, returning exit code 1 even though plymouthd is running before and after that
  • because ply_event_loop_run returns 1
  • because…?

This one is hard to debug because inserting any additional debug logging before the problem happens seems to slow it down to the point of preventing the problem from happening. It’s a racey Heisenbug.

Looks like it might just be the 2 second ping timeout expiring on those random boots when plymouth is busy dealing with udev events at the same moment. My logs seem to agree with that hypothesis.

Update: Confirmed! It’s just the plymouth ping timeout

My system Information and logs

System

inxi -v7azy
$ inxi -v7azy
System:
  Kernel: 6.1.55-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-6.1-x86_64
    root=UUID=fabee633-ec81-4df7-9576-2966aa497d1f rw rootflags=subvol=@ quiet
    splash apparmor=1 security=apparmor
    resume=UUID=f0e3fca8-b348-4dc6-a61a-a335de4139c2 udev.log_priority=3
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: B350 PC MATE (MS-7A34) v: 2.0
    serial: <superuser required> UEFI: American Megatrends LLC. v: A.N6
    date: 05/17/2023
Battery:
  Message: No system battery data found. Is one present?
Memory:
  System RAM: total: 16 GiB note: est. available: 13.57 GiB
    used: 3.05 GiB (22.5%)
  RAM Report: permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: AMD Ryzen 3 2200G with Radeon Vega Graphics bits: 64 type: MCP
    arch: Zen level: v3 note: check built: 2017-19 process: GF 14nm
    family: 0x17 (23) model-id: 0x11 (17) stepping: 0 microcode: 0x8101016
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 384 KiB
    desc: d-4x32 KiB; i-4x64 KiB L2: 2 MiB desc: 4x512 KiB L3: 4 MiB
    desc: 1x4 MiB
  Speed (MHz): avg: 1701 high: 2068 min/max: 1600/3500 boost: enabled
    scaling: driver: acpi-cpufreq governor: schedutil cores: 1: 1422 2: 1716
    3: 1600 4: 2068 bogomips: 27957
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1
    bmi2 bpext clflush clflushopt clzero cmov cmp_legacy constant_tsc cpb
    cpuid cr8_legacy cx16 cx8 de decodeassists extapic extd_apicid f16c
    flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate ibpb irperf
    lahf_lm lbrv lm mca mce misalignsse mmx mmxext monitor movbe msr mtrr
    mwaitx nonstop_tsc nopl npt nrip_save nx osvw overflow_recov pae pat
    pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_llc perfctr_nb
    pfthreshold pge pni popcnt pse pse36 rapl rdrand rdseed rdtscp rep_good
    sep sev sev_es sha_ni skinit smap smca smep ssbd sse sse2 sse4_1 sse4_2
    sse4a ssse3 succor svm svm_lock syscall tce topoext tsc tsc_scale
    v_vmsave_vmload vgif vmcb_clean vme vmmcall wdt xgetbv1 xsave xsavec
    xsaveerptr xsaveopt
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed mitigation: untrained return thunk; SMT disabled
  Type: spec_rstack_overflow mitigation: SMT disabled
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, STIBP:
    disabled, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: AMD Raven Ridge [Radeon Vega Series / Radeon Mobile Series]
    driver: amdgpu v: kernel arch: GCN-5 code: Vega process: GF 14nm
    built: 2017-20 pcie: gen: 3 speed: 8 GT/s lanes: 16 ports:
    active: HDMI-A-1,HDMI-A-2 empty: DP-1,DVI-D-1 bus-ID: 30:00.0
    chip-ID: 1002:15dd class-ID: 0300 temp: 27.0 C
  Display: x11 server: X.org v: 1.21.1.8 compositor: xfwm v: 4.18.0 driver:
    X: loaded: amdgpu unloaded: modesetting alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 3840x1200 s-size: <missing: xdpyinfo>
  Monitor-1: HDMI-A-1 mapped: HDMI-A-0 pos: primary,right
    model: Lenovo LEN T24d-10 serial: <filter> built: 2019 res: 1920x1200 hz: 60
    dpi: 94 gamma: 1.2 size: 518x324mm (20.39x12.76") diag: 611mm (24.1")
    ratio: 16:10 modes: max: 1920x1200 min: 720x400
  Monitor-2: HDMI-A-2 mapped: HDMI-A-1 pos: left model: Lenovo LEN T24d-10
    serial: <filter> built: 2019 res: 1920x1200 hz: 60 dpi: 94 gamma: 1.2
    size: 518x324mm (20.39x12.76") diag: 611mm (24.1") ratio: 16:10 modes:
    max: 1920x1200 min: 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi x11:
    drv: radeonsi inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon Vega 8 Graphics (raven
    LLVM 16.0.6 DRM 3.49 6.1.55-1-MANJARO) device-ID: 1002:15dd
    memory: 1.95 GiB unified: no
Audio:
  Device-1: AMD Raven/Raven2/Fenghuang HDMI/DP Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 30:00.1 chip-ID: 1002:15de class-ID: 0403
  Device-2: AMD Family 17h/19h HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 30:00.6 chip-ID: 1022:15e3 class-ID: 0403
  API: ALSA v: k6.1.55-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 0.3.81 status: off tools: pw-cli
  Server-3: PulseAudio v: 16.1 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl,pavucontrol
Odd number of elements in hash assignment at /usr/bin/inxi line 2714.
Use of uninitialized value in list assignment at /usr/bin/inxi line 2714.
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 23:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp35s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 8.65 TiB used: 2.49 TiB (28.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung
    model: SSD 970 EVO Plus 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 2B2QEXM7 temp: 34.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST4000DM004-2U9104
    size: 3.64 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 5400 serial: <filter> fw-rev: 0001 scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD40EZRX-00SPEB0 size: 3.64 TiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: HDD rpm: 5400 serial: <filter>
    fw-rev: 0A80 scheme: GPT
  ID-4: /dev/sdc maj-min: 8:32 vendor: Intenso model: SSD Sata III
    size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 6A0 scheme: GPT
  Optical-1: /dev/sr0 vendor: HL-DT-ST model: DVD-RAM GH22NS30 rev: 1.01
    dev-links: cdrom
  Features: speed: 48 multisession: yes audio: yes dvd: yes
    rw: cd-r,cd-rw,dvd-r,dvd-ram state: running
Partition:
  ID-1: / raw-size: 916.29 GiB size: 916.29 GiB (100.00%)
    used: 108.42 GiB (11.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
    label: N/A uuid: fabee633-ec81-4df7-9576-2966aa497d1f
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 25.9 MiB (8.6%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 label: N/A
    uuid: 777A-A4C9
  ID-3: /home raw-size: 916.29 GiB size: 916.29 GiB (100.00%)
    used: 108.42 GiB (11.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
    label: N/A uuid: fabee633-ec81-4df7-9576-2966aa497d1f
  ID-4: /home/<filter>/Documents/01_Doc_Archive raw-size: 3.64 TiB
    size: 3.64 TiB (100.00%) used: 2.38 TiB (65.5%) fs: btrfs dev: /dev/sda1
    maj-min: 8:1 label: HDD_RAID1 uuid: dea5a2cc-9b40-4d2c-b0d4-ab53c8c2ebcf
  ID-5: /home/<filter>/Music raw-size: 3.64 TiB size: 3.64 TiB (100.00%)
    used: 2.38 TiB (65.5%) fs: btrfs dev: /dev/sda1 maj-min: 8:1 label: HDD_RAID1
    uuid: dea5a2cc-9b40-4d2c-b0d4-ab53c8c2ebcf
  ID-6: /home/<filter>/Pictures/01_Pic_Archive raw-size: 3.64 TiB
    size: 3.64 TiB (100.00%) used: 2.38 TiB (65.5%) fs: btrfs dev: /dev/sda1
    maj-min: 8:1 label: HDD_RAID1 uuid: dea5a2cc-9b40-4d2c-b0d4-ab53c8c2ebcf
  ID-7: /home/<filter>/Videos raw-size: 3.64 TiB size: 3.64 TiB (100.00%)
    used: 2.38 TiB (65.5%) fs: btrfs dev: /dev/sda1 maj-min: 8:1 label: HDD_RAID1
    uuid: dea5a2cc-9b40-4d2c-b0d4-ab53c8c2ebcf
  ID-8: /var/cache raw-size: 916.29 GiB size: 916.29 GiB (100.00%)
    used: 108.42 GiB (11.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
    label: N/A uuid: fabee633-ec81-4df7-9576-2966aa497d1f
  ID-9: /var/log raw-size: 916.29 GiB size: 916.29 GiB (100.00%)
    used: 108.42 GiB (11.8%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
    label: N/A uuid: fabee633-ec81-4df7-9576-2966aa497d1f
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 14.93 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3 label: swap
    uuid: f0e3fca8-b348-4dc6-a61a-a335de4139c2
Unmounted:
  ID-1: /dev/sdb1 maj-min: 8:17 size: 3.64 TiB fs: btrfs label: HDD_RAID1
    uuid: dea5a2cc-9b40-4d2c-b0d4-ab53c8c2ebcf
  ID-2: /dev/sdc1 maj-min: 8:33 size: 476.94 GiB fs: ntfs label: WinSys
    uuid: 9A8CA2C48CA299F1
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 10 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 2-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-3: 3-0:1 info: hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-4: 4-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 5-0:1 info: hi-speed hub with single TT ports: 1 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-6: 5-1:2 info: Genesys Logic Hub ports: 4 rev: 2.1
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 100mA
    chip-ID: 05e3:0610 class-ID: 0900
  Device-1: 5-1.3:3 info: Logitech Illuminated Keyboard type: keyboard,mouse
    driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s)
    lanes: 1 mode: 1.1 power: 300mA chip-ID: 046d:c318 class-ID: 0300
  Device-2: 5-1.4:4 info: Laview LM60 Gaming Mouse type: mouse,HID
    driver: hid-generic,usbhid interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s)
    lanes: 1 mode: 1.1 power: 100mA chip-ID: 22d4:1905 class-ID: 0300
  Hub-7: 6-0:1 info: super-speed hub ports: 1 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-8: 6-1:2 info: Genesys Logic Hub ports: 4 rev: 3.2
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 05e3:0626
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 28.1 C mobo: N/A gpu: amdgpu temp: 28.0 C
  Fan Speeds (rpm): N/A
Info:
  Processes: 276 Uptime: 1h 51m wakeups: 0 Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: pm: pacman pkgs: 1226 libs: 357 tools: pamac pm: flatpak pkgs: 0
  Shell: Bash v: 5.1.16 running-in: xfce4-terminal inxi: 3.3.31

HOOKS

$ cat /etc/mkinitcpio.conf
...
HOOKS="base udev autodetect modconf block keyboard keymap consolefont plymouth resume filesystems"
...

System journal after producing fault at last boot

$ journalctl --boot=-1 --priority=3 --catalog --no-pager
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:17 ManjaroDose kernel: blacklist: Problem blacklisting hash (-13)
Nov 02 16:45:34 ManjaroDose lightdm[1217]: gkr-pam: unable to locate daemon control file
Nov 02 16:46:03 ManjaroDose pulseaudio[1340]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Nov 02 16:53:31 ManjaroDose systemd-coredump[3119]: [🡕] Process 1361 (panel-8-whisker) of user 1000 dumped core.
                                                    
                                                    Stack trace of thread 1361:
                                                    #0  0x00007fd7b2d06f41 g_type_check_instance_is_fundamentally_a (libgobject-2.0.so.0 + 0x3af41)
                                                    #1  0x00007fd7b2cee69e g_object_unref (libgobject-2.0.so.0 + 0x2269e)
                                                    #2  0x00007fd7b11e8977 n/a (libwhiskermenu.so + 0x29977)
                                                    #3  0x00007fd7b11e41fa n/a (libwhiskermenu.so + 0x251fa)
                                                    #4  0x00007fd7b2ce06c0 g_closure_invoke (libgobject-2.0.so.0 + 0x146c0)
                                                    #5  0x00007fd7b2d0ea36 n/a (libgobject-2.0.so.0 + 0x42a36)
                                                    #6  0x00007fd7b2cffa42 n/a (libgobject-2.0.so.0 + 0x33a42)
                                                    #7  0x00007fd7b2cffc77 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33c77)
                                                    #8  0x00007fd7b2cffd34 g_signal_emit (libgobject-2.0.so.0 + 0x33d34)
                                                    #9  0x00007fd7b380bf29 n/a (libxfce4panel-2.0.so.4 + 0x6f29)
                                                    #10 0x00007fd7b2cee900 g_object_run_dispose (libgobject-2.0.so.0 + 0x22900)
                                                    #11 0x00007fd7b335f1aa n/a (libgtk-3.so.0 + 0x35f1aa)
                                                    #12 0x00007fd7b310741e n/a (libgtk-3.so.0 + 0x10741e)
                                                    #13 0x00007fd7b2ce06c0 g_closure_invoke (libgobject-2.0.so.0 + 0x146c0)
                                                    #14 0x00007fd7b2d0f056 n/a (libgobject-2.0.so.0 + 0x43056)
                                                    #15 0x00007fd7b2cffa42 n/a (libgobject-2.0.so.0 + 0x33a42)
                                                    #16 0x00007fd7b2cffc77 g_signal_emit_valist (libgobject-2.0.so.0 + 0x33c77)
                                                    #17 0x00007fd7b2cffd34 g_signal_emit (libgobject-2.0.so.0 + 0x33d34)
                                                    #18 0x00007fd7b334ed4e n/a (libgtk-3.so.0 + 0x34ed4e)
                                                    #19 0x00007fd7b335a841 n/a (libgtk-3.so.0 + 0x35a841)
                                                    #20 0x00007fd7b2cee900 g_object_run_dispose (libgobject-2.0.so.0 + 0x22900)
                                                    #21 0x0000562777c23305 main (wrapper-2.0 + 0x3305)
                                                    #22 0x00007fd7b29c5cd0 n/a (libc.so.6 + 0x27cd0)
                                                    #23 0x00007fd7b29c5d8a __libc_start_main (libc.so.6 + 0x27d8a)
                                                    #24 0x0000562777c234a5 _start (wrapper-2.0 + 0x34a5)
                                                    
                                                    Stack trace of thread 1365:
                                                    #0  0x00007fd7b2aac73d syscall (libc.so.6 + 0x10e73d)
                                                    #1  0x00007fd7b2c33247 g_cond_wait (libglib-2.0.so.0 + 0xb3247)
                                                    #2  0x00007fd7b2ba51b4 n/a (libglib-2.0.so.0 + 0x251b4)
                                                    #3  0x00007fd7b2c0da2e n/a (libglib-2.0.so.0 + 0x8da2e)
                                                    #4  0x00007fd7b2c0b9a5 n/a (libglib-2.0.so.0 + 0x8b9a5)
                                                    #5  0x00007fd7b2a2a9eb n/a (libc.so.6 + 0x8c9eb)
                                                    #6  0x00007fd7b2aae7cc n/a (libc.so.6 + 0x1107cc)
                                                    
                                                    Stack trace of thread 1367:
                                                    #0  0x00007fd7b2aa0f6f __poll (libc.so.6 + 0x102f6f)
                                                    #1  0x00007fd7b2c38206 n/a (libglib-2.0.so.0 + 0xb8206)
                                                    #2  0x00007fd7b2bdab47 g_main_loop_run (libglib-2.0.so.0 + 0x5ab47)
                                                    #3  0x00007fd7b2e400bc n/a (libgio-2.0.so.0 + 0x1120bc)
                                                    #4  0x00007fd7b2c0b9a5 n/a (libglib-2.0.so.0 + 0x8b9a5)
                                                    #5  0x00007fd7b2a2a9eb n/a (libc.so.6 + 0x8c9eb)
                                                    #6  0x00007fd7b2aae7cc n/a (libc.so.6 + 0x1107cc)
                                                    
                                                    Stack trace of thread 1366:
                                                    #0  0x00007fd7b2aa0f6f __poll (libc.so.6 + 0x102f6f)
                                                    #1  0x00007fd7b2c38206 n/a (libglib-2.0.so.0 + 0xb8206)
                                                    #2  0x00007fd7b2bd8112 g_main_context_iteration (libglib-2.0.so.0 + 0x58112)
                                                    #3  0x00007fd7b2bd8162 n/a (libglib-2.0.so.0 + 0x58162)
                                                    #4  0x00007fd7b2c0b9a5 n/a (libglib-2.0.so.0 + 0x8b9a5)
                                                    #5  0x00007fd7b2a2a9eb n/a (libc.so.6 + 0x8c9eb)
                                                    #6  0x00007fd7b2aae7cc n/a (libc.so.6 + 0x1107cc)
                                                    ELF object binary architecture: AMD x86-64
░░ Subject: Process 1361 (panel-8-whisker) dumped core
░░ Defined-By: systemd
░░ Support: https://forum.manjaro.org/c/support
░░ Documentation: man:core(5)
░░ 
░░ Process 1361 (panel-8-whisker) crashed and dumped core.
░░ 
░░ This usually indicates a programming error in the crashing program and
░░ should be reported to its vendor as a bug.
Nov 02 16:53:37 ManjaroDose pulseaudio[1340]: Error opening PCM device front:1: No such file or directory

Plymouth logfile

seem to be fine

/var/log/boot.log
$ sudo cat /var/log/boot.log
...
------------ Thu Nov 02 16:54:02 CET 2023 ------------
         Starting Load Kernel Module dm_mod...
         Starting Load Kernel Module loop...
[  OK  ] Finished Load Kernel Module dm_mod.
[  OK  ] Finished Load Kernel Module loop.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Initialization.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Path Units.
[  OK  ] Reached target System Time Set.
[  OK  ] Started Refresh existing PGP keys of archlinux-keyring regularly.
[  OK  ] Started Discard unused filesystem blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Started Refresh pacman files databases weekly.
[  OK  ] Started Monthly clean packages cache.
[  OK  ] Started Generate mirrorlist weekly.
[  OK  ] Started Daily verification of password and group files.
[  OK  ] Started Daily locate database update.
[  OK  ] Reached target Timer Units.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Listening on D-Bus System Message Bus Socket.
         Starting Socket activation for snappy daemon...
[  OK  ] Listening on Socket activation for snappy daemon.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
         Starting Save/Restore Sound Card State...
         Starting Avahi mDNS/DNS-SD Stack...
[  OK  ] Started Periodic Command Scheduler.
         Starting D-Bus System Message Bus...
         Starting Authorization Manager...
         Starting Snap Daemon...
         Starting User Login Management...
[  OK  ] Finished Save/Restore Sound Card State.
[  OK  ] Reached target Sound Card.
[  OK  ] Started D-Bus System Message Bus.
         Starting Network Manager...
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started User Login Management.
         Starting Hostname Service...
[  OK  ] Started Authorization Manager.
         Starting Modem Manager...
[  OK  ] Started Hostname Service.
         Starting Network Manager Script Dispatcher Service...
[  OK  ] Started Network Manager Script Dispatcher Service.
[  OK  ] Started Modem Manager.
[  OK  ] Started Snap Daemon.
         Starting Time & Date Service...
[  OK  ] Started Time & Date Service.
[  OK  ] Started Network Manager.
[  OK  ] Reached target Network.
         Starting CUPS Scheduler...
         Starting Permit User Sessions...
[  OK  ] Finished Permit User Sessions.
         Starting Hold until boot process finishes up...
         Starting Terminate Plymouth Boot Screen...
[  OK  ] Started CUPS Scheduler.
...

If I can provide more infomation let me know.

Request

I’m ok with the actual workaround. But if it is possible to have a bootsplash again it would be just nice for the look. So if somebody have idears how to fix this, I can try if it works.

The main problem I see in this behavior is that it appeared right away after the installation. This means that user action is needed to get to a working OS at all. This is problematic espacially for new users.

1 Like

I have no sollution to your problem. (I think plymoth was one of the first things I removed when installing manjaro)

But since you removed splash from /etc/default/grub you might as well remove the hook too (unless you are trying to get it to work again that is, then you should put the splash option back into grub)

If you decide to not go with plymouth, I would also remove the quiet option in grub, so you see the chatter when loading manjaro.

Hi Tobi,

My guess (and, it’s only a guess) is that Plymouth isn’t designed to run on two displays simultaneously; or two separate GPU’s either, for that matter.

You’ve already found that disabling Plymouth has solved your issue.

You could think of Plymouth as being extra bloat – it serves no purpose other than to hide the on-screen text during boot, and display an arguably more cosmetically appealing experience.

The issue of being stuck at the splash screen has raised its ugly head for many years; and in many distributions. You may as well uninstall it completely (as many people do).

You’re much better off without it; in my opinion.

Cheers.

Of course this is up to personal choice.
But it may be worth mentioning that the text output can be a bottleneck on fast enough systems.
(this is one of the reasons why I opt for ‘silent boot’)

Another day, another lesson. But I prefer catching errors, I know myself, I would check logs once every 6 months unless something crashes, like it just did for me… xD
Unrelated but incoming new tread. xD

Hi everybody,
thanks for replies so far. I totally agree that Plymouth can be removed if it’s not working anyway. So I ended up following your guys proposal and removed it as I’m fine without a boot animation.

My Solution

Removed Plymouth by following the guide from the Manjaro Wiki Plymouth entry. There is no boot animation afterwards. But functionally it is solved.

Further Thoughts

I did not found a solution to get a stable Plymouth running. And in my opinion a setup with tow displays is not to special and should run out of the box after the installation. So if Plymouth is already known for causing issues, I personal think it should either not be part of the standard installation or needs to be fixed.

I started the Topic not only to get help for a personal solution but also to report a bug as the system journal log advised to. So I will keep the snapshot from the initial system causing this issue for a while. In case anybody needs to reproduce the fault to get further information, I can easily switch back and support this if needed.

Since this is my first topic in this forum… is Support the right place to report bugs? Or is Feedback better? I thought Support is good for the first shut since I think more experienced users have a better assessment if we really talking about a bug.

I will try to address your additional thoughts:

That’s your opinion, and arguably a justified one, at least, from your perspective. However, the vast majority of users have only one monitor, unless they happen to be in sufficient socio-economic circumstance to have a second (or, a third); often desirable for gaming, for example.

In view of that, any provision for multiple monitors should be optional, rather than being a part of the OOTB experience; in my opinion. :slight_smile:

Apologies, if you thought I was pointing the finger at Plymouth as being the cause; it wasn’t the intention. Removing Plymouth was simply a quick and dirty solution to the problem, allowing you to continue booting as expected.

Sometimes, changing your kernel version can achieve the same result, without having to remove Plymouth; but that’s not a guaranteed solution.

The actual cause may be difficult to diagnose as it can be symptomatic of a combination of factors including (but not limited to) hardware configuration, Grub configuration, distribution used; and so on.

The ArchLinux Plymouth page gives some general configuration information, if you ever wish to experiment some more.

Manjaro, being based on Arch, inherits a large portion of its packages from Arch. I believe that’s also the case with Plymouth (Someone will no doubt jump in to correct this, if I’m wrong).

With respect filing a bug report, while this likely isn’t needed, I’ll refer you to the @cscs post below:

Cheers.

Manjaro does not use Arch repos. It has its own.
The vast majority of packages however are inherited from Arch (and then filter through the Branches)
You can see this by the Packager information of packages, ex:

$ pacman -Si mhwd | grep Packager
Packager        : Mark Wagie <mark@manjaro.org>
$ pacman -Si firefox | grep Packager
Packager        : Jan Alexander Steffens (heftig) <heftig@archlinux.org>
1 Like

Thanks, that is indeed what I wished to infer. Poor wording corrected.

While you’re here, would you take yet another liberty and confirm whether or not Plymouth is also one of those packages; for completeness?

Plymouth packages (including plymouth) are Manjaro packages.
(with plymouth also being offered by Arch, I dont know the differences. The intrepid can probably discern it from here: Packages / Community / Plymouth · GitLab)

So, by extension, the OP was correct in wishing to report a perceived bug in Plymouth to Manjaro, and not Arch? If that is the case, I can adjust my post accordingly.

I dont know if its an upstream Plymouth issue, in which case it would go to

If its an issue with how its packaged etc, then yes an issue for Manjaro.
I dont use it, couldnt say.

Thanks for your opinions and explanations.

I read this already and thought about trying:

since it could be an issue with the timing/transition as the linked issue from the initial post indicates. But I never used drop-in snippets. So I have to find some time to dig into this topic first.

I’m one of those many people who remove Plymouth from the equation, out of habit.

For me, it’s simply one less possible complication during startup. Besides, I find the text is a convenient indicator of potential issues during boot; not so, with a pwetty splash screen obscuring it.

Important to note is that if uninstalling Plymouth, also removing its reference from the:

GRUB_CMDLINE_LINUX_DEFAULT=

… line, in /etc/default/grub, is valid; if it’s not done automatically.

That is to say “splash”.
As with all edits to grub config … you should then run

sudo update-grub

But theres another thing to remember: mkinitcpio
So you would want to

  • remove plymouth from /etc/mkinitcpio.conf
  • remove splash from /etc/default/grub
  • (optionally?) uninstall plymouth packages
  • run sudo mkinitcpio -P && sudo update-grub
2 Likes

i have a similar symptom on a Ryzen PC, Manjaro XFCE, LUKS encryption (NVMe), the booting hangs occasionally, seems to be “race conditions”, I also had plymouth active, there are black screen, booting animations, three dots, etc. and as said, occasionally, 2-3 times a week, the black screen with animations get stuck completely. though one can get the console with ctrl-alt F1, ctrl-alt F2, and go back with ctrl-alt F6, ctrl-alt F7, etc.
after reset, with the next booting “tryout”, it may run smooth then.

in my case there’s only one TFT.
(Side note: I could increase the probabilty of boot getting stuck slightly by plugging in an USB 3 hub. but that alone was not significant.)

I’ve now added bootsplash-manager package and with this I switchted to profile “boot log”.
it changed my /etc/defaut/grub files I think,
since then, having the textual boot logging active again as it has been in earlier releases, the boot process doest not get stuck anymore. I will have to monitor the behaviour further.
hopefully I’ve “catched” the reason for the hanging.

Hey. Did not try this but I’m pretty sure this is also a possibility. But I go with the comments from the guys before… If I switch of the animation anyway… I can just delete Plymouth

But its interesting that you have the issues with just one TFT. Indicates more and more that it’s not directly related to the second displays. Instead in my case the second monitor probably changes the timings at startup and therefore causes the issue.

1 Like

Finally I found some time to do some experiments. So lets sum up the solutions worked in my case:

1. Solution - Remove Plymouth

Already described in detail at the top

2. Solution - Use Smooth transition

by creating a Drop-in file for the display-manager.service as described in the ArchWicki Plymouth.

sudo systemctl edit display-manager --drop-in=plymouth and add

[Unit]
Conflicts=plymouth-quit.service
After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service
OnFailure=plymouth-quit.service

[Service]
ExecStartPre=-/usr/bin/plymouth deactivate
ExecStartPost=-/usr/bin/sleep 30
ExecStartPost=-/usr/bin/plymouth quit --retain-splash

at the opening editor. Exit, save, reboot, worked.

3. Solution - Slow down boot to show the full animation

for those how really love to see the animation in full beauty :wink: .
There are two possibility’s described at ArchWiki. Only the second with creating a new service instead of adding a delay to the plymouth-quit.service worked in my case.

  1. Create new service file by sudo touch /etc/systemd/system/plymouth-wait-for-animation.service
  2. Edit the file e.g. sudo nano /etc/systemd/system/plymouth-wait-for-animation.service and add
    [Unit]
    Description=Waits for Plymouth animation to finish
    Before=plymouth-quit.service display-manager.service
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/sleep <duration_of_your_animation>
    
    [Install]
    WantedBy=plymouth-start.service
    
    I used 15 and 2 seconds to try.
  3. Enable service by sudo systemctl enable plymouth-wait-for-animation
3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.