https://bugs.kde.org/show_bug.cgi?id=524815
Bug ID: 524815
Summary: KScreen KWayland backend rejects valid config due to
output-management protocol version mismatch (requests
v21, KWin advertises v19)
Classification: Plasma
Product: KScreen
Version First 6.7.4
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: common
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 195509
--> https://bugs.kde.org/attachment.cgi?id=195509&action=edit
Wayland debug and source evidence
Product: kscreen (libkscreen)
Version: 6.7.4 (Fedora 44 package)
Platform: Fedora RPMs
OS: Linux
Summary
On Fedora 44 with Plasma 6.7.4, System Settings → Display Configuration shows
"No KScreen backend found. Please check your KScreen installation."
kscreen-doctor -o also fails with "Invalid config." This happens on every load,
consistently, on a Framework laptop with no discrete GPU — not intermittently,
and not fixed by navigating away and back in System Settings.
Root cause
libkscreen's KWayland backend explicitly requests kde_output_management_v2 at
protocol version 21 (waylandoutputmanagement.cpp, WaylandOutputManagement(21),
via QWaylandClientExtensionTemplate). KWin 6.7.4 on this system only advertises
kde_output_management_v2 at version 19 (confirmed via WAYLAND_DEBUG=1 trace on
the actual global announcement). Qt's client extension template refuses to bind
below the requested version, so the extension never becomes active.
WaylandConfig::isValid() requires m_outputManagement->isActive() to be true.
Since it never activates, isValid() returns false, and
BackendManager::loadBackendPlugin() discards the backend with qCDebug(KSCREEN)
<< "Skipping" << backend->name() << "backend" — logged, but with no warning or
error surfaced to the user or to kscreen-doctor.
Evidence chain
kscreen-doctor -o → kscreen.doctor: Invalid config.
WAYLAND_DEBUG=1 trace on backend launch shows: wl_registry#2.global(30,
"kde_output_management_v2", 19) — version 19 advertised by KWin. Real output
data (eDP-1, 2880×1920@120Hz) is received correctly via zxdg_output_v1 in the
same session, confirming the Wayland connection itself is healthy.
busctl --user call org.kde.KScreen / org.kde.KScreen requestBackend sa{sv}
KWayland 0 → returns b false, reproducibly, with a masked systemd unit and no
competing launcher instance.
Manual launch with QT_LOGGING_RULES="*.debug=true" shows the plugin loading
successfully, followed immediately by org.kde.kscreen: Skipping "kwayland"
backend — no crash, no exception.
Source inspection (Fedora debuginfo, libkscreen-6.7.4-1.fc44) traces this to
backendmanager.cpp:191, waylandbackend.cpp:109-112, and waylandconfig.cpp:30-52
(WaylandOutputManagement(21) in the constructor) and waylandconfig.cpp:153-155
(isValid() requiring isActive()).
Environment checked and ruled out
All relevant packages at matching versions: kscreen-6.7.4-1.fc44,
libkscreen-6.7.4-1.fc44, kwin-6.7.4-2.fc44, plasma-workspace-6.7.4-1.fc44
No discrete GPU (Framework 13, integrated graphics only)
No SELinux denials (ausearch -m avc clean)
plasmazones not installed (ruling out the unrelated held-back-kwin issue
reported elsewhere)
WAYLAND_DISPLAY/XDG_RUNTIME_DIR correctly present in both shell and systemd
user environment
D-Bus backend service (plasma-kscreen.service) starts cleanly with no crash
Steps to reproduce
Fedora 44, Plasma 6.7.4 (KDE spin or Fedora KDE)
Open System Settings → Display Configuration
Observe "No KScreen backend found"
Run kscreen-doctor -o from a terminal — observe "Invalid config."
Expected result: Display Configuration loads and shows the connected
display(s).
Actual result: Backend is silently rejected due to a protocol version mismatch
between libkscreen and kwin, both nominally the same Plasma release.
--
You are receiving this mail because:
You are watching all bug changes.