It is possible to create themes for Plymouth, however documentation for theme creation is extremely difficult to find on the internet. This page aims to provide a few helpful links so that one may understand the Plymouth theme creation process. Eventually there may be a tutorial (or 'guide' as we like to call them here on the wiki) on how to create a simple theme.
Of course, Plymouth must be installed before any newly created themes can be viewed or tested. Head up a level and do that now if it is not done yet.
Any potential theme creator should have a bit of knowledge about programming in C, as C is the language Plymouth is written. A full depth of knowledge will not be required.
How Plymouth works
Before starting a design process, it is important to know how the program(s) being used in project operate.
As Plymouth's README states:
plymouth ships with two binaries: /sbin/plymouthd and /bin/plymouth
The first one, plymouthd, does all the heavy lifting. It logs the session and shows the splash screen. The second one, /bin/plymouth, is the control interface to plymouthd.
It supports things like plymouth show-splash, or plymouth ask-for-password, which trigger the associated action in plymouthd.
Creating a simple Plymouth theme
Before something can be well engineering, there must first be a plan. The plan is what happens during the design phase. For the purpose of keeping this article short and sweet, we will be modifying the default "Solar" Plymouth theme to include some text: "My First Theme".
The files for the Solar theme come with Plymouth. On Gentoo systems they can be found in the /usr/share/plymouth/themes/solar directory. Change to this directory now.
Testing and debugging can be performed from an X environment. Start plymouthd in non-daemon mode:
plymouthd --no-daemon --debug
Ask to render the splash via the plymouth front end:
To stop the rendering, ssh to the unit and issue:
Presuming genkernel-next has been merged with the
plymouth USE flag, and then configured to select a specific theme in /etc/genkernel.conf:
- Some helpful information on Plymouth theme creation by Finnbarr P. Murphy
- Plymouth Theme Guide (part 1) by Charlie Brej
- Plymouth Theme Guide (part 2) by Charlie Brej
- Plymouth Theme Guide (part 3) by Charlie Brej
- Plymouth Theme Guide (part 4) by Charlie Brej
- Falling blocks game in Plymouth by Charlie Brej
- Plymouth ⟶ X transition by Ray Strode (Plymouth maintainer)
- 5 "Stunning" Ubuntu Themes