Bug 487543 - KRDP KCM Page Takes a Few Seconds to Load and Locks Up System Settings.
Summary: KRDP KCM Page Takes a Few Seconds to Load and Locks Up System Settings.
Status: RESOLVED FIXED
Alias: None
Product: KRdp
Classification: Plasma
Component: general (other bugs)
Version First Reported In: git-stable-Plasma/6.1
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-05-25 18:39 UTC by Dashon
Modified: 2024-05-28 08:48 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dashon 2024-05-25 18:39:58 UTC
SUMMARY
The krdp kcm in system settings can take a few seconds to load and during this time it appears to lock up the entire system settings app. It appears to suffer from the same issue that the game controller kcm used to suffer from before plasma 6.1. It would be helpful if whatever improvements were made to the loading of the game controller kcm also be applied to the new krdp kcm. I am beta testing Plasma 6.1 on Arch and just decided to try out krdp.

STEPS TO REPRODUCE
1. Open system settings.
2. Go to Remote Desktop Section

OBSERVED RESULT
UI freezes, clicks not registered until remote desktop section loads in.

EXPECTED RESULT
UI should never lock up from loading in different sections.

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
KDE Plasma Version: 6.0.90
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.9.1-zen1-2-zen (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5800X 8-Core Processor
Memory: 62.7 GiB of RAM
Graphics Processor: NVIDIA GeForce RTX 3080/PCIe/SSE2
Manufacturer: Micro-Star International Co., Ltd.
Product Name: MS-7C95
System Version: 1.0
Comment 1 Bug Janitor Service 2024-05-27 08:34:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/krdp/-/merge_requests/34
Comment 2 Akseli Lahtinen 2024-05-27 08:38:53 UTC
This should hopefully help. I am not able to get it to lock on my system unfortunately. 

https://invent.kde.org/plasma/krdp/-/merge_requests/34

Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.80
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.0
Kernel Version: 6.8.10-300.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600
Comment 3 Dashon 2024-05-27 08:41:32 UTC
Thanks, out of curiosity does the page load instantly for you when you open it in system settings?
Comment 4 Akseli Lahtinen 2024-05-28 08:43:44 UTC
Git commit b0975b633a44ffc61da429c4d4b94568bb0fd437 by Akseli Lahtinen.
Committed on 28/05/2024 at 08:43.
Pushed by akselmo into branch 'master'.

kcmkrdpserver: Use QDBusMessage instead of QDBusInterface

QDBusInterface blocks the GUI from updating. QDBusMessage do not.

Thus, use QDBusMessage, then QDBusConnection with asyncCall to talk to DBus, hopefully avoiding any UI update blocking.

Possibly helps to fix

M  +32   -28   src/kcm/kcmkrdpserver.cpp
M  +2    -1    src/kcm/kcmkrdpserver.h
M  +6    -1    src/kcm/ui/main.qml

https://invent.kde.org/plasma/krdp/-/commit/b0975b633a44ffc61da429c4d4b94568bb0fd437
Comment 5 Akseli Lahtinen 2024-05-28 08:48:54 UTC
Git commit 4d65be1fb557058fa3cff7e26d2f9cb377ef1879 by Akseli Lahtinen.
Committed on 28/05/2024 at 08:43.
Pushed by akselmo into branch 'Plasma/6.1'.

kcmkrdpserver: Use QDBusMessage instead of QDBusInterface

QDBusInterface blocks the GUI from updating. QDBusMessage do not.

Thus, use QDBusMessage, then QDBusConnection with asyncCall to talk to DBus, hopefully avoiding any UI update blocking.

Possibly helps to fix


(cherry picked from commit b0975b633a44ffc61da429c4d4b94568bb0fd437)

4a8ee9c4 kcmkrdpserver: emit signal if server is running
552ec3e7 kcmkrdpserver: use QDBusMessage for toggling autoconnect
adf5cacd kcmkrdpserver: toggle server with qdbusmessage
5e2ec6a8 kcmkrdpserver: use qdbusmessage for checkserverrunning
8e594861 Use static variables for dbus names
918ff95f Delete watcher when finished
6302ee42 Use u""_qs instead of qstringliteral for readability

M  +32   -28   src/kcm/kcmkrdpserver.cpp
M  +2    -1    src/kcm/kcmkrdpserver.h
M  +6    -1    src/kcm/ui/main.qml

https://invent.kde.org/plasma/krdp/-/commit/4d65be1fb557058fa3cff7e26d2f9cb377ef1879