Bug 1149070 - Make use of plymouth features while loading the installation images
Make use of plymouth features while loading the installation images
Status: CONFIRMED
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Installation
Current
Other Other
: P3 - Medium : Enhancement (vote)
: ---
Assigned To: Steffen Winterfeldt
Jiri Srain
https://trello.com/c/MjIPwKf3
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-09-01 18:41 UTC by Sasi Olin
Modified: 2022-09-22 14:27 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sasi Olin 2019-09-01 18:41:59 UTC
To better justify the waiting time while loading the installation system, we could use plymouth to display a progress bar accurately representing the progress, which is displayed in the log when the installer sets itself up.

plymouth --help command reveals what commands should be run to show a progressbar:

# To change the display to "updates mode"
plymouth change-mode --updates
# To display a custom message
plymouth display-message --text="[TEXT]"
# To change the progress status
plymouth system-update --progress=[0-100]
# etc.

The order should most likely be to first display the basic messages (Loading the basic drivers, Starting hardware detection etc.) and then showing the progress for the Loading Installation System steps.

Keep in mind, this will work with the splash used as the default in Tumbleweed (bgrt theme), not with the theme currently used in the installation scenario (tribar theme). The themes would need to be swapped, either for the TW default or the spinner theme (this will require further investigation into space constrains).

An implementation of this already exists in multiple programs, like:
PackageKit
https://github.com/hughsie/PackageKit/blob/master/client/pk-offline-update.c
fwupd
https://github.com/fwupd/fwupd/blob/master/src/fu-offline.c

This would increase user's understanding of the boot process, and let them know that the installation will load up soon, without entering a less friendly looking console.
Comment 1 Felix Miata 2019-09-02 05:50:14 UTC
(In reply to Stasiek Michalski from comment #0)
> ...without entering a less friendly looking console.

White on black is friendly, maximum contrast, easy to see, unlike green on gray or gray on green. White on black is part of existing necessities, so takes up no extra space on installation media.
Comment 2 Steffen Winterfeldt 2019-09-02 10:07:26 UTC
Well, we've *had* something like this in pre-plymouth times (with kernel splash).

Then we switched to plymouth, had to cut down on features, and since then nobody
really cared.

FWIW, the old progress update function even still exists (and is called in the
code at intervalls):

https://github.com/openSUSE/linuxrc/blob/master/util.c#L1669

Also, note that the last step(s) (should) happen not in linuxrc but in the yast
startup scripts.
Comment 3 Sasi Olin 2019-09-02 11:05:20 UTC
(In reply to Felix Miata from comment #1)
> (In reply to Stasiek Michalski from comment #0)
> > ...without entering a less friendly looking console.
> 
> White on black is friendly, maximum contrast, easy to see, unlike green on
> gray or gray on green. White on black is part of existing necessities, so
> takes up no extra space on installation media.

Current Tumbleweed splash is white on black, albeit with larger fonts and more branding (and well, better looking overall).

(In reply to Steffen Winterfeldt from comment #2)
> Well, we've *had* something like this in pre-plymouth times (with kernel
> splash).
> 
> Then we switched to plymouth, had to cut down on features, and since then
> nobody
> really cared.
> 
> FWIW, the old progress update function even still exists (and is called in
> the
> code at intervalls):
> 
> https://github.com/openSUSE/linuxrc/blob/master/util.c#L1669
> 
> Also, note that the last step(s) (should) happen not in linuxrc but in the
> yast
> startup scripts.

Ah, that's really helpful, thank you for that tip!
Comment 4 Steffen Winterfeldt 2019-09-20 08:20:06 UTC
Tracking in YaST Scrum board.
Comment 10 Stefan Hundhammer 2022-09-22 14:27:44 UTC
This would be in gfxboot which is not maintained outside the YaST team by snwint@suse.com. Reassigning.