From 652af71a9c4af06657422a877f8526fce3f0e50c Mon Sep 17 00:00:00 2001 From: Vasilito Date: Wed, 6 May 2026 13:49:52 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20kded6=20uses=20offscreen=20QPA=20on=20Re?= =?UTF-8?q?dox=20=E2=80=94=20Qt6=20Wayland=20crashes=20at=20null+8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kded6's detectPlatform() forces QT_QPA_PLATFORM=wayland regardless of external environment. On Redox, Qt6 Wayland QPA crashes during wl_registry init (page fault at null+8). kded6 is a headless D-Bus daemon — it does not need Wayland. Added #ifdef Q_OS_REDOX guard: use 'offscreen' instead of 'wayland'. Combined with libwayland null guards, this provides defense in depth against the Qt6 Wayland crash on Redox. --- local/recipes/kde/kf6-kded6/source/src/kded.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/local/recipes/kde/kf6-kded6/source/src/kded.cpp b/local/recipes/kde/kf6-kded6/source/src/kded.cpp index 0bae98e43..9d5d051a7 100644 --- a/local/recipes/kde/kf6-kded6/source/src/kded.cpp +++ b/local/recipes/kde/kf6-kded6/source/src/kded.cpp @@ -575,7 +575,13 @@ static bool detectPlatform(int argc, char **argv) return false; } if (qstrcmp(sessionType.data(), "wayland") == 0) { +#ifdef Q_OS_REDOX + // Qt6 Wayland QPA crashes at null+8 during wl_registry init on Redox. + // kded6 is a headless D-Bus daemon — use offscreen platform instead. + qputenv("QT_QPA_PLATFORM", "offscreen"); +#else qputenv("QT_QPA_PLATFORM", "wayland"); +#endif return true; } else if (qstrcmp(sessionType.data(), "x11") == 0) { qputenv("QT_QPA_PLATFORM", "xcb");