On Tue, Apr 14, 2020 at 8:14 PM Adam Williamson <adamwill(a)fedoraproject.org>
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
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.