I’ve been doing Plasma 6 development for about half a year. Was hoping that at some point, the situation resolves itself through clean builds, a random bugfix, or such. But it’s not happening, so I’d like to ask if you have an idea what’s going wrong for me that I haven’t heard anyone else complain about.
My Plasma 6 setup works in general, and importantly allows using apps and switching windows. But fails in different ways, some more annoying than others:
In SDDM, the names shown for my Plasma 6 sessions are “” and " (Wayland)" which is clearly missing a part of the name for both X11 and Wayland sessions.The files appear to be installed correctly, and obviously execute the right binaries when logging in. No clue how SDDM loses just a part of their name.The regular 5.27 distro package shows its own session names just fine.- This turned out to be an issue with SDDM’s .desktop file parser not reading text with commas correctly up to version 0.20.0.
- Spectacle doesn’t work. As per console output:
- Screenshot request failed: “The process is not authorized to take a screenshot”
- IIRC, this used to work at least on X11 initially but has been failing there as well for a while, same error message.
Power management KCMs in System Settings won’t show fields for screen dimming and charge limits.Screen brightness controls are also missing from the Brightness applet.- This turned out to be an issue with KAuth, which I was able to fix after Duha (below) pointed to the correct probable cause.
- The panel’s task manager apparently doesn’t know about open windows (in Wayland only, X11 works for this).
- This manifests in ways such as not showing indicators for running apps, or starting a new instance of an already running app when clicking the app icon.
- A few months back, I tried to figure out where exactly this is going wrong and ended up in code that requires privileged access to a Wayland extension.
- As of today’s rebuild of all workspace repositories, the task manager now crashes because it can’t initialize the screencasting Wayland protocol.
- When pressing Alt in QML pages (e.g. via kcmshell6), letters don’t get underscored according to their mnemonics shortcuts.
- No indicator that this is auth-related, but who knows if it is, right?
For long enough, I’ve been adding a disclaimer to my merge requests in the vein of, “I think this should work, but my setup is broken so I’m not sure and could you please please do some extra testing”. Now I filed a crash bug that may not exist for other people, although I can’t fully know for sure. This sucks for everyone.
So, please help? Where could my installation go so wrong? It really seems that something at the very core of the session (e.g. startkde-plasma) isn’t getting those permissions that all other software needs. But if there any docs about how to get them set up properly, I haven’t found those.
If you’ve got any ideas, I’d be forever thankful and perhaps end up more productive in improving Plasma & Co. for everyone. Thanks in advance for your help!
Appendix: Boring but necessary details about my build
I use standard kdesrc-build as per Get Involved development wiki page. I run Plasma 6 under a different user than the standard 5.27 packages that Arch Linux provides. I’m not using any “trusted” permission systems such as SELinux or App Armor. Qt packages come from Arch directly, KDE software (and selected standard repos such as wayland or appstream) are built from scratch as per default contributor docs.
For a full build of Plasma 6, I’ve used commands such as these:
kdesrc-build workspace print-manager kdeconnect-kde spectacle dolphin --include-dependencies
rm -rf ~/build/kde6/prefix
~/build/kde6/plasma/plasma-workspace/login-sessions/install-sessions.sh
Relevant portion of my kdesrc-buildrc
config file:
global
branch-group kf6-qt6
include-dependencies False
# Where to download source code. By default the build directory and
# logs will be kept under this directory as well.
source-dir ~/src/kde # Make this ~/kde/src if you want to use same repos as KF6
directory-layout invent
# Where to perform the build of source code before installation.
build-dir ~/build/kde6
kdedir ~/build/kde6/prefix
prefix ~/build/kde6/prefix # probably redundant, should use kdedir as default
cmake-options -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DBUILD_WITH_QT6=ON -DBUILD_KCM_MOUSE_X11=ON -DBUILD_KCM_TOUCHPAD_X11=OFF
# This can be set to a specific value if auto-detection fails.
# Set to 'auto' to use (the number of detected cores) - 1
num-cores 20
# This is the same as above but used for heavyweight modules like
# qtwebengine, though you can use it for modules yourself. A conservative
# thumbrule is one core for every 2 GiB of total memory.
num-cores-low-mem 2
# For CMake modules this configures CMake to use Ninja as the build
# controller and generate metadata to make editing with Kate easier.
cmake-generator Kate - Ninja
# This defines a new "repository" entry for module-sets for Qt6, see
# custom-qt6-libs-build-include
# Not version-prefixed on KDE Invent, but Qt5 is version prefixed instead.
git-repository-base qt6-copy https://invent.kde.org/qt/qt/
end global
Error message for accessing charge thresholds (via KAuth helper) in the Advanced Power Settings KCM:
org.kde.powerdevil.chargethresholdhelper.getthreshold failed: "DBus Backend error: could not contact the helper. Connection error: Rejected send message, 1 matched rules; type=\"method_call\", sender=\":1.2268\" (uid=2001 pid=204756 comm=\"systemsettings kcm_powerdevilprofilesconfig\") interface=\"org.kde.kf6auth\" member=\"performAction\" error name=\"(unset)\" requested_reply=\"0\" destination=\"org.kde.powerdevil.chargethresholdhelper\" (uid=0 pid=204810 comm=\"/usr/lib/kauth/chargethresholdhelper\").