-
Notifications
You must be signed in to change notification settings - Fork 327
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frequent blackscreen after login, then KDE starts later, but another unrecoverable blackscreen after some time #1929
Comments
Diff of what I did to the source code
|
What's the full journal from start of sddm until end of timeout? I guess there is somehow still a session online, otherwise |
It's at the end of the issue description, three full journals.
Yes, after the timeout KDE kicks in and the session is loaded. I can see the wallpaper, and the taskbar. Later after that the screen goes black, changing VT via CTRL-ALT-Fx won't help. This is exactly when
And also note that in the third journal, I used some trick to make a successful login: |
I guess the shutdown of the greeter + display server somehow breaks the startup of the user session + display server. The log looks fairly normal until suddenly
i.e. the x11 user helper exited somehow? |
I don't think that's the point. |
Recently I modified the code from:
to
in order to hope that:
However I found that it doesn't work, the helper still starts after timeout (30000 ms). Diving deeper into the sddm code shows that sddm almost immediately |
Symptom
Frequently, after the moment I enter the password, there would be a 30 sec blackscreen with a cursor flashing at the top left corner of my screen. After that KDE starts up and the desktop gets loaded. But some time later, the screen would go black again, and never go back to normal.
Software in use
sddm: 0.21.0
KDE Plasma 6
Arch Linux
Xorg 21.1.13
Troubleshooting I have done
Before I submit this issue I made a help wanted post on Arch BBS.
You can go check it out for more, but I will summarize it here so reading the post shouldn't be necessary.
When the login is successful without any problem, the journal would look like this:
But if the problem occurs, it will look like this:
There should be a
below the
Authentication for user "fishbone" successful
. I didn't put it in the code block because the code block was copy pasted from the post.Note the 30 sec interval between "Authentication for user..." and "Session started false".
I and seth have tried to rule out some possibilities:
I also tried to modify sddm's code to add some more debug messages. From reading the code, what I understand is:
UserSession::start
will startsddm-helper-start-x11user
withQProcess
, which starts the X Server.UserSession::start
will also callQProcess::waitForStarted
, which has a timeout of 30 sec.So then I tried to add some debug messages:
connect
QProcess::errorOccured
andQProcess::stateChanged
to log the signal.QProcess::state()
after thewaitForStarted
function call.main
ofHelperStartX11User.cpp
main
, but the first one is swallowed, how strangeNow the journal goes like this:
I added "das" to the beginning of my debug messages to distinguish them.
I added
25000
towaitForStarted()
to see if the late start up ofsddm-helper-start-x11user
is related to the timeout. As you can see in the journal it's indeed related.Here's a successful login journal: http://0x0.st/X8nW.txt
And a failed one: http://0x0.st/X82u.txt
Journal after I added debug messages: http://0x0.st/XK49.txt
The text was updated successfully, but these errors were encountered: