On Tue, Apr 14, 2020 at 8:14 PM Adam Williamson <adamwill@fedoraproject.org> wrote:
Hi folks!

So, during Fedora 32 Final blocker review, a bug relating to "user
switching" came up for review:


I dug into the question of whether we have tended to consider the "log
in / log out / shut down / reboot" criterion as covering user
switching, and found that this issue is actually kinda outstanding and
unresolved for a long time.

Back in January 2015, we kinda provisionally decided that we *did* want
to block on user switching bugs, by accepting this one as a blocker
during a review meeting:


kparal was detailed to propose clearly adding it to the criteria, and
he duly drafted up a change and mailed it to the relevant lists -
test@, kde@ and desktop@:


However, here things foundered a bit because there was some opposition
to the idea. The discussion is spread across the three lists, but my
reading is broadly that there were distinct camps in favour of and
against blocking on user switching bugs. Prominent "pro-blocking" folks
were Michael Catanzaro and Kevin Kofler. Prominent "anti-blocking"
folks were Matthias Clasen, Rex Dieter and Josh Boyer. Obviously that's
a particularly awkward split because we have pro- and anti- folks on
both the desktop and KDE teams.

The discussion was pretty active, but in the end it sort of petered out
without any definite conclusion being reached. The draft changes Kamil
proposed were never made, and the criterion remained as it was before.

For the purposes of our specific F32 blocker proposal we decided to
adopt the principle that, since there was a discussion that clearly did
not reach a consensus that user switching *should* be release-blocking,
we could not really treat it as such, and thus we rejected the bug as a
blocker. But I figured it would probably be a good idea to bring the
topic up again and try to come to a definite conclusion this time.

So, once again: do we think it makes sense to consider desktop user
switching - that is, switching between multiple active desktop sessions
for different users, without logging out and in - as release-blocking?
Has anyone who was active in the previous discussion changed their mind
on this?

I use the functionality daily, so I'm biased, same as mattdm. I consider it really a basic desktop functionality. On our home laptop, my wife never logs out. Why would she, she just closes the lid and the laptop goes to sleep. When I want to do something, I simply log it as my own user, do what I need, and again shut the lid. I reboot the laptop twice a month when I apply updates. There is almost never just a single user logged in. The idea that we only validate Fedora for a single-user scenario, where the whole system can be used just by a single user at any moment, feels... almost obscene given our UNIX heritage :-) In the past when we had some user switching issues, it was a huge pain for me, because my wife will never remember Ctrl+Alt+Fx shortcuts to workaround a framebuffer switching problem. And constantly making sure the other person is not logged in, and asking him/her to log out if he/she is, is nothing but a headache. It makes the home laptop use case completely broken. Not to mention it's really hard to answer her questions about why we're using something that broken.

In the past, there were concerns about graphics drivers quality. They have hopefully improved. But I'll repeat again - we have safeguards against issues that affect just a portion of our hardware. We can be explicit about it in the criterion, or we can have it implied from our standard procedures. If the bug only happens on e.g. nouveau, we don't need to block on it (especially given its maintenance status and Nvidia's zero help). If the bug only happens on a single Intel GPU family, ditto. If the bug happens to all radeon or all intel users, well, we would definitely have a conversation about it. If the bug happens to everyone, all bare metal and also including VMs, that's a clear indication that the problem is not in drivers but in our software, and would be a blocker.
It's also possible to remove drivers from the picture completely and only cover the last mentioned scenario ("happens on all bare metal and VMs") in the criterion, if developers desire it. It would be weak, but would definitely be a step in the right direction.