[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#734093: debian-installer: install plymouth by default



On Mon, Jan 20, 2014 at 11:12:21PM +0100, Andreas Cadhalpun wrote:
> Hi Josh,
> 
> On 20.01.2014 02:07, Josh Triplett wrote:
> >If the goal here is to hide the boot messages by default, note that
> >the default kernel command line includes "quiet", which hides most
> >kernel messages and systemd messages.
> 
> In my opinion the boot options 'quiet' (hide unnecessary kernel
> messages, but show the essential ones) and 'splash' (show a nice
> boot image instead) are a bit orthogonal.

If splash were a non-default boot option, and plymouth did nothing
unless the kernel command line had that option, that seems entirely
reasonable.  Very easily done; just add this to the plymouth service,
for instance:
ConditionKernelCommandLine=splash

> >Apart from that, I'd echo a frequent description I've seen of splash
> >screens: "a splash screen exists so that while you're waiting on the
> >program you actually wanted, you know who to blame for it not running
> >yet".
> 
> I'd rather say, a splash screen exists to make it possible to have a
> nice, consistent look from boot loader over actual booting to
> desktop background.

On current systems, there's an even better way to do that: make sure the
kernel doesn't change the video mode set by the BIOS, and doesn't draw
on the screen at all until X takes over.  Then, you go straight from the
BIOS or bootloader to your display manager login prompt.  The display
manager can even crossfade from the former to the latter, if you like.

> >Plymouth makes booting slower for the sake of showing an image and
> >hiding messages.
> 
> As I stated before in this thread, plymouth makes the boot not
> measurable slower, as the variance between boots is larger than the
> difference plymouth makes, at least for me.
> $ systemd-analyze blame | grep plymouth
>             33ms plymouth-start.service
>             21ms plymouth-quit.service
>             20ms plymouth-quit-wait.service
>             12ms plymouth-read-write.service
> That makes a total of 86 ms, but this overestimates the real time,
> the boot is made slower, because these services are executed in
> parallel to other services.
> All in all the boot time is no argument against plymouth.

When you're attempting to boot in a fraction of a second, 86ms is an
eternity.  If your boot process takes long enough that 86ms is lost in
the noise, it's taking *far* too long.

Furthermore, I don't think that counts the delay incurred by any mode
switches caused by Plymouth, and to the best of my knowledge only the
most modern systems and hardware can avoid those mode switches, so
you're actually incurring disproportionately more of a delay on
lower-end systems.

> >and we should aim to boot so fast that a splash screen
> >would simply be an unnecessary flicker.
> 
> Of course, this would be the best solution. So as soon as Debian
> boots even on old grandma's computer in less then a second, plymouth
> will be unnecessary. ;)
> Unfortunately, this seems rather like utopia.

It's spelled "systemd". ;)
But seriously, that's very much the goal.  And I think "less than a
second" is not required to make a splash screen unnecessary; less than 5
seconds seems quite sufficient to make a splash screen superfluous.
Plymouth and other splash screens were created when the norm was for a
system running a desktop environment to take 30-60 seconds to boot; on
such systems, a splash screen and progress bar seems quite reasonable.

- Josh Triplett


Reply to: