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>
This commit is contained in:
@@ -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
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user