New Plymouth theme in Luna

Registered by Sergey "Shnatsel" Davidoff

Plymouth theme should closely resemble the login screen, but indicate that the system is not yet ready. Probably sharing the same background between the two is a good idea. Ditching the boot screen as a separate entity and integrating it with the rest of the artwork should make the boot experience smoother and seemingly faster.

Blueprint information

Danielle Foré
elementary UX
Sergey "Shnatsel" Davidoff
Series goal:
Accepted for 0.2-luna
Milestone target:
milestone icon luna-rc1
Started by
Sergey "Shnatsel" Davidoff
Completed by
Sergey "Shnatsel" Davidoff


Use cases:
  * LiveCD boot - boot screeen is shown for up to to several minutes
  * Usual boot - shown for 1-5 seconds
  * Boot with filesystem check - takes from 5-10sec to a minute, displays info about the process

Reference: (lots of stuff, but some great animations)

LightDM greeter:

  * Examine LightDM theming, check if the Plymouth→LightDM transition is smooth (we need it to be smoother than Plymouth→GDM). There's no transition at all, so we'll have to make the webkit greeter handle it. Good coordination between shnatsel (Plymouth theme dev) and agent00tai (LightDM greeter dev) is needed.

Remaining TODO items:
  * Get a mockup from DanRabbit (or approved by him). Should we show elementary OS logo or wordmark? What's the best way to indicate that the system is not yet ready?
  * Implement the main theme
  * Integrate the script plugin modifications that we might need (or find a way to deal with the damn upstart and make a separate executable that talks to plymouth)
  * Add a fallback theme for low-color setups (16 stunning colors, we can even choose which ones!)
  * Make a custom text-mode theme

 = Discussion =
Could using LightDM help with the transitions at all? And would BURG and an elementary theme for it be of use? -- aroman
Yes, we might need to coordinate with LightDM to provide smoother transitions. It's important to keep close contact between the devs of LightDM and Plymouth themes. Messing with BURG is too dangerous IMHO, at least in Luna where we have lots of other custom stuff in the boot process. In addition, BURG currently breaks Plymouth. --shnatsel
When we will have a greeter, it should be multilingual. I could help with that. --gotwig

We may take a look at the plymouth and boot modifications jolicloud made: -- Paspartout
Oh, looks interesting. Thanks a lot for the link! --shnatsel


This is going to change for Luna +1 with the system compositor work and lightDM from boot. For now, we should just implement a simple plymouth theme and concentrate on a more fleshed out design for Luna +1 --DanRabbit

There's hardly any hope for seeing system compositor materialize in 12.10, so I guess we still need this. The current plan is a black screen for normal splash. There are two special cases for you to design: filesystem check notification and LiveCD boot. --shnatsel

Here's a crappy video mockup --DanRabbit
Another one:

Plymouth transition proposals: --shnatsel

Okay, those greeter transitions don't work, because the wallpaper takes a while to load. Often the initial transition happens on a black screen instead of wallpaper. So here's a very rough mockup which works well with that: Imagine background fade-in :) --shnatsel

Another Plymouth concept:
Sorry for low quality. --shnatsel
- I like that one. --gotwig
-I (poorly) animated that concept a while ago, could some AFX wizard give it a shot?
Here's the rendered MP4 (probably should speed it up around some large curves):
(you should probably save and open that in movie player, web browser players sometimes fail)
Here's the source file:
Obviously, the animation should be faster and more "natural".

When on an SSD you see the Plymouth boot screen for maybe a second or two, would we want something simple and short? It seems broken when it doesn't finish the animation. --Mars11

What we have right now is probably acceptable for beta1. Retargeting to beta2 :) --DanRabbit


Work Items

Work items:
Rebrand Ubuntu plymouth theme: DONE
Implement boot logo animation: INPROGRESS
Implement shutdown logo animation: DONE
Implement text animation: TODO
Implement 4-bit color support: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.