The wrong background flashes up briefly during the login animation since Yaru was introduced

Bug #1789356 reported by Daniel van Vugt on 2018-08-28
20
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-shell (Ubuntu)
Medium
Didier Roche
Cosmic
Medium
Didier Roche
mutter (Ubuntu)
Medium
Daniel van Vugt
Cosmic
Medium
Daniel van Vugt

Bug Description

[Impact]

The wrong background flashes up briefly (for a split second) during the login animation.
The login screen and gnome-shell's system background are meant to be the same image so that the login procedure can VT switch without the user noticing. Then the final desktop expands over the system background. However it appears the login background and system background are not the same image any more, causing a visible glitch during login.

[Test Case]

1. Install new version, logout
2. Log in into GDM
-> Check that at login startup, the background matches GDM ones (same color, same gradient)
3. Logout, install gnome-session
4. Reboot so that GDM takes gnome-session into account
5. Select GNOME session and login
-> At login startup, the background will matche the GNOME default one (from the lockscreen: grey noise), which matches GDM one if reset to default GNOME via update-alternatives.

[Regression Potential]

This code is loaded at session startup, if there is a syntax error, the session wouldn't start at all.
This has been of course tested before committed (both on ubuntu and GNOME sessions)

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: yaru-theme-gnome-shell 18.10.2
ProcVersionSignature: Ubuntu 4.17.0-7.8-generic 4.17.12
Uname: Linux 4.17.0-7-generic x86_64
ApportVersion: 2.20.10-0ubuntu9
Architecture: amd64
Date: Tue Aug 28 14:19:48 2018
Dependencies:

InstallationDate: Installed on 2018-05-26 (93 days ago)
InstallationMedia: Ubuntu 18.10 "Cosmic Cuttlefish" - Alpha amd64 (20180525)
PackageArchitecture: all
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_AU.UTF-8
 SHELL=/bin/bash
SourcePackage: yaru-theme
UpgradeStatus: No upgrade log present (probably fresh install)

Daniel van Vugt (vanvugt) wrote :

That is very strange indeed. There is no specific styling for the second screen though. I thought that this was fixed with https://github.com/ubuntu/yaru/issues/583
But obviously not. I will look into this.

Daniel van Vugt (vanvugt) wrote :

Maybe ignore this bug for a little while. It is presently masked by a much bigger issue of the login screen and shell using the wrong VTs (and flickering, and failing) in cosmic. So transitioning doesn't presently work because of that too. Wait for the fix for bug 1786872 and bug 1786883 to be released first.

Adolfo Jayme (fitojb) on 2018-09-19
Changed in yaru-theme (Ubuntu):
importance: Undecided → Low
summary: - Yaru purple background doesn't match the gnome-shell purple background
- in the login animation
+ Dark purple (noise) background flashes up briefly during the login
+ animation
description: updated
tags: added: rls-cc-incoming

Not a rls bug. Can be fixed later.

tags: added: rls-cc-notfixing
removed: rls-cc-incoming
Didier Roche (didrocks) wrote :

Fixed in gnome-shell as this is a separate parameter. Nice catch!

affects: yaru-theme (Ubuntu) → gnome-shell (Ubuntu)
Changed in gnome-shell (Ubuntu):
assignee: nobody → Didier Roche (didrocks)
status: New → Triaged
Changed in gnome-shell (Ubuntu):
status: Triaged → In Progress
Iain Lane (laney) on 2018-11-07
Changed in gnome-shell (Ubuntu Cosmic):
assignee: nobody → Didier Roche (didrocks)
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 3.30.1-2ubuntu2

