kde/qemu: -vga none — el escritorio por fin SE VE (no más TianoCore congelado)
El escritorio booteaba y kwin pintaba por dentro (serial: kwin vivo), pero el scanout REAL (verificado por `screendump` del monitor QEMU → PNG) seguía congelado en el logo TianoCore. Causa: sin -vga none, QEMU añade una VGA estándar por defecto ADEMÁS del virtio-gpu-pci. OVMF pinta su GOP en la VGA estándar ⇒ el kernel la envuelve con simpledrm (card1) y ESE es el scanout que se muestra; kwin pinta en virtio-gpu (card0), otro device que no se ve. Como son devices distintos, virtio no expulsa simpledrm ⇒ pantalla clavada en el frame EFI. (Con VARS reusados el timing lo tapaba; al resetear los VARS quedó expuesto.) Fix: -vga none ⇒ virtio-gpu-pci es el único display ⇒ OVMF pinta ahí ⇒ virtio-gpu-DRM expulsa simpledrm (mismo device) ⇒ un solo card0, y el modeset de kwin toma la pantalla. Verificado por screendump: se ve el wallpaper de Plasma 6 (1592x960), no TianoCore. Herramienta nueva: -monitor unix socket en run-qemu-desktop.sh ⇒ `screendump` captura el framebuffer REAL del guest (oráculo independiente de la ventana gtk, que puede congelarse si mirada reinicia su Xwayland). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +5 −0
diff --git a/scripts/kde/run-qemu-desktop.sh b/scripts/kde/run-qemu-desktop.sh
index 140e586e..057e7eb0 100755
--- a/scripts/kde/run-qemu-desktop.sh
+++ b/scripts/kde/run-qemu-desktop.sh
@@ -36,11 +36,16 @@ esac
QEMU_ARGS=(
-machine q35 -accel kvm -cpu host
-m "$MEM" -smp "$SMP"
+ -vga none # virtio-gpu-pci (abajo) es el ÚNICO display: sin esto QEMU añade una VGA estándar por
+ # defecto y OVMF pinta el GOP ahí ⇒ simpledrm (card1) muestra el framebuffer EFI y kwin
+ # pinta en virtio-gpu (card0, otro device que no se ve) ⇒ pantalla congelada en TianoCore.
+ # Con -vga none, OVMF usa virtio-gpu ⇒ virtio-gpu-DRM expulsa simpledrm ⇒ un solo output.
-drive if=pflash,format=raw,unit=0,file="$OVMF_CODE",readonly=on
-drive if=pflash,format=raw,unit=1,file="$VARS"
-drive file="$IMG",format=raw,if=virtio
"${DISPLAY_ARGS[@]}"
-serial "file:$SERIAL"
+ -monitor "unix:${MON:-work/qemu-monitor.sock},server,nowait"
-no-reboot
)