Re: [opensuse-factory] 12.3 RC1 status / network problem / startup animation
The updated Plymouth looks very nice! However I can confirm Johannes's observation: when I shut down, the geeko fades nicely to blackness then briefly appears at 100% opacity before final shutdown, which somewhat ruins the effect. (I don't know what's wrong.) Michael -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, 2013-02-11 at 21:28 -0600, Michael Catanzaro wrote:
The updated Plymouth looks very nice! However I can confirm Johannes's observation: when I shut down, the geeko fades nicely to blackness then briefly appears at 100% opacity before final shutdown, which somewhat ruins the effect. (I don't know what's wrong.)
Michael
Richard, I "fixed" this issue and I'll send you a pull request on GitHub soon. My solution for the geeko reappearing at full opacity at the end of the boot is to reposition him beneath the background; I guess there might be a Plymouth bug causing him to reappear on some machines, as I didn't find a problem with your script. My solution for the geeko disappearing and reappearing at the end of the boot is less elegant; I had to swap the background image for one that has the geeko in it, which increases the size of the package considerably as now we need eight wallpapers instead of four. This isn't great, but it looks way better so I hope that's acceptable. Michael Catanzaro -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Tue, 2013-02-12 at 22:36 -0600, Michael Catanzaro wrote:
I "fixed" this issue and I'll send you a pull request on GitHub soon.
After more testing it seems my "fix" was just good luck. :-( I'll keep working on this but with low expectations, sorry. Michael Catanzaro -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Richard I found the real bug, it was a script issue after all. The *1.2 was our undoing as an opacity of 1.1 is treated as opacity 0.1, not opacity 1.0 as we assumed! That's why the geeko is disappearing and fading in again towards the end of the boot; he's hitting opacity 1.0 and may keep going up to 1.2 = 0.2. (You may not see this because the progress never actually reaches 1.0; I generally reach about 0.75 before the animation dies, which is fine. But sometimes I reach 0.85, and 0.85*1.2 > 1 so the geeko disappears and starts fading in again.) So we just need to make sure to set the opacity to 1 if it's greater than 1, or 0 if it's less than 0 - problem solved. For shutdown the geeko starts at 1.2 = 0.2 opacity and runs down from there; if he hits 1.0 = 0.0 then he'll reappear at full opacity and then continue running down. So the shutdown animation is completely broken; and there's another problem: shutdown progress is weird; it doesn't ever reach anywhere near 1. For me it goes from 0.0 up to 0.18, so if we remove the *1.2 from the opacity then we're going to get 1/5 the fade-out range we would expect (from 100% down to 80% - hardly noticeable). For you, your shutdown progress much not reach even that high, since if it did then you WOULD have noticed the reappearing geeko. Since I don't understand how shutdown progress works at all, I'm not really sure the best fix. If shutdown progress doesn't end at the same place for all computers, which seems likely as if it did then surely that value would be 1.0, then we're going to have to accept both partially-faded and early-faded geekos. Here's what I currently have; looking perfect for my computer, but who knows about yours or Neighbor Bob's. fun progress_callback (duration, progress) { if (Plymouth.GetMode() == "suspend" || Plymouth.GetMode() == "resume") { <snip> } else { # Be super careful with opacity. All values are modulo 1, # so if we go above 1 we will begin fading in again. if (Plymouth.GetMode() == "boot") { opacity = progress * 1.1; if (opacity > 1) { opacity = 1; } geeko.sprite.SetOpacity (opacity); } else { opacity = 1 - progress*6; if (opacity < 0) { opacity = 0; } geeko.sprite.SetOpacity (opacity); } } } Note the parenthesis are necessarily gone from the shutdown opacity; previously that was (1-progress)*1.2 which started us at 20% opacity. (I also toned down the fade-in at boot from *1.2 to *1.1 to make it a bit more gradual; that should look better for everyone.) P.S. to print your boot "progress" you can make a sprite from text: http://www.freedesktop.org/wiki/Software/Plymouth/Scripts -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Thanks Michael, I've accepted your pull request against branding and I'm going to give your values a thorough test now I'm a little nervous about the "*6", but as you've discovered, plymouth's progress is an imperfect thing, I'll accept your values that 'make no sense but look pretty' as long as they look pretty on both of my test machines, a test VM, and assuming they work right on your machine as the submitter On 14 February 2013 02:11, Michael Catanzaro <mike.catanzaro@gmail.com> wrote:
Richard I found the real bug, it was a script issue after all. The *1.2 was our undoing as an opacity of 1.1 is treated as opacity 0.1, not opacity 1.0 as we assumed!
That's why the geeko is disappearing and fading in again towards the end of the boot; he's hitting opacity 1.0 and may keep going up to 1.2 = 0.2. (You may not see this because the progress never actually reaches 1.0; I generally reach about 0.75 before the animation dies, which is fine. But sometimes I reach 0.85, and 0.85*1.2 > 1 so the geeko disappears and starts fading in again.) So we just need to make sure to set the opacity to 1 if it's greater than 1, or 0 if it's less than 0 - problem solved.
For shutdown the geeko starts at 1.2 = 0.2 opacity and runs down from there; if he hits 1.0 = 0.0 then he'll reappear at full opacity and then continue running down. So the shutdown animation is completely broken; and there's another problem: shutdown progress is weird; it doesn't ever reach anywhere near 1. For me it goes from 0.0 up to 0.18, so if we remove the *1.2 from the opacity then we're going to get 1/5 the fade-out range we would expect (from 100% down to 80% - hardly noticeable). For you, your shutdown progress much not reach even that high, since if it did then you WOULD have noticed the reappearing geeko.
Since I don't understand how shutdown progress works at all, I'm not really sure the best fix. If shutdown progress doesn't end at the same place for all computers, which seems likely as if it did then surely that value would be 1.0, then we're going to have to accept both partially-faded and early-faded geekos. Here's what I currently have; looking perfect for my computer, but who knows about yours or Neighbor Bob's.
fun progress_callback (duration, progress) { if (Plymouth.GetMode() == "suspend" || Plymouth.GetMode() == "resume") { <snip> } else { # Be super careful with opacity. All values are modulo 1, # so if we go above 1 we will begin fading in again. if (Plymouth.GetMode() == "boot") { opacity = progress * 1.1; if (opacity > 1) { opacity = 1; } geeko.sprite.SetOpacity (opacity); } else { opacity = 1 - progress*6; if (opacity < 0) { opacity = 0; } geeko.sprite.SetOpacity (opacity); } } }
Note the parenthesis are necessarily gone from the shutdown opacity; previously that was (1-progress)*1.2 which started us at 20% opacity. (I also toned down the fade-in at boot from *1.2 to *1.1 to make it a bit more gradual; that should look better for everyone.)
P.S. to print your boot "progress" you can make a sprite from text: http://www.freedesktop.org/wiki/Software/Plymouth/Scripts
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (2)
-
Michael Catanzaro
-
Richard Brown