Re: Plymouth, themes and console clearing: https://bugzilla.redhat.com/show_bug.cgi?id=1933378

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

 



Hi,

On 3/4/21 9:14 PM, Adam Williamson wrote:
> Hey folks!
> 
> So I've filed a bug recently which may need wider discussion about the
> resolution. The bug report is:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1933378
> 
> The problem is this. If plymouth is installed but no graphical theme is
> installed/configured - which is currently the case for at least Server
> and minimal installs - plymouth uses a 'fallback' text theme, which
> Hans says is under-maintained. Since around Fedora-Rawhide-
> 20210122.n.0, openQA has been encountering an intermittent problem
> where this theme does not clear properly when boot is complete and the
> console login is shown, it looks like this:
> 
> https://openqa.fedoraproject.org/tests/799388#step/_console_wait_login/6
> 
> It gets worse once you actually try and log in - bits of the grey
> background get wiped and replaced with black in ugly patterns, this
> both looks dumb and makes working around the bug in openQA by adding
> more screenshots impractical (because the pattern of the background
> just keeps changing). This bug does not seem to happen if a Plymouth
> graphical theme is installed and configured, only if the fallback text
> theme is used.
> 
> In the bug report, we did a bit of looking into what bits of Plymouth
> are installed when. In comps, 'plymouth' itself is listed as
> 'mandatory' in @core. This seems to ultimately date back to
> https://pagure.io/fedora-comps/c/0dca8c2b3f04624873918e6dfef12f27bf1a6d75
> by Bill, which was in response to 
> https://bugzilla.redhat.com/show_bug.cgi?id=801087 (the bug number in
> the commit is a typo). The commit claims "Add plymouth to core, to
> match prior releases", but it was *not* in @core in "previous releases"
> so far as I can tell; it may have been pulled into minimal installs via
> dependencies (I can check an F16 minimal install later).
> 
> 'plymouth-system-theme' - which installs the default graphical theme -
> is in the 'base-x' group. So only package sets that include base-x will
> install a graphical theme for Plymouth. This includes all major
> desktops, but does *not* include at least Server or minimal installs
> (and probably some other subsets I'm not thinking of). Anything that
> includes @core but *not* @base-x will hit the broken configuration.
> 
> Obviously one option here is just to fix the bug in Plymouth, but Hans
> suggested that we should fix it by not installing Plymouth in this
> configuration - i.e. we should only ever install plymouth and plymouth-
> system-theme or no plymouth at all.
> 
> If you don't have plymouth installed, you get a very old-school "wall
> of text" boot process; if there are encrypted system partitions, you
> get a plain text prompt for the encryption passphrase, with no keyboard
> layout indicator (I'm not sure if the text theme indicates the keyboard
> layout either).

The kbd-layout indicator in plymouth (and the capslock indicator) is
something which I recently added and which is only available in the
graphical bgrt and spinner themes.

Note that even in graphical mode plymouth relies on the console-keyboard
driver / console keyboard map, because keyboard-mapping is nasty and we
don't want to re-invent that wheel. We even rely on systemd to setup the
keymap for us, so keymap wise nothing will change when plymouth is not
in the loop.

Also while on the subject, both indicators in the bgrt/spiner theme
are actually not directly reflecting to the console-keyboard driver
state. Since the console's kbd code has no notion of storing a
keymap-name or some such. So instead plymouth just mimicks systemd's
kernel cmdline and /etc/vconsole.conf parsing and gets the map which
systemd should have set if everything is working correctly. In practice
this works well because the biggest problem is the initrd not being
regenerated after changing the keymap and this get caught this way.
This does mean that is should be easy for systemd to show the keymap
the same way if that is desirable. All the code to do the config
parsing is already right there in systemd. It may make sense for
someone to file a RFE for this.

As for capslock there also is no way to query this, so instead the
actual capslock-LED state is queried and that is used.

> Starting from a minimal install with plymouth omitted, adding just
> plymouth itself pulls in 3 packages (plymouth, plymouth-core-libs,
> plymouth-scripts) with an installed size of 621K. Adding plymouth-
> system-theme pulls in 32 packages with an installed size of 24M. So
> putting plymouth-system-theme in @core would substantially inflate the
> size of @core in terms of both number of packages and overall installed
> size. Removing plymouth from @core would not save a lot in terms of
> packages or space.
> 
> So, I guess the question here is, what do we do?
> 
> 1) Remove plymouth from @core
> 2) Add plymouth-system-theme to @core
> 3) Make Hans/Ray/someone fix the plymouth bug

1) clearly gets my vote, not just because I don't have time to work on 3)
but also because to me it seems like the right thing to do. Plymouth is
a boot splash, its goal is to make the boot look pretty / hide all the
scary log messages in use-cases where we want this.  The text fallback
splash is not pretty. In general if it shows instead of the graphical
splash the fact that the text fallback shows is considered a bug.

So either the server spin wants a pretty boot and then they should fix the
bug of the text splash showing by installing plymouth-system-theme, or the
server spin does not want a pretty boot and then there should be no
plymouth at all.

Note this is all just my 2 cents. I did not discuss this with Ray at all,
so Ray may have a different take on this.

Regards,

Hans
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux