Summary: | KSplash screen takes long time after 6.2.1 | ||
---|---|---|---|
Product: | [Plasma] ksplash | Reporter: | CUI Hao <cuihao.leo> |
Component: | general | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | andrea.ippo, daron439, guido.iodice, kde, nate, parag.lkml, serdarthtux |
Priority: | HI | Keywords: | regression |
Version: | 6.2.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/271801a547a94f8979d6293dc653643aa70dafe7 | Version Fixed In: | 6.2.1.1 |
Sentry Crash Report: |
Description
CUI Hao
2024-10-16 04:11:27 UTC
Looks like this change between 6.2.0 and 6.2.1 caused the issue: ``` diff --git a/startkde/systemd/plasma-ksplash-ready.service.in b/startkde/systemd/plasma-ksplash-ready.service.in index 3f6744f378..0bd88e6c92 100644 --- a/startkde/systemd/plasma-ksplash-ready.service.in +++ b/startkde/systemd/plasma-ksplash-ready.service.in @@ -6,5 +6,5 @@ PartOf=graphical-session.target [Service] Type=oneshot -ExecStart=-@QtBinariesDir@/qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage ready +ExecStart=dbus-send --session --reply-timeout=1 --dest=org.kde.KSplash /KSplash org.kde.KSplash.setStage string:ready Slice=session.slice ``` I try to use the previous qdbus version and the long waiting time is gong: ``` $ cat /home/cuihao/.config/systemd/user/plasma-ksplash-ready.service.d/override.conf [Service] ExecStart= ExecStart=/usr/bin/qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage ready ``` A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4841 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4841 *** Bug 494852 has been marked as a duplicate of this bug. *** *** Bug 494821 has been marked as a duplicate of this bug. *** *** Bug 494872 has been marked as a duplicate of this bug. *** Git commit 83aa79af1e624d8978593e0f8724e3b42d8365ac by Nate Graham, on behalf of Wolfgang Müller. Committed on 16/10/2024 at 15:05. Pushed by davidedmundson into branch 'master'. startkde: Specify --type=method_call to correctly notify ksplash In 3e295c33d0 (startkde: Avoid waiting when notifying ksplash is up, 2024-10-11) the invocation of the dbus interface was changed from qdbus to dbus-send. The former defaults to calling a method, whilst the latter defaults to sending a signal, causing the setStage method to never be called. Instead of using the default behaviour, specify explicitly that we want to call a method using --type=method_call. M +1 -1 startkde/systemd/plasma-ksplash-ready.service.in https://invent.kde.org/plasma/plasma-workspace/-/commit/83aa79af1e624d8978593e0f8724e3b42d8365ac A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4842 Git commit 271801a547a94f8979d6293dc653643aa70dafe7 by Nate Graham. Committed on 16/10/2024 at 15:32. Pushed by ngraham into branch 'Plasma/6.2'. startkde: Specify --type=method_call to correctly notify ksplash In 3e295c33d0 (startkde: Avoid waiting when notifying ksplash is up, 2024-10-11) the invocation of the dbus interface was changed from qdbus to dbus-send. The former defaults to calling a method, whilst the latter defaults to sending a signal, causing the setStage method to never be called. Instead of using the default behaviour, specify explicitly that we want to call a method using --type=method_call. (cherry picked from commit 83aa79af1e624d8978593e0f8724e3b42d8365ac) Co-authored-by: Wolfgang Müller <wolf@oriole.systems> M +1 -1 startkde/systemd/plasma-ksplash-ready.service.in https://invent.kde.org/plasma/plasma-workspace/-/commit/271801a547a94f8979d6293dc653643aa70dafe7 A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4843 Git commit bcc206be8288ba20265c03240e8fac8e5a62de13 by Fushan Wen. Committed on 17/10/2024 at 00:00. Pushed by fusionfuture into branch 'master'. startkde: test setStage is called after starting plasma-ksplash-ready.service Related: bug 482267 M +1 -0 appiumtests/CMakeLists.txt A +14 -0 appiumtests/ksplash/CMakeLists.txt A +79 -0 appiumtests/ksplash/ksplashtest.py M +2 -0 lookandfeel/org.kde.breeze/contents/splash/Splash.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/bcc206be8288ba20265c03240e8fac8e5a62de13 I'm so happy I found this, I just reinstalled my OS and all of a sudden logins were incredibly slow. If you are reading this and don't want to wait for the fix, I guess you can just apply the change of this commit: https://invent.kde.org/plasma/plasma-workspace/-/commit/83aa79af1e624d8978593e0f8724e3b42d8365ac to the systemd unit file here (needs root permissions): /usr/lib/systemd/user/plasma-ksplash-ready.service I had tried applying the override.conf as suggested by CUI Hao in a previous comment, but somehow it was ineffective. There was a 6.2.1.1 so hopefully you're not waiting too long |