Screen is black for too long during login to Unity8

Bug #1672401 reported by Pete Woods
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Triaged
Medium
Unassigned
Mir
Triaged
Medium
Unassigned
Unity System Compositor
Confirmed
Wishlist
Unassigned
mir (Ubuntu)
Triaged
Medium
Unassigned
unity-system-compositor (Ubuntu)
Confirmed
Wishlist
Unassigned
unity8 (Ubuntu)
Triaged
Medium
Unassigned

Bug Description

This makes me worry there's something gone wrong on every login.

It's only this slow on a cold boot. It's somewhat faster on a second login.

It'd be nice for there to be something like:

* Splash screen
* Progress bar
* User's wallpaper (blurred?)

during this time.

Maybe it's faster on bare metal, but I'm waiting a while in a Qemu VM.

== Note ==

The experience might differ depending on whether you use unity-greeter (X11-based, default in 17.04) or unity8-greeter (not installed by default yet), which is better suited for this.

Pete Woods (pete-woods)
no longer affects: ubuntu-terminal-app (Ubuntu)
tags: added: unity8-desktop
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

"several seconds" isn't 25 seconds is it? A fix for that long login delay landed in the past few days.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Please attach your ~/.cache/upstart/unity8.log from immediately after login completes.

Changed in unity8 (Ubuntu):
status: New → Incomplete
Changed in canonical-devices-system-image:
status: New → Incomplete
Revision history for this message
Pete Woods (pete-woods) wrote : Re: Screen goes black for ~13 seconds during login with no indication of progress
summary: - Screen goes black for several seconds during login with no indication of
+ Screen goes black for ~13 seconds during login with no indication of
progress
Revision history for this message
Pete Woods (pete-woods) wrote :

Just to be clear. I don't expect the login to be instantaneous - it never will be on a slow machine. It just looks bad for the screen to be black for the whole process.

Revision history for this message
Michał Sawicz (saviq) wrote :

I'm calling this a dupe of the DBus timeout, just tried here and when you log in, the greeter stays on screen for maybe 4s, then unity8 is shown within a second.

Note I'm using unity8-greeter (which you should, too, for testing the "real" login experience for unity8) :)

Revision history for this message
Pete Woods (pete-woods) wrote :

I'm not convinced this is a duplicate of that other bug. It takes about 13 seconds for the login here. Which is not the 25 second DBus timeout you mention.

Pete Woods (pete-woods)
description: updated
Michał Sawicz (saviq)
summary: - Screen goes black for ~13 seconds during login with no indication of
- progress
+ Lacks animated transition between greeter and session
Changed in canonical-devices-system-image:
status: Incomplete → Triaged
Changed in unity8 (Ubuntu):
status: Incomplete → Triaged
Changed in canonical-devices-system-image:
importance: Undecided → Medium
description: updated
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: Lacks animated transition between greeter and session

OK, I see a couple of seconds of blackness on a Xeon desktop still (even after the dbus fix landed) so it's easy to extrapolate that a VM will have even more noticeable blackness.

This is possibly related to Unity8 setting up/compiling QML things.

Although it would be nice to have transitions in USC (and that's the whole point of it existing and the nested architecture), that's probably just a "nice to have" on the USC side. I would like to be responsible for that too, as native GL animation is something close to my heart and what I've been working toward in the Mir architecture for years.

Changed in unity-system-compositor:
importance: Undecided → Wishlist
Changed in unity-system-compositor (Ubuntu):
importance: Undecided → Wishlist
Changed in unity8 (Ubuntu):
importance: Undecided → Medium
summary: - Lacks animated transition between greeter and session
+ Screen is black for too long during login to Unity8
tags: added: black-screen
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in unity-system-compositor (Ubuntu):
status: New → Confirmed
Changed in unity-system-compositor:
status: New → Confirmed
Revision history for this message
Alejandro J. Cura (alecu) wrote :

@saviq: I'm not convinced the unity8-greeter should be the "real" login experience for unity8 on classic.

When we start shipping u8 as the default we would still want to keep u7 installed as a fallback, but we can't if we install u8-greeter.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I was thinking about this bug last night. It occurred to me the black screen is probably Mir's mesa-kms driver's first frame that it flips on start-up. As far as Mir is concerned this is a very low-severity issue since the shell should then render a proper frame 16ms later. However since Unity8 is taking several seconds to render a "proper" frame perhaps we need to change the start-up order...

Presently:
1. User enters password successfully
2. unity-system-compositor starts and Mir's mesa-kms driver flips a black frame.
3. unity8 starts and Mir's mesa-kms driver flips another black frame that USC probably displays.
4. (several seconds later) unity8 has a proper frame ready and displays that.

If we got rid of the dummy black frame from Mir (and we need to anyway since that is us hardcoding a dependency on the GL renderer in the driver) then the best case outcome from that might be several seconds of a frozen login screen before Unity8 appears. I'm not sure that's really any better than blackness.

It might be better for Unity8 to take responsibility for this and flip some splash screen immediately on startup for the user to see that everything is OK while it compiles QML and whatever.

Also nice would be for USC to display a spinner while Unity8 is not ready (hasn't displayed any frames). However we can't do that right now while Mir is inserting a black frame of its own, which would make USC think Unity8 is immediately ready.

Changed in mir:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

As a prerequisite to removing Mir's initial black frame, we would want to modify mir-demos to ensure they (the demo servers) actively paint something on start-up. Otherwise you get the situation where you're looking at an old frame (VT?) indefinitely until a client is started.

Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

Changed in mir (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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