Plymouth/ly incompatibility

Hey there,
I recently wanted to install ly on my system and I realised, that plymouth and ly are incompatible:

 ╰─λ sudo systemctl enable /usr/lib/systemd/system/ly.service              
Failed to enable unit: File /etc/systemd/system/display-manager.service already exists and is a symlink to /usr/lib/systemd/system/sddm-plymouth.service.

When comparing the files, I noticed, that they were quite different:

/usr/lib/systemd/system/ly.service
[Unit]
Description=TUI display manager
After=systemd-user-sessions.service plymouth-quit-wait.service
After=getty@tty2.service

[Service]
Type=idle
ExecStart=/usr/bin/ly
StandardInput=tty
TTYPath=/dev/tty2
TTYReset=yes
TTYVHangup=yes

[Install]
Alias=display-manager.service


/usr/lib/systemd/system/sddm-plymouth.service
[Unit]
Description=Simple Desktop Display Manager
Documentation=man:sddm(1) man:sddm.conf(5)
Conflicts=getty@tty1.service
Wants=plymouth-deactivate.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service systemd-logind.service plymouth-deactivate.service

[Service]
ExecStart=/usr/bin/sddm
Restart=always

[Install]
Alias=display-manager.service

Could I maybe merge them together like this?

[Unit]
Description=ly & plymouth
Wants=plymouth-deactivate.service
After=systemd-user-sessions.service plymouth-quit-wait.service
After=systemd-user-sessions.service getty@tty1.service getty@tty2.service plymouth-quit.service systemd-logind.service plymouth-deactivate.service

# 2x tty? I guess that's bad?

[Service]
Type=idle
ExecStart=/usr/bin/ly
Restart=always
StandardInput=tty
TTYPath=/dev/tty2
TTYReset=yes
TTYVHangup=yes

[Install]
Alias=display-manager.service

Would this work or really break stuff?

Thanks!

(I hope this post is not too messy)

System:    Kernel: 5.14.2-zen1-2-zen x86_64 bits: 64 compiler: gcc v: 11.1.0 
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=2a555427-5d35-463f-8011-b023a855b928 rw 
           rootflags=subvol=@ loglevel=3 quiet splash lsm=lockdown,yama,apparmor,bpf 
           Desktop: KDE Plasma 5.22.5 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM Distro: Garuda Linux 
           base: Arch Linux 
Machine:   Type: Desktop System: Gigabyte product: AX370-Gaming 3 v: N/A serial: <filter> 
           Mobo: Gigabyte model: AX370-Gaming 3-CF v: x.x serial: <filter> UEFI-[Legacy]: American Megatrends v: F50a 
           date: 11/27/2019 
CPU:       Info: 6-Core model: AMD Ryzen 5 2600X bits: 64 type: MT MCP arch: Zen+ family: 17 (23) model-id: 8 stepping: 2 
           microcode: 800820D cache: L2: 3 MiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 86228 
           Speed: 3986 MHz min/max: 2200/3600 MHz boost: enabled Core speeds (MHz): 1: 3986 2: 3888 3: 4141 4: 4138 5: 4130 
           6: 4056 7: 4131 8: 4105 9: 3956 10: 3952 11: 4120 12: 4080 
           Vulnerabilities: Type: itlb_multihit status: Not affected 
           Type: l1tf status: Not affected 
           Type: mds status: Not affected 
           Type: meltdown status: Not affected 
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl and seccomp 
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization 
           Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling 
           Type: srbds status: Not affected 
           Type: tsx_async_abort status: Not affected 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] vendor: ASUSTeK 
           driver: amdgpu v: kernel bus-ID: 08:00.0 chip-ID: 1002:67ff class-ID: 0300 
           Device-2: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-4:4 chip-ID: 046d:0825 
           class-ID: 0102 serial: <filter> 
           Display: x11 server: X.Org 1.20.13 compositor: kwin_x11 driver: loaded: amdgpu,ati unloaded: modesetting 
           alternate: fbdev,vesa display-ID: :0 screens: 1 
           Screen-1: 0 s-res: 3600x1200 s-dpi: 96 s-size: 952x317mm (37.5x12.5") s-diag: 1003mm (39.5") 
           Monitor-1: HDMI-A-0 res: 1680x1050 hz: 60 dpi: 90 size: 474x296mm (18.7x11.7") diag: 559mm (22") 
           Monitor-2: DVI-D-0 res: 1920x1200 hz: 60 dpi: 99 size: 495x310mm (19.5x12.2") diag: 584mm (23") 
           OpenGL: renderer: Radeon RX 560 Series (POLARIS11 DRM 3.42.0 5.14.2-zen1-2-zen LLVM 12.0.1) v: 4.6 Mesa 21.2.1 
           direct render: Yes 
