fix: kded6 wrapper renames wayland plugin to force offscreen fallback

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.
This commit is contained in:
2026-05-06 16:24:31 +01:00
parent 5a8014fe7c
commit 8c51508362
@@ -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 "$@"