Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use BGRT Plymouth theme #4

Merged
merged 17 commits into from Jan 15, 2021
Merged

Use BGRT Plymouth theme #4

merged 17 commits into from Jan 15, 2021

Conversation

meisenzahl
Copy link
Member

@meisenzahl meisenzahl commented Nov 15, 2020

Closes #3

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 15, 2020

When updating the initramfs with sudo update-initramfs -u -k all I get the following warning:

W: plymouth module (/usr/lib/x86_64-linux-gnu/plymouth//two-step.so) missing, skipping that theme.

So the theme is not installed.

Ubuntu 20.04.1

This works with Ubuntu 20.04.1. Plymouth related installed packages:

ii  libplymouth5:amd64                         0.9.4git20200323-0ubuntu6           amd64        graphical boot animation and logger - shared libraries
ii  plymouth                                   0.9.4git20200323-0ubuntu6           amd64        boot animation, logger and I/O multiplexer
ii  plymouth-label                             0.9.4git20200323-0ubuntu6           amd64        boot animation, logger and I/O multiplexer - label control
ii  plymouth-theme-spinner                     0.9.4git20200323-0ubuntu6           amd64        boot animation, logger and I/O multiplexer - spinner theme
ii  plymouth-theme-ubuntu-text                 0.9.4git20200323-0ubuntu6           amd64        boot animation, logger and I/O multiplexer - ubuntu text theme

elementary OS 6 daily

ii  libplymouth5:amd64                         0.9.4git20200323-0ubuntu6.2            amd64        graphical boot animation and logger - shared libraries
ii  plymouth                                   0.9.4git20200323-0ubuntu6.2            amd64        boot animation, logger and I/O multiplexer
ii  plymouth-label                             0.9.4git20200323-0ubuntu6.2            amd64        boot animation, logger and I/O multiplexer - label control
ii  plymouth-theme-elementary                  5.1.2-0~348~daily~ubuntu6.0.1          all          changes the plymouth theme to elementary OS
ii  plymouth-theme-elementary-text             5.1.2-0~348~daily~ubuntu6.0.1          all          Dummy transitional package

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 15, 2020

Update

Missing library is provided by plymouth-theme-spinner.

Reference: https://packages.ubuntu.com/focal-updates/amd64/plymouth-theme-spinner/filelist

@meisenzahl
Copy link
Member Author

I copied all files from Ubuntu's theme and only slightly modified them. (watermark.png and elementary.plymouth)

Bildschirmfoto von 2020-11-15 18-11-52

@meisenzahl
Copy link
Member Author

@cassidyjames the animated spinner is a series of PNGs. How is elementary's spinner created? Pure CSS?

Could we export it as single PNGs?

We have to play a bit with size of elementary's logo. Ubuntu's logo is 248 x 49. I resized elementary's logo to 64 x 64.

@cassidyjames
Copy link
Contributor

@meisenzahl honestly I'm wondering if we just drop the elementary logo from here. This screen is typically short-lived, and I don't want to over-brand it with competing logos.

Regarding the spinner, there is @elementary/icons/status/symbolic/process-working-symbolic, which we could recolor to white and export different states. How many images do you need?

@danrabbit thoughts on both of the above?

@meisenzahl
Copy link
Member Author

@cassidyjames I would also have no problem removing the elementary logo. The screen looks a bit overloaded.

We need one image for each frame of the animation. We might have to resize it a bit. The Ubuntu images are 38 x 38.

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 16, 2020

Peek 2020-11-16 12-23

@cassidyjames thank you for providing the images.

@meisenzahl
Copy link
Member Author

Peek 2020-11-16 16-39

@meisenzahl
Copy link
Member Author

Update

Missing library is provided by plymouth-theme-spinner.

Reference: https://packages.ubuntu.com/focal-updates/amd64/plymouth-theme-spinner/filelist

How do we package it? We need two-step.so which is provided by plymouth-theme-spinner. Which is the Ubuntu Plymouth theme.

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 16, 2020

  • What happens when the hardware doesn't have an image? Is that a possibility?

We can test this on Raspberry Pi.

Update

As expected, the center simply remains empty if no logo can be extracted from the firmware.

This happens with all ARM and older x86 devices.

@elementary elementary deleted a comment from cassidyjames Nov 16, 2020
@cassidyjames
Copy link
Contributor

cassidyjames commented Nov 16, 2020

@meisenzahl I really like how minimal this is. We should probably decide/test some things before merging:

  • What happens when the hardware doesn't have an image? Is that a possibility? Update: Answered above. The screen is just blank with the loading spinner. Honestly, probably still fine.
  • Are we okay leaving the OS branding out here? I like how clean it looks, personally. Update: I talked with @danrabbit and we're game to try it out
  • How does this look/work for things like firmware updates (the original reason we were looking at a bgrt theme)? How do we test that?
  • How does it look for encryption?
  • Are there assets we're missing, like text entries or progress bars or anything?
  • Can we document how exactly to test this on an elementary OS 6 system? Would Provide build system? #5 make that easier?

Anything else I'm missing?

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 17, 2020

I created a Merge Request for Plymouth:

Use fallback image if BGRT is not supported

@meisenzahl
Copy link
Member Author

Firmware upgrade

Bildschirmfoto von 2020-11-17 17-11-33

System upgrade

Bildschirmfoto von 2020-11-17 17-11-46

Updates

Bildschirmfoto von 2020-11-17 17-12-03

Password prompt

Bildschirmfoto von 2020-11-17 17-14-08

@meisenzahl
Copy link
Member Author

meisenzahl commented Nov 17, 2020

Regarding the password prompt we could provide our own

  • entry.png
  • lock.png

The progress bar is drawn without assets.

@cassidyjames
Copy link
Contributor

@meisenzahl I updated my comment above, but I think the main thing blocking this now is documenting how to install/test it on elementary OS 6.

meisenzahl and others added 3 commits November 18, 2020 19:49
Co-authored-by: Cassidy James Blaede <cassidy@elementary.io>
@davidmhewitt
Copy link
Member

I can confirm that the debian packaging works as expected.

When installing the deb built from this branch, it correctly pulls in the plymouth-theme-spinner package from the Ubuntu repos, but the elementary theme takes precedence and is set as the active plymouth theme.

Even when forcibly re-installing the plymouth-theme-spinner package, the elementary theme stays the default.

@cassidyjames cassidyjames marked this pull request as ready for review November 18, 2020 23:37
@cassidyjames
Copy link
Contributor

Updating with some screenshots from my latest changes and testing. Also, note that at least on my HiDPI Dell Precision 5530, testing in the session will show a double-sized logo, but during an actual boot it is correctly sized.

20201118_174152

20201118_174154

20201118_174156

@cassidyjames cassidyjames added this to In progress in OEM-friendliness via automation Nov 24, 2020
@davidmhewitt
Copy link
Member

While I'm happy with these changes technically and have tested that the debian packaging works, the current plymouth-theme-elementary package is generated from the elementary-default-settings source package.

We can see the source of the plymouth theme here:
https://github.com/elementary/default-settings/tree/master/plymouth

I think if we set up a launchpad recipe for this repo, and updated the debian changelog here so that the version of this was newer than the one from default settings (currently 5.1.2), this would supersede the one from default-settings. Then we could remove that from the packaging there.

I feel it makes sense for this to be in its own separate repo, but it's just a bit fiddly to swap the debian package over.

@cassidyjames
Copy link
Contributor

@danrabbit and/or @tintou could you look into that? ^

@tintou
Copy link
Member

tintou commented Dec 5, 2020

I've updated the debian packaging and added a breaks/replaces of the current version of elementary-default-settings.
This package can only be installed with an upgraded elementary-default-settings.

Some files have been taken from elementary-default-settings so only allow to install
if we have the updated version.
@meisenzahl
Copy link
Member Author

I suggest that we first merge #7.

This way we do not pollute the Git history with the png files.

@cassidyjames do we want to transfer the explanations in the README to the Wiki?

@cassidyjames
Copy link
Contributor

@meisenzahl I'm indifferent; the README is fine to me

@meisenzahl
Copy link
Member Author

I created a Merge Request for Plymouth:

Use fallback image if BGRT is not supported

The feature was recently merged.

I created an issue to deploy the latest version of Plymouth.

@cassidyjames while we are here: can you provide a version of elementary's logo as fallback image for ARM based devices?

It has to be located in elementary/bgrt-fallback.png

@cassidyjames
Copy link
Contributor

@meisenzahl reusing https://github.com/elementary/plymouth-theme/blob/master/elementary/logo.png seems to make the most sense to me

@cassidyjames
Copy link
Contributor

@meisenzahl I think I'd rather get this merged sooner instead of it being blocked forever.

@cassidyjames cassidyjames merged commit 00897e9 into master Jan 15, 2021
OEM-friendliness automation moved this from In progress to Done Jan 15, 2021
@cassidyjames cassidyjames deleted the use-bgrt-plymouth-theme branch January 15, 2021 21:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

Use bgrt plymouth theme
5 participants