Qemu VM se ejecuta muy lentamente y virgl no está disponible si se usa "-device virtio-vga-gl -display gtk,gl=on"

Qemu VM se ejecuta muy lentamente y virgl no está disponible si se usa "-device virtio-vga-gl -display gtk,gl=on"

Anfitrión:

  • SO (una variante de Ubuntu 20.10):
uname -a
Linux ... 5.8.0-7642-generic #47~1614007149~20.10~82fb226-Ubuntu SMP Tue Feb 23 02:59:01 UTC  x86_64 x86_64 x86_64 GNU/Linux
  • GPU nVidia RTX 3090 instalada. Versión del controlador 460.32.03.
  • Procesador Intel Core i9-10900K
  • Efectivamente sin cabeza

Invitado:

  • Sistema operativo: escritorio Ubuntu 20.04,
  • Versión del sistema operativo/kernel: 5.11.0-41-genérica
  • Arquitectura: x86 64 bits

El ejecutable de Qemu se creó en el host desde la última fuente 6.2.0-rc3, las opciones de la línea de comando ./configureson:

--prefix=$HOME/.bin --target-list=x86_64-softmmu --enable-kvm --enable-vnc --enable-gtk --enable-vte --enable-xkbcommon --enable-sdl --enable-spice --enable-spice-protocol --enable-virglrenderer --enable-opengl --enable-guest-agent --enable-avx2 --enable-avx512f --enable-hax --enable-system --enable-linux-user --enable-libssh --enable-linux-aio --enable-linux-io-uring --enable-modules --enable-gio --enable-fuse --enable-fuse-lseek

Guest Ubuntu se instala desde la imagen ISO descargada. Después de la instalación, la línea de comando de Qemu para ejecutar la VM es:

qemu-system-x86_64 -hda ubuntu-desktop.qcow2 -m 2G -smp 8 -d guest_errors -device virtio-vga-gl -display gtk,gl=on,show-cursor=on -net nic,model=virtio -net user,hostfwd=tcp::5555-:22 -chardev qemu-vdagent,id=ch1,name=vdagent,clipboard=on -device virtio-serial-pci -device virtserialport,chardev=ch1,id=ch1,name=com.redhat.spice.0

Hay algunos resultados en la consola:

libEGL warning: DRI3: failed to query the version
qemu-system-x86_64: warning: AT-SPI: Could not obtain desktop path or name

qemu-system-x86_64: warning: atk-bridge: GetRegisteredEvents returned message with unknown signature
qemu-system-x86_64: warning: atk-bridge: get_device_events_reply: unknown signature
qemu-system-x86_64: warning: atk-bridge: get_device_events_reply: unknown signature
Invalid write at addr 0x0, size 4, region 'acpi-cpu-hotplug', reason: invalid size (min:1 max:1)
... duplicates of the above line ...
gl_version 45 - core profile enabled

Los problemas de esta VM Qemu son 1) Si la reemplacé -device virtio-vga-glcon -vga virtio, la VM se ejecuta rápido, pero en -device virtio-vga-gl, se ejecuta muy lentamente, incluido ssh. 2) Muchas fallas durante el arranque, como se muestra en la captura de pantalla a continuación. Las fallas desaparecerían si las reemplazara -device virtio-vga-glcon -vga virtio. Sin embargo, en -device virtio-vga-gl, estos fallos se repiten y la ventana de Qemu no puede ir a la pantalla de inicio de sesión (por lo que tengo que usar ssh). 3) Espero que el renderizador OpenGL sea "virgl", pero sigue siendo el software "llvmpipe (LLVM 13.0.0, 128 bits)".

ingrese la descripción de la imagen aquí

Entonces mis preguntas son: 1) ¿Por qué Qemu VM se ejecuta tan lentamente si se reemplaza -vga virtiopor -device virtio-vga-gl? ¿Hay algún problema con alguna de las opciones? 2) ¿Por qué hay tantas fallas durante el arranque? No hice nada malo. 3) ¿Por qué la -display virtio-vga-gl -display gtk,gl=onopción no le da al huésped una virglGPU acelerada que utilice efectivamente la potente GPU del anfitrión?

Hasta ahora he proporcionado mucha información para solucionar problemas. Aquí hay otra información que esperamos sea útil:

$ dmesg|grep virgl
[  164.657541] [drm] features: +virgl +edid -resource_blob -host_visible

Avíseme si necesita más información para solucionar problemas. Gracias por su ayuda con este problema de Qemu.

Respuesta1

Después de cambiar el sistema operativo invitado de Ubuntu a RHEL, todos los problemas de arranque desaparecieron.

información relacionada