Audio:     Device-1: AMD Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] vendor: ASUSTeK driver: snd_hda_intel 
           v: kernel bus-ID: 08:00.1 chip-ID: 1002:aae0 class-ID: 0403 
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel 
           bus-ID: 0a:00.3 chip-ID: 1022:1457 class-ID: 0403 
           Device-3: C-Media USB Microphone type: USB driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-2:3 
           chip-ID: 0d8c:9700 class-ID: 0300 serial: <filter> 
           Device-4: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo bus-ID: 3-4:4 chip-ID: 046d:0825 
           class-ID: 0102 serial: <filter> 
           Sound Server-1: ALSA v: k5.14.2-zen1-2-zen running: yes 
           Sound Server-2: sndio v: N/A running: no 
           Sound Server-3: JACK v: 1.9.19 running: no 
           Sound Server-4: PulseAudio v: 15.0 running: no 
           Sound Server-5: PipeWire v: 0.3.35 running: yes 
Network:   Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169 v: kernel 
           port: f000 bus-ID: 03:00.0 chip-ID: 10ec:8168 class-ID: 0200 
           IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
           IF-ID-1: docker0 state: down mac: <filter> 
           IF-ID-2: virbr0 state: down mac: <filter> 
Drives:    Local Storage: total: 2.96 TiB used: 1002.89 GiB (33.1%) 
           SMART Message: Unable to run smartctl. Root privileges required. 
           ID-1: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 1TB size: 931.51 GiB block-size: physical: 512 B 
           logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 4B6Q scheme: GPT 
           ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 250GB size: 232.89 GiB block-size: physical: 512 B 
           logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 1B6Q scheme: GPT 
           ID-3: /dev/sdc maj-min: 8:32 vendor: Western Digital model: WD20EFRX-68EUZN0 size: 1.82 TiB block-size: 
           physical: 4096 B logical: 512 B speed: 6.0 Gb/s type: HDD rpm: 5400 serial: <filter> rev: 0A82 scheme: GPT 
Partition: ID-1: / raw-size: 195.31 GiB size: 195.31 GiB (100.00%) used: 52.52 GiB (26.9%) fs: btrfs dev: /dev/sda2 
           maj-min: 8:2 
           ID-2: /home raw-size: 736.18 GiB size: 736.18 GiB (100.00%) used: 88.16 GiB (12.0%) fs: btrfs dev: /dev/sda3 
           maj-min: 8:3 
           ID-3: /var/log raw-size: 195.31 GiB size: 195.31 GiB (100.00%) used: 52.52 GiB (26.9%) fs: btrfs dev: /dev/sda2 
           maj-min: 8:2 
           ID-4: /var/tmp raw-size: 195.31 GiB size: 195.31 GiB (100.00%) used: 52.52 GiB (26.9%) fs: btrfs dev: /dev/sda2 
           maj-min: 8:2 
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) 
           ID-1: swap-1 type: zram size: 31.3 GiB used: 398.7 MiB (1.2%) priority: 100 dev: /dev/zram0 
Sensors:   System Temperatures: cpu: 50.1 C mobo: N/A gpu: amdgpu temp: 50.0 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 1447 
Info:      Processes: 407 Uptime: 1h 26m wakeups: 7 Memory: 31.3 GiB used: 8.01 GiB (25.6%) Init: systemd v: 249 
           tool: systemctl Compilers: gcc: 11.1.0 clang: 12.0.1 Packages: 2079 apt: 0 pacman: 2073 lib: 468 snap: 6 
           Shell: fish v: 3.3.1 running-in: yakuake inxi: 3.3.06 

That isn't plymouth, it is sddm-plymouth. So, basically, ly is in conflict with sddm because they are both display managers and you can't have two.

No.

Is your goal to replace sddm with ly?

3 Likes

For ly to work, you actually have to disable/replace sddm - Plymouth actually disabled the default sddm. (And apparently plymouth is known to be notoriously incompatible with these kind of things)

But it just looks so damn good

Then use systemctl enable --force ly.service which will replace sddm-plymouth.service with ly.service

:thinking:

2 Likes

I don't want to replace it actually. - I'd rather merge them
Plymouth is creating the login splash animation - I don't actually want to remove that.
It's fancy.

Have you just tried it? I have never made any display manager service changes on any of my plymouth installs. I would try it and see if it works, if it doesn't then you can investigate options to fix whatever isn't working.

2 Likes

I am kinda scared, but well it shouldn't be a problem after all.

Edit 1: It's been a long time, I still haven't figured out, how to display ly instead of kscreenlocker

Edit 2: Oh yeah, forgot that ly worked

1 Like

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