https://bugs.kde.org/show_bug.cgi?id=525693
Michael Wheatland <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #5 from Michael Wheatland <[email protected]> --- The symptoms here match what I see on 6.6.6 — self-referencing `replicationSource` on every output, a disabled output that cannot be enabled, and a GUI deadlock — but I think one part of the diagnosis is off. The `mstPath` values of `"-1\0"`, `"-3\0"` and so on are not persisted errno values. They are MST port paths. The kernel builds the DRM `PATH` property in `build_mst_prop_path()` as `mst:<conn_base_id>-<port>-<port>...`, and KWin stores `value.mid(firstHyphen)` of that, so `mst:64-1` becomes `-1`: ```cpp // src/backends/drm/drm_connector.cpp:317-327 m_mstPath.clear(); if (auto blob = path.immutableBlob()) { QByteArray value = QByteArray(static_cast<const char *>(blob->data), blob->length); if (value.startsWith("mst:")) { const ssize_t firstHyphen = value.indexOf('-'); if (firstHyphen > 0) { m_mstPath = value.mid(firstHyphen); } else { qCWarning(KWIN_DRM) << "Unexpected format in path property:" << value; } ``` That is the only writer of `m_mstPath` in the tree, and it is gated on the blob existing and starting with `"mst:"` — a failed property read leaves it empty, so an errno cannot reach it. The trailing NUL is real but separate and minor: the property blob length includes the terminator, so `QByteArray(data, blob->length)` carries it into the identifier and from there into the JSON. Worth trimming, but it is stable across reads and is not what breaks the configuration. On my machine the outputs carrying an `mstPath` are exactly the two behind the MST hub, and the two that are not behind it have none — so the values track real topology rather than being noise. The self-referencing `replicationSource` appears to come from libkscreen instead: an unguarded empty-string match against output UUIDs, which assigns the empty-UUID output to every output. Details and a proposed fix: https://bugs.kde.org/show_bug.cgi?id=526366. Bug 520098 shows the same signature with the id of the lid-disabled panel. -- You are receiving this mail because: You are watching all bug changes.
