[Tutorial] Disable or Remove Plymouth (boot splash)

Introduction

CachyOS ISOs provide and enable plymouth by default.

From the ArchWiki:

Which is to say it is not a system-critical component.*

It also has a nasty habit of breaking boot under various circumstances.

In those cases, or simply to avoid the bloat, you can temporarily disable plymouth, permanently disable it, or remove it entirely.

* - Some systems use Plymouth to forward decryption prompts. This may be especially useful in cases where the language and input devices might differ. In these cases Plymouth seems to serve a function.


Boot options to disable Plymouth

Boot options, also known as kernel parameters, do not require any additional configuration and can be either added or subtracted, respectively, to temporarily disable Plymouth for troubleshooting or other purposes.

To Add

The following boot parameters will disable Plymouth:

plymouth.enable=0 disablehooks=plymouth

To Subtract

The following boot option is required for Plymouth, so removing the option should disable it:

splash

Applying boot options

Each boot loader accepts parameters differently.
Please select the corresponding section.

Grub
Temporary

You can temporarily edit (add, remove, or change) boot options during boot if you hit E at selection.

Find the line beginning with linux that should appear similar to this:
linux /boot/vmlinuz-6.12-x86_64 root=UUID=0a01099a-1e33-489a-a2de-10104e8492f5 rw quiet

Permanent

You can also apply parameters persistently by editing the boot loader configuration.

Edit /etc/default/grub on the GRUB_CMDLINE_LINUX line between quotes.
Afterwards to update grub:
sudo grub-mkconfig -o /boot/grub/grub.cfg


Limine
Temporary

You can temporarily edit (add, remove, or change) boot options during boot if you hit E at selection.

Options are on the cmdline line.

Permanent

You can also apply parameters persistently by editing the boot loader configuration.

Edit limine.conf ( ex: $ESP/EFI/limine/limine.conf ) on the cmdline or kernel_cmdline line.
OR
Edit /etc/default/limine and place options on the KERNEL_CMDLINE[default]+= line, creating it if necessary.
Afterwards to update limine:
sudo limine-update


rEFInd
Temporary

You can temporarily edit (add, remove, or change) boot options during boot if you hit Insert, F2, Tab, or + at selection.

Options should be placed on the end of the string usually beginning with root=.

Permanent

You can also apply parameters persistently by editing the boot loader configuration.

Edit /boot/refind_linux.conf or $ESP/EFI/refind/refind.conf between quotes on all required lines, namely "Boot using default options".
Note: rEFInd does not require an extra command to apply configuration changes.


Systemd-boot
Temporary

You can temporarily edit (add, remove, or change) boot options during boot if you hit E at selection.

Systemd-boot will automatically edit the correct line.

Permanent

Users of sdboot-manage may edit /etc/sdboot-manage.conf on the LINUX_OPTIONS= line.
Afterwards to regenrate entries with the options:

sudo sdboot-manage gen

