From 2a0628cba2dad53674b8a48e05b1dd7fdcbc086d Mon Sep 17 00:00:00 2001 From: Vasilito Date: Wed, 6 May 2026 16:24:31 +0100 Subject: [PATCH] fix: kded6 wrapper renames wayland plugin to force offscreen fallback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QT_QPA_PLATFORM=offscreen alone is NOT sufficient on Redox — Qt6 still loads libqwayland.so despite the env var. The wrapper now renames libqwayland.so to .disabled before launching kded6, forcing Qt to fall back to the offscreen plugin which works. This is the most reliable fix: physically preventing Qt from finding the wayland plugin. --- local/recipes/kde/kf6-kded6/source/kded6-wrapper.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/local/recipes/kde/kf6-kded6/source/kded6-wrapper.sh b/local/recipes/kde/kf6-kded6/source/kded6-wrapper.sh index e6c968f12a..405df63409 100644 --- a/local/recipes/kde/kf6-kded6/source/kded6-wrapper.sh +++ b/local/recipes/kde/kf6-kded6/source/kded6-wrapper.sh @@ -1,6 +1,10 @@ #!/bin/sh # kded6 wrapper — prevents Qt6 Wayland QPA crash on Redox # Qt6 Wayland page-faults at null+8 during wl_proxy_add_listener. -# kded6 is a headless D-Bus daemon; Wayland is unnecessary. +# QT_QPA_PLATFORM=offscreen is NOT sufficient — Qt6 still tries wayland. +# Rename the wayland plugin so Qt can't find it, forcing offscreen fallback. +if [ -f /usr/plugins/platforms/libqwayland.so ]; then + mv /usr/plugins/platforms/libqwayland.so /usr/plugins/platforms/libqwayland.so.disabled +fi export QT_QPA_PLATFORM=offscreen exec /usr/bin/kded6.real "$@"