Project

General

Profile

Bug #14521

Improve UX when GDM does not start

Added by intrigeri 10 months ago. Updated 3 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Hardware support
Target version:
Start date:
08/30/2017
Due date:
% Done:

100%

QA Check:
Pass
Feature Branch:
feature/14521-improve-UX-when-GDM-fails-to-start
Type of work:
Code
Blueprint:
Starter:
Affected tool:

Description

"when gdm doesn't start, display a text mode message with the graphic card hw info and a shortened link to our known issues page / help desk"

I volunteered to do it, anonym offered to take it over. sajolida volunteered to write the text we should display.


Related issues

Blocks Tails - Feature #13245: Core work 2018Q1: Foundations Team Resolved 06/29/2017
Blocked by Tails - Bug #15132: devel branch FTBFS since aufs-dkms 4.14 is in sid Resolved 12/29/2017
Blocked by Tails - Bug #15270: devel branch FTBFS since torbrowser-launcher 0.2.9 entered sid Resolved 01/30/2018

Associated revisions

Revision f3ba96c9 (diff)
Added by intrigeri 7 months ago

Intentionally break /usr/bin/Xorg when the autotest_broken_Xorg argument is passed in the boot options (refs: #14521)

This will be useful at least for manual testing of my work on #14521,
and possibly even to implement the corresponding test case.

Revision 2d669b71 (diff)
Added by intrigeri 6 months ago

Display a hopefully useful message with plymouth when the GDM service fails (refs: #14521)

This sets up the foundations for displaying a useful error message, but it does
not cover the case when GDM repeatedly tries to start Xorg and fails, which is
the most interesting one wrt. #14521: when this happens the gdm3 process is
still running and the service is in "active (running)" state, even once GDM
manages to put itself in a bad enough shape that it can't even retry starting
Xorg anymore.

One way to trigger such a failure is:

systemctl kill --signal=9 gdm

Revision 7f1d753b (diff)
Added by intrigeri 6 months ago

Also display a hopefully useful message with plymouth when GDM has failed to start Xorg 5 times (refs: #14521)

This ugly hack is needed because we have to keep count of the failures and kill
GDM ourselves, otherwise the gdm3 process is still running and the service is in
"active (running)" state, so OnFailure=tails-gdm-failed-to-start.service does
not take effect.

Revision a25450ec (diff)
Added by intrigeri 6 months ago

Error message when GDM fails to start: implement the most recent proposal (refs: #14521).

See https://mailman.boum.org/pipermail/tails-ux/2017-December/003517.html

Revision 563afc23 (diff)
Added by intrigeri 5 months ago

Rephrase the error message on GDM startup failure (refs: #14521)

https://mailman.boum.org/pipermail/tails-ux/2018-February/003529.html

Revision e94a9c51 (diff)
Added by intrigeri 4 months ago

Rephrase the error message on GDM startup failure (refs: #14521)

https://mailman.boum.org/pipermail/tails-ux/2018-February/003531.html

Revision dcfdec26 (diff)
Added by intrigeri 4 months ago

Truncate graphics card name if needed so the entire message fits in 254 chars (refs: #14521).

"plymouth display-message" does not support longer messages.

Only one graphics card in current pci.ids would make the message almost not
fit, but let's not take any bet and ensure it'll always work even for newer
graphics card with super long names: this is a troubleshooting facility in case
of GDM not starting, so it'd better not itself break randomly otherwise users
will be even more confused.

Revision 47e6af19
Added by bertagaz 4 months ago

Merge remote-tracking branch 'origin/feature/14521-improve-UX-when-GDM-fails-to-start' into devel

Fix-committed: #14521

History

#1 Updated by intrigeri 7 months ago

  • Assignee changed from anonym to intrigeri
  • Target version changed from Tails_3.5 to Tails_3.6

#2 Updated by intrigeri 7 months ago

#3 Updated by intrigeri 7 months ago

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10
  • Feature Branch set to feature/14521-improve-UX-when-GDM-fails-to-start

I have something that works on a non-Tails Debian Stretch VM, let's see how it goes in Tails.

#4 Updated by intrigeri 7 months ago

Requested a better phrasing on tails-ux@ (https://mailman.boum.org/pipermail/tails-ux/2017-December/003515.html) but I won't block on it because my PoC can't possibly be worse than the UX we currently offer.

#5 Updated by intrigeri 6 months ago

  • Assignee changed from intrigeri to anonym
  • % Done changed from 10 to 50
  • QA Check set to Ready for QA

I now have something that works reliably for me in Tails (VM with Cirrus/QXL/virtio graphics, MacBook Pro 8,1 13-inch, ThinkPad X200). One part of the implementation (wrapping gdm-x-session) is somewhat ugly but everything else is "not exactly basic but not super advanced either" systemd stuff. You can test this by adding autotest_broken_Xorg on the kernel command line.

Do you think it's worth adding an automated test for thi new behaviour? It should be super easy: just boot from DVD, pass the aforementioned boot option, wait a while until the expected message appears on the screen. I doubt this should be a blocker for merging, but if you want to quickly add it to the feature branch before merging, be my guest :)

#6 Updated by intrigeri 6 months ago

  • Assignee changed from anonym to bertagaz

#7 Updated by intrigeri 6 months ago

  • Blocked by Bug #15132: devel branch FTBFS since aufs-dkms 4.14 is in sid added

#8 Updated by bertagaz 5 months ago

  • Assignee changed from bertagaz to sajolida
  • % Done changed from 50 to 60

Manual test confirms it works, and code looks good enough.

Now I'm wondering about the UX and resolution path for users ending with this screen. In part because we also have a list of badly supported video cards in the know issues that it wouls be worth for the users to compare with. Maybe we could add a 4th link in the 'Tails does not start' section linking to this video card list?

I see you had basically no answers on tails-ux and the ticket description states that sajolida was ready to give a hand on this. So I'm re-assigning to him in case he have time to review the UX part. If he does not, I'll simply merge this branch, as I agree it's still better than the current state. So please sajolida, just tell me. :)

I won't have time to write automated tests for this feature, but I think it may be worth having one so I'll open a low prio ticket, but will not block on it to merge this branch.

#9 Updated by intrigeri 5 months ago

  • Blocked by Bug #15270: devel branch FTBFS since torbrowser-launcher 0.2.9 entered sid added

#10 Updated by intrigeri 5 months ago

  • Assignee changed from sajolida to intrigeri
  • QA Check changed from Ready for QA to Dev Needed

bertagaz wrote:

Now I'm wondering about the UX and resolution path for users ending with this screen. In part because we also have a list of badly supported video cards in the know issues that it wouls be worth for the users to compare with. Maybe we could add a 4th link in the 'Tails does not start' section linking to this video card list?

Let's please avoid forking the UX design discussion => feel free to participate in the existing discussion on the tails-ux@ mailing list.

I see you had basically no answers on tails-ux and the ticket description states that sajolida was ready to give a hand on this. So I'm re-assigning to him in case he have time to review the UX part.

sajolida answered on the tails-ux@ list last week so I'll come back to this (hopefully "simply" to implement his proposal).

#11 Updated by intrigeri 5 months ago

  • Assignee changed from intrigeri to bertagaz
  • QA Check changed from Dev Needed to Ready for QA

I've raised my concerns with sajolida's proposal on the corresponding thread but regardless: I've implemented it, please review'n'merge on the grounds that it's much better than we currently have.

#12 Updated by intrigeri 4 months ago

  • Assignee changed from bertagaz to intrigeri
  • QA Check changed from Ready for QA to Dev Needed

sajolida made a new proposal.

#13 Updated by intrigeri 4 months ago

  • Assignee changed from intrigeri to bertagaz
  • QA Check changed from Dev Needed to Ready for QA

#14 Updated by bertagaz 4 months ago

  • Status changed from In Progress to Fix committed
  • Assignee deleted (bertagaz)
  • % Done changed from 60 to 100
  • QA Check changed from Ready for QA to Pass

intrigeri wrote:

I've raised my concerns with sajolida's proposal on the corresponding thread but regardless: I've implemented it, please review'n'merge on the grounds that it's much better than we currently have.

Great, l ooks good, I've merged it for 3.6.

#15 Updated by bertagaz 3 months ago

  • Status changed from Fix committed to Resolved

Also available in: Atom PDF