diff --git a/scripts/kde/plasma-start-qemu.sh b/scripts/kde/plasma-start-qemu.sh index d989bf75..f1d11706 100644 --- a/scripts/kde/plasma-start-qemu.sh +++ b/scripts/kde/plasma-start-qemu.sh @@ -57,10 +57,12 @@ export LP_NUM_THREADS=1 # pero los buffers del compositor van por AddFB2WithModifiers y fallan ⇒ vuelve a negro. KWIN_DRM_USE_MODIFIERS=0 # fuerza a kwin a usar drmModeAddFB2 plano (modifier implícito) que virtio-gpu sí acepta. export KWIN_DRM_USE_MODIFIERS=0 -# KWIN_COMPOSE: con llvmpipe (GL de software COMPLETO) dejamos que kwin use su compositor OpenGL por -# defecto — forzar QPainter (=Q) sobre una salida DRM/EGL con GL disponible segfaultea al componer la -# 1ra superficie. Si el GL-llvmpipe resultara inestable, KWIN_COMPOSE=Q es el fallback. -# export KWIN_COMPOSE=Q +# KWIN_COMPOSE=Q — compositor QPainter (raster de Qt directo al buffer, SIN escena llvmpipe). El +# compositor GL por defecto usa el rasterizador de llvmpipe, cuyo hilo SEGFAULTEA en lp_rast_clear_color +# → util_fill_rect al limpiar el color buffer (backtrace del core.llvmpipe-0): kwin pinta unos frames y +# muere → "vuelve a negro". QPainter no arma escenas llvmpipe ⇒ esquiva ese crash. (El segfault viejo con +# =Q era el de gbm-init, ya resuelto por GBM_ALWAYS_SOFTWARE.) llvmpipe sigue disponible para gbm/EGL. +export KWIN_COMPOSE=Q export QT_QPA_PLATFORM=wayland export QT_QPA_PLATFORMTHEME=kde export QT_QPA_FONTDIR=/usr/share/fonts/dejavu @@ -177,8 +179,9 @@ say "escritorio arriba (o mira /tmp/plasmashell.log). Ctrl-C mata la sesion." dump /tmp/plasmashell.log # monitor de estado: cada 15s dice si kwin/plasmashell siguen vivos ⇒ si vuelve a negro, sabremos si # fue plasmashell que murió (containment) o kwin/output. (busybox pgrep -c cuenta procesos.) -( while sleep 15; do - say "STATUS: kwin=$(pgrep -c kwin_wayland 2>/dev/null) plasmashell=$(pgrep -c plasmashell 2>/dev/null) outputs_ok" +( n=0; while sleep 15; do + n=$((n+1)) + say "STATUS +$((n*15))s: kwin=$(pgrep kwin_wayland 2>/dev/null | wc -l) plasmashell=$(pgrep plasmashell 2>/dev/null | wc -l)" done ) & wait $KWIN RC=$?