OR
Edit $ESP/loader/entries/*.conf on the options line.



To remove Plymouth completely

Remove the packages

sudo pacman -Rns plymouth-git plymouth-kcm cachyos-plymouth-theme cachyos-plymouth-bootanimation 

(the above is the common minimum, but you may have extra packages such as for themes)

Remove from initram

Edit /etc/mkinitcpio.conf and remove plymouth from HOOKS.
Afterwards to rebuild initram run:

sudo mkinitcpio -P

(after rebuilding initram refresh the bootloader, as in the following section, even if bootloader options remain unchanged)

Remove the boot options

Please consult the previous section for how to remove the splash option from your boot loader.

And reboot of course.


Conclusion

The animated boot splash should now be disabled if any of the methods above were applied.
Kernel messages will be observable during start up.


More Information

Online Manual The definitive guide on the web.

plymouth - Arch manual pages

More About Options The Cachy Guide

Boot Manager Configuration - CachyOs Wiki

Kernel Parameters Or boot options. The wiki from Arch Linux.

Kernel parameters - ArchWiki

See Also Too much text with splash gone?

Silent Boot - Arch Wiki

Is it safe to remove Plymouth?

sudo pacman -Rns plymouth-git plymouth-kcm cachyos-plymouth-theme cachyos-plymouth-bootanimation 

Also, why there’s so many packages related to a boot logo?

Yes.
As noted above there appears to be some people relying on plymouth to forward their decryption prompt. I have no familiarity with this so it is only mentioned, but it is the lone example I know of where plymouth would be anything like ‘helpful’/‘needed’ and even then only if the language/input does not match.

One for the splash software, one for the SystemSettings section, and apparently they ship 2 different themes.
Neither the package makeup nor their selection is up to me so thats all I have for the ‘why’.

Thank you for your detailed explanation.

I’ve removed the 4 “plymouth” packages and nothing critical seems to have broken. The system boots 4 seconds faster, yay!

Thank you so much! I was having trouble booting my zenbook 14 while being connected to a docking station. Phew!!

Just want to add that my cachyos did not have plymouth-bin (but just plain plymouth) nor cachyos-plymouth-theme.

Also if you want to avoid splash from reappearing in the boot options after every limine-update then you should modify the file at /etc/default/limine as well.

Note that replacing default cachyos bootanimation theme with the simple cachyos theme (just a green logo) make the boot faster (about 3 seconds on my Zenbook, Gnome DE)

Google brought me here, so to help the next person, here’s my experience:

Removing the word “splash” from /etc/default/grub helped a lot.

I was able to remove plymouth with Octopi, which didn’t change my boot time after I removed “splash”, which just disabled it anyway.

Thanks for this tutorial. I just installed CachyOS yesterday and already got hit by boot failures due to Plymouth. I wonder why they ship this, when it’s so unreliable.

I’ll share my findings for that:

df -Th /boot
Filesystem                                            Type   Size  Used Avail Use% Mounted on
/dev/mapper/luks-b3216084-6bfd-4289-b34a-f47691388216 btrfs  466G  173G  288G  38% /

But that’s not what everyone will find on their system.

I just removed splash is all.

GRUB_DISTRIBUTOR='CachyOS'
GRUB_CMDLINE_LINUX_DEFAULT='nowatchdog nvme_load=YES zswap.enabled=0 cryptdevice=UUID=b3216084-6bfd-4289-b34a-f47691388216:luks>
GRUB_CMDLINE_LINUX="lsm=landlock,lockdown,yama,integrity,apparmor,bpf"

My boot time is a bit longer, not sure if it’s related to the missing splash though.

EDIT: It is not related to plymouth, it was a service I was testing is all.

is it a new package that need to be install first?

In addition to this tuto : if you prefer a silent boot instead of verbose one once Plymouth is uninstalled, you can pass these arguments to your kernel:

LINUX_OPTIONS=“loglevel=0 rd.udev.log_level=0 systemd.show_status=false vt.global_cursor_default=0 consoleblank quiet”

This will lead in a full black screen once Bios logo is finished, and then connection to the desktop.

Thanks, I uninstalled Plymouth as described and now the hangs pending on a keystroke have disappeared. I now have a sub-8 second boot to login!

Hi.

I’ve followed this guide previously to remove Plymouth, which used to work, but now…

Just a few days ago I did a system update (6.18.6.2-cachyos), and now Plymouth is somehow back, but hidden/embedded into the CachyOS kernel itself or something.

The Plymouth packages are still not installed, and splash is still gone from the boot options. But somehow, I’m back to seeing a black screen on bootup, and a few lines of text to say that the system will now shut down when shutting down as if Plymouth is running again.

I’d like to be able to see what the system is actually doing again like before. So, there needs to be a new workaround for removing Plymouth as it seems like the current workaround listed here is now obsolete.

I’m using systemd-boot as the boot manager.

Hello and welcome,

That does not sound like plymouth though?

Plymouth is notably an animated boot splash.

Text on screen during boot is the normal mode of operation without plymouth.

Whether that is from the bootloader, kernel, or systemd, etc.

You may wish to review the following for even quieter booting;

But it’s exactly what used to happen when Plymouth was “actually” installed. I’ll check out the link you’ve provided though.

Sounds a bit like you previously had plymouth installed but not properly enabled (maybe a missing theme or similar?).

Still other factors can be related like some forgotten config or even the bootloader or kernel .. for a long while there was grub-silent package available for example that would automatically suppress a lot of the boot text. Oh actually it is still in the AUR.

Plymouth was installed by default..

I mean, I could see the same few lines of text when Plymouth was installed when I disabled the splash alone without removing all traces entirely.

I don’t wish to see a pointless 200ms animation or just see “The system will now shut down”, I want to see the entire screen full up of text with stuff like “[* ] A stop job is waiting for process blahblahblah”. But I guess I’m not allowed to see 5000 lines of text anymore on boot/shutdown.

Not using GRUB (as I said, I’m using systemd). Haven’t done proper research yet but is CachyOS (or systemd) suppressing text now since a few days ago?

I do use the AUR, but only for very few packages which have nothing to do with this.

Thats plymouth.

That is not plymouth.

Well what other boot options do you have set?
Maybe something like quiet?
( IE - Anything that matches suggestions found in the Silent Boot link above should be removed in order to get more boot verbosity. )
Quiet, loglevel numerals, systemd.show_status option, and more could all be related to what kind of text you see on screen and how much of it but that does not make them plymouth.

quiet was there, but even after removing that I still get nothing. Doesn’t make sense though, as quiet has always been there.

Should probably mention as well that I have to edit /etc/kernel/cmdline or /etc/mkinitcpio.conf to change the boot options. /boot gives a Permission Denied error, and that only started happening when I reinstalled CachyOS to use Xfce instead of Plasma.

Edit: Solved. Typing “sudo pkexec Thunar” into the Terminal allowed Thunar to navigate to the /boot directory, and finally allow me to edit the actual file. Both splash and quiet were still there, so I removed them both & now I can see the 4000 lines of text again like before.

Still, why would the CachyOS update do this.