From 8c51508362c759fc457126bb352737a44a363348 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 e6c968f12..405df6340 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 "$@"