Plymouth with disk encryption not showing splash at startup

Hey, I recently started over with a fresh EOS install to try out something new. I managed to have my root partition which runs on btrfs encrypted with LUKS, and I’m using Gnome DE and GDM.
I tried to set up plymouth, and what I read about it made me think that it should be able to also display a nicer looking prompt for the decryption passphrase, instead of just having to entering it into a plane console.

My mkinitcpio.conf:

HOOKS="base udev plymouth plymouth-encrypt autodetect modconf block keyboard keymap filesystems"

(I also messed around with the position of the plymouth-encrypt hook, without any obvious change…)
and my kernel parameters:

GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptodevice=UUID=[...]:luks-[...] root=/dev/mapper/luks-[...] splash loglevel=3 rd.udev.log_priority=3 vt.global_cursor_default=0 nowatchdog]"

What I get is just the normal console-style cryptodisk passphrase prompt, after which the grub menu appears. Hitting enter, I get just a black screen with something like a … on it (photo), and then GDM takes over and I am prompted to enter my user password.


Interestingly, when shutting down, I get for a second or two the desired plymouth theme screen displayed before the screen blackens, so obviously it somehow works.

Maybe I should also mention that I installed the gdm-plymouth package from the aur.

Did anybody experience similar behaviour? Or has an idea what I can try?
Thank you :slight_smile:

greetz, smokee

Maybe you could try to you add your kernel graphics driver to your initramfs. If using intel:

MODULES=(i915 ...)

First, let me thank you :slight_smile: now it shows the bootsplash after I entered the LUKS passphrase and passed the grub menu.
Now the question, is it also possible to have a more visually appealing LUKS prompt provided by plymouth as well? And what would I have to do to achieve that? Reading in the Arch wiki, I thought the plymouth-encrypt hook would do exactly that, but maybe that was a misunderstanding from my side?

I’m happy about any further advice!

If your boot partition is encrypted (as part of a full disk encrypted setup), at this early stage in the boot process, there is only grub to unlock the drive to get to the initramfs and kernel. So AFAIK, no, there’s no way for plymouth to inject itself before the actual filesystem is unlocked and therefore no way around grub’s textual password prompt.

However, in case of an unencrypted /boot, things may be different.

Ah ok, thanks for pointing that out!

Ok, so after checking (honestly, I was not even sure if my boot partition is encrypted or not… still learning a lot :sweat_smile: ) I think that my boot partition is NOT encrypted:

$ lsblk
sda                8:0    0 238,5G  0 disk  
├─sda1             8:1    0   512M  0 part  /boot/efi
└─sda2             8:2    0   238G  0 part  
  └─luks-[...]   254:0    0   238G  0 crypt /home

So, in theory, having plymouth start before the decryption of root should be possible, right?

But, reading a bit further on forums, I also found out that plymouth seems to be a source of trouble for many people who seem to know what they are doing, so maybe for a newbie like me, there is no chance to get it running properly.
Anyway, any ideas what I could try or check in order to narrow down what’s the reason plymouth starts so late?