---------------
gnome-shell (3.30.1-2ubuntu2) disco; urgency=medium

  [ Didier Roche ]
  * debian/patches/ubuntu/background_login.patch:
    - match Yaru theme in the ubuntu session instead of our previous GDM
      background (LP: #1789356)
  * debian/patches/ubuntu/resolve_alternate_theme_path.patch:
    - ensure we resolve finale theme file path to correctly load assets
      under gdm (LP: #1798747)

  [ Marco Trevisan (Treviño) ]
  * debian/patches/st-button-Ignore-pointer-emulated-touch-events.patch:
    - Don't emit two click events on touch under X11 (LP: #1745888)

 -- Iain Lane <email address hidden> Wed, 07 Nov 2018 11:05:30 +0000

Changed in gnome-shell (Ubuntu):
status: In Progress → Fix Released

Hello Daniel, or anyone else affected,

Accepted gnome-shell into cosmic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-shell/3.30.1-2ubuntu1.18.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-cosmic to verification-done-cosmic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-cosmic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gnome-shell (Ubuntu Cosmic):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-cosmic
summary: Dark purple (noise) background flashes up briefly during the login
- animation
+ animation since Yaru was introduced

The proposed fix 3.30.1-2ubuntu1.18.10.1 certainly changes things, but is equally broken as the original bug. Using the proposed fix a weird gradient flashes up briefly that doesn't match the login screen background and is more visually distracting than the original bug.

tags: added: verification-failed verification-failed-cosmic
removed: verification-needed verification-needed-cosmic
Didier Roche (didrocks) wrote :

Are you sure it's differently? Look at the diff, it's supposively exactly the same values than Yaru. Please check it and revert the status as needed.

Changed in gnome-shell (Ubuntu Cosmic):
assignee: Didier Roche (didrocks) → Daniel van Vugt (vanvugt)
Daniel van Vugt (vanvugt) wrote :

Yes, I have now tested the proposed fix on two separate fresh installations of cosmic. One HP and one Lenovo laptop. In both cases they show a weird multi-stop gradient after the fix is installed. Looks like the colour goes up-down-up-down instead of just down.

Changed in gnome-shell (Ubuntu Cosmic):
assignee: Daniel van Vugt (vanvugt) → nobody
Sebastien Bacher (seb128) wrote :

Daniel, ok you consider the fix here as problematic. Do we believe it's worth unvalidating the SRU over it though? We have enough difficulties landing gnome-shell SRUs fixing at the moment and the touch event one included in the same update is important to oem.
If the background change is not perfect but not worth than we had perhaps we can mark it verified, get that SRU in on the principle that it's not really making things worth and have another go later at fixing it more correctly?

Daniel van Vugt (vanvugt) wrote :

It does make this bug worse. The original bug was barely noticeable, but with that fix it's really a bright and obvious glitch.

What we could do is release the SRU but just keep this bug open.

Didier Roche (didrocks) wrote :

I don't have the time to do a testround again, but I can give pointers for whoever has time to have a look:

The patch is https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/gnome-shell/commit/?id=ddc4f511abd64d69c1150a41475d0a1ebac01dbb, in particular:
systemBackground = new Meta.Background({ meta_display: global.display });
[res, topColor] = Clutter.Color.from_string('#6D2169');
[res, bottomColor] = Clutter.Color.from_string('#370026');
systemBackground.set_gradient(GDesktopEnums.BackgroundShading.VERTICAL, topColor, bottomColor);

This is hardcoded in the Shell code (I made it conditional by session type). This was made to match what is in the Yaru.css file:

#lockDialogGroup {
  background: none;
  background-color: none;
  background-gradient-direction: vertical;
  background-gradient-start: #6D2169;
  background-gradient-end: #370026; }

As I don't have bionic/cosmic eyes as yours, for me, for the short while this screen appeared, ti seemed the same gradient, with the same VERTICAL transition.

Changed in gnome-shell (Ubuntu Cosmic):
assignee: nobody → Daniel van Vugt (vanvugt)
Daniel van Vugt (vanvugt) wrote :

Thanks. I have confirmed on a third cosmic machine the same bug in 3.30.1-2ubuntu1.18.10.1 :(

However, when I apply the above patch to gnome-shell git (either master or gnome-3-30 branches), there is no bug at all. The patch works fine in my own local builds from git.

Daniel van Vugt (vanvugt) wrote :

I was wrong. I can see the same bug in git builds. It's just not obvious when you're not coming from the login screen.

Changed in gnome-shell (Ubuntu Cosmic):
status: Fix Committed → In Progress
Changed in gnome-shell (Ubuntu):
assignee: Didier Roche (didrocks) → Daniel van Vugt (vanvugt)
status: Fix Released → In Progress
Daniel van Vugt (vanvugt) wrote :

I found the problem yesterday.

The regression is that the gradient (which didn't appear at all before) now only occupies the middle 50% of the screen. This means it looks squashed and different to the login screen. The top and bottom 25% of the screen are solid colours.

It looks like a problem with texture coordinates and GL clamp-to-edge, since the gradient is really only a 1x2 two pixel texture rendered with linear filtering.

tags: added: regression-release
summary: - Dark purple (noise) background flashes up briefly during the login
- animation since Yaru was introduced
+ The wrong background flashes up briefly during the login animation since
+ Yaru was introduced
description: updated
Daniel van Vugt (vanvugt) wrote :

Fix proposed to mutter here:
https://gitlab.gnome.org/GNOME/mutter/merge_requests/308

That means the proposed gnome-shell update can stay unmodified :)

Changed in mutter (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in mutter (Ubuntu Cosmic):
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in mutter (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
Changed in mutter (Ubuntu Cosmic):
importance: Undecided → Medium
Changed in gnome-shell (Ubuntu):
importance: Low → Medium
Changed in gnome-shell (Ubuntu Cosmic):
importance: Undecided → Medium
Changed in gnome-shell (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → Didier Roche (didrocks)
Changed in gnome-shell (Ubuntu Cosmic):
assignee: Daniel van Vugt (vanvugt) → Didier Roche (didrocks)
Changed in gnome-shell (Ubuntu):
status: In Progress → Fix Released
Changed in gnome-shell (Ubuntu Cosmic):
status: In Progress → Fix Committed
Changed in mutter (Ubuntu Cosmic):
status: New → Triaged
Daniel van Vugt (vanvugt) wrote :

I now think the proposed gnome-shell version 3.30.1-2ubuntu1.18.10.1 is fine. It doesn't need fixing in itself but it does hit a mutter bug which needs fixing per the above link.

Since they would be released at different times anyway, and the secondary regression is probably already visible in disco, we may as well release the gnome-shell fix to cosmic now. The mutter fix is complete and will come soon (only waiting on upstream review).

tags: added: verification-done verification-done-cosmic
removed: verification-failed verification-failed-cosmic
Brian Murray (brian-murray) wrote :

I gather from Daniel's testing that this makes things worse for users of Cosmic. If that is correct, even if a fix for mutter is coming, I don't think releasing gnome-shell to -updates is the right idea.

Changed in gnome-shell (Ubuntu Cosmic):
status: Fix Committed → Incomplete
Didier Roche (didrocks) wrote :

I think Daniel was clear by changing to verification-done that this can go in.
We are talking about a less than a second flash, while blocking a bunch of fixes for GNOME Shell in cosmic. Note that this second flash already existed before the fix, and that the fix is correct, it will only be correctly applied once mutter is in.

Daniel, can you please state clearly your intend? Sounds like the GNOME Shell SRU is now blocked for a month, resulting for instance in still no checkbox in GDM for accessibility, which is worse than the current issue we are nitpiking on here IMHO.

Daniel van Vugt (vanvugt) wrote :

The proposed version of gnome-shell only makes this bug a little worse, to the extent that I expect other people will start reporting the bug and not just me. I don't mind if the gnome-shell fix goes into cosmic first and we live with that briefly - it would be no worse than disco is right now. However if the mutter fix was to be released first then we would avoid a perceived secondary (more visible) regression.

That all said, I agree with Didier that if other bug fixes are getting delayed by this then just release it. The proposed gnome-shell version does not need fixing in itself. It only needs an additional mutter fix later to correct the login animation appearance.

Changed in gnome-shell (Ubuntu Cosmic):
status: Incomplete → Fix Committed

On Wed, Dec 12, 2018 at 07:48:37AM -0000, Didier Roche wrote:
> I think Daniel was clear by changing to verification-done that this can go in.
> We are talking about a less than a second flash, while blocking a bunch of fixes for GNOME Shell in cosmic. Note that this second flash already existed before the fix, and that the fix is correct, it will only be correctly applied once mutter is in.

The bunch of fixes to which you are referring is really only two of
them.

> Daniel, can you please state clearly your intend? Sounds like the GNOME
> Shell SRU is now blocked for a month, resulting for instance in still no
> checkbox in GDM for accessibility, which is worse than the current issue
> we are nitpiking on here IMHO.

That seems like an important bug fix to get in and one worth ignoring
this bug for.

--
Brian Murray

Brian Murray (brian-murray) wrote :

On Wed, Dec 12, 2018 at 08:06:53AM -0000, Daniel van Vugt wrote:
> The proposed version of gnome-shell only makes this bug a little worse,
> to the extent that I expect other people will start reporting the bug
> and not just me. I don't mind if the gnome-shell fix goes into cosmic
> first and we live with that briefly - it would be no worse than disco is
> right now. However if the mutter fix was to be released first then we
> would avoid a perceived secondary (more visible) regression.

"No worse than disco" isn't great argument because disco is the
development release of Ubuntu.

> That all said, I agree with Didier that if other bug fixes are getting
> delayed by this then just release it. The proposed gnome-shell version
> does not need fixing in itself. It only needs an additional mutter fix
> later to correct the login animation appearance.

Sounds good.

--
Brian Murray

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell - 3.30.1-2ubuntu1.18.10.1

---------------
gnome-shell (3.30.1-2ubuntu1.18.10.1) cosmic; urgency=medium

  [ Didier Roche ]
  * debian/patches/ubuntu/background_login.patch:
    - match Yaru theme in the ubuntu session instead of our previous GDM
      background (LP: #1789356)
  * debian/patches/ubuntu/resolve_alternate_theme_path.patch:
    - ensure we resolve finale theme file path to correctly load assets
      under gdm (LP: #1798747)

  [ Marco Trevisan (Treviño) ]
  * debian/patches/st-button-Ignore-pointer-emulated-touch-events.patch:
    - Don't emit two click events on touch under X11 (LP: #1745888)

  [ Iain Lane ]
  * Update Vcs-Git for SRU to cosmic

 -- Iain Lane <email address hidden> Wed, 07 Nov 2018 12:16:25 +0000

Changed in gnome-shell (Ubuntu Cosmic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.