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.

Reply via email to