You are not logged in.

#1 2014-04-12 22:14:02

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

[Solved] No smooth transition from syslinux to plymouth to lxdm

I have followed the setup guide on the wiki and got it working to the point I see the correct theme displaying. There is however an ugly break between the syslinux boot menu and the plymouth screen, taking about 2-3 seconds until the plymouth screen appears. I'm willing to live with that one though.

The second break is not supposed to happen if I enable the lxdm-plymouth.service instead of the lxdm.service according to the wiki. But in reality, there it does: it shows the same screen with the filesystem check/booting kernel text it showed before plymouth started, then does "nothing" until lxdm starts.

I expected it to stay on the plymouth screen until lxdm is ready. There seems to be some information missing from that page, or I am not understanding the meaning

For smooth transition to Display Manager you have to:
1. See the Wiki Page (link in 5) to prepare your Display Manager
2. Disable your Display Manager Unit, e.g. systemctl disable kdm.service
3. Enable the respective DM-plymouth Unit (GDM, KDM, LXDM units provided), e.g. systemctl enable kdm-plymouth.service

I am using the stable plymouth package. I also tried setting up lightdm instead, but it shows the same behavior.
Just in case, here is the output of systemctl --type=service --no-pager

UNIT                                                LOAD   ACTIVE SUB     DESCRIPTION
acpid.service                                       loaded active running ACPI event daemon
dbus.service                                        loaded active running D-Bus System Message Bus
kmod-static-nodes.service                           loaded active exited  Create list of required static device nodes for the
lxdm-plymouth.service                               loaded active running LXDE Display Manager
polkit.service                                      loaded active running Authorization Manager
systemd-backlight@backlight:toshiba.service         loaded active exited  Load/Save Screen Backlight Brightness of backlight:
systemd-fsck@dev-disk-by\x2duuid-60588968\x2dce04\x2d4204\x2d994c\x2d956e37a05af9.service loaded active exited  File System Check on /dev/disk/by-uuid/60588968-ce0
systemd-journald.service                            loaded active running Journal Service
systemd-logind.service                              loaded active running Login Service
systemd-random-seed.service                         loaded active exited  Load/Save Random Seed
systemd-remount-fs.service                          loaded active exited  Remount Root and Kernel File Systems
systemd-rfkill@rfkill0.service                      loaded active exited  Load/Save RF Kill Switch Status of rfkill0
systemd-sysctl.service                              loaded active exited  Apply Kernel Variables
systemd-tmpfiles-setup-dev.service                  loaded active exited  Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service                      loaded active exited  Create Volatile Files and Directories
systemd-udev-trigger.service                        loaded active exited  udev Coldplug all Devices
systemd-udevd.service                               loaded active running udev Kernel Device Manager
systemd-update-utmp.service                         loaded active exited  Update UTMP about System Boot/Shutdown
systemd-user-sessions.service                       loaded active exited  Permit User Sessions
systemd-vconsole-setup.service                      loaded active exited  Setup Virtual Console
udisks2.service                                     loaded active running Disk Manager
user@1000.service                                   loaded active running User Manager for UID 1000
wicd.service                                        loaded active running Wicd a wireless and wired network manager for Linux

I'm new to arch and linux in general, so maybe I'm overlooking something. Tell me if you need me to provide more information, please.

Last edited by Soukyuu (2014-04-14 19:27:26)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#2 2014-04-13 00:52:08

Padfoot
Member
Registered: 2010-09-03
Posts: 382

Re: [Solved] No smooth transition from syslinux to plymouth to lxdm

For the transition from plymouth to lxdm, try the following:

# systemctl disable lxdm-plymouth.service

# cp /usr/lib/systemd/system/lxdm-plymouth.service /etc/systemd/system

edit /etc/systemd/system/lxdm-plymouth.service to look as follows:

[Unit]
Description=LXDE Display Manager
Conflicts=getty@tty1.service
After=systemd-user-sessions.service getty@tty1.service plymouth-quit.service

[Service]
ExecStart=/usr/sbin/lxdm
Restart=always
IgnoreSIGPIPE=no

[Install]
Alias=display-manager.service

Then:

# systemctl enable lxdm-plymouth.service

What this does is removes the conflict with plymouth-quit.service allowing the plymouth boot screen to stay displayed until after X is started by lxdm.

Before you re-boot, ensure you have the fallback kernel or a multi-user.target boot option on the standard kernel configured as a menu entry in syslinux (or ensure you know how to boot to console only from syslinux). If this change locks up your system, being able to boot to a console only will allow you to revert the changes.

I maintain the plymouth packages in AUR and have left the conflict with plymouth-quit.service in the systemd units for the fact that some DM's may lock up the system without that conflict. Personally, I use lightdm and without the conflict, the transition does not fall back to a text console (yet lightdm is slow in starting up so you do have a blank screen while X and the lightdm greeter start).

For the transition from syslinux to plymouth, I would need more information to help you.

1. Are you booting with BIOS or UEFI?
2. Are you able to configure your monitor's native resolution with syslinux in either UEFI or BIOS?
3. What video driver are you using? (intel, nouveau, radeon, nvidia or ATI)
4. If not using nvidia or ATI, do you have early KMS configured?
5. Please post your /etc/mkinitcpio.conf

All these have an effect on how well plymouth will handle the transition from the initial framebuffer to your video driver.

Cheers.

[EDIT] spelling [/EDIT]

Last edited by Padfoot (2014-04-14 06:50:38)

Offline

#3 2014-04-13 19:00:29

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] No smooth transition from syslinux to plymouth to lxdm

Hmm, all that has changed after modifying the service file is that I don't see the usual start messages at all. It still drops me onto a screen that has the text listing the hooks and stating it's starting plymouth. Then a few seconds after lxdm pops up.

The machine is an old laptop with a Celeron M CPU.
1. I am booting BIOS
2. I did specify MENU RESOLUTION 1024 768 as well as vga=773 for my kernel log line, is that what you are asking about?
3. Intel driver (i915?)
4. I followed the steps detailed here, so it should be enabled.
5. /etc/mkinitpcio.conf (without the comments):

MODULES="i915"
BINARIES=""
FILES=""
HOOKS="base udev plymouth autodetect modconf block filesystems keyboard fsck"

Oh and I think you have a typo there, I know of systemctl but of no systemctrl (nor does arch, apparently ^^)

Last edited by Soukyuu (2014-04-13 19:02:12)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#4 2014-04-14 07:09:21

Padfoot
Member
Registered: 2010-09-03
Posts: 382

Re: [Solved] No smooth transition from syslinux to plymouth to lxdm

Ok,

Is your native resolution 1024x768?
If not, that is the most likely cause of seeing the boot messages between syslinux and plymouth, as plymouth will not start until KMS is enabled and your native resolution set. If BIOS does not support your native resolution, then, unfortunately, you are stuck with that transition from syslinux to KMS before plymouth starts.

One way that MAY reduce this effect is by moving the plymouth hook in mkinitcpio.conf between base and udev.

HOOKS="base plymouth udev ...
# mkinitcpio -p linux

If plymouth is able to start before udev, this MAY stop or reduce the messages seen in the syslinux KMS transition.

CAUTION: Ensure you are able to boot to a console and revert the change to the HOOKS array in mkinitcpio.conf BEFORE you make the change and reboot. If your system locks up and you can not boot to a console, you will need a live CD or a re-install to fix it.

While it is recommended to only start plymouth after udev, depending on your system hardware/partition configuration, you may be able to start it earlier (my system works perfectly with plymouth immediately after base).

For the transition between plymouth and lxdm, I can only put that down to the slow start up of X and lxdm. There used to be a way (in X config) to force X to not clear the root window background upon starting thus keeping the plymouth background displayed right up to the DM. I am unsure if this is still supported. But in your case, the text would still show as plymouth is exiting before X has fully started resulting in the text being shown.

Perhaps try lightdm again, with the same modification to the lightdm-plymouth.service as I mentioned in the previous post. I use lightdm and after plymouth, i get a completely blank screen before the lightdm login is shown, again simply due to lightdm taking a few seconds to start up.

Cheers.

Offline

#5 2014-04-14 19:27:05

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: [Solved] No smooth transition from syslinux to plymouth to lxdm

Actually, moving plymouth in front of udev solves BOTH issues. The first thing I now see on boot is my plymouth theme, immediately followed by lxdm.
And yes, I forgot to mention 1024x768 is my native resolution. Thanks for the help!


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

Board footer

Powered by FluxBB