Qemu VM 运行非常慢,如果使用“-device virtio-vga-gl -display gtk,gl=on”,virgl 不可用

Qemu VM 运行非常慢,如果使用“-device virtio-vga-gl -display gtk,gl=on”,virgl 不可用

主持人:

  • 操作系统(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
  • 已安装 nVidia RTX 3090 GPU。驱动程序版本 460.32.03。
  • 英特尔酷睿 i9-10900K CPU
  • 实际上是无头的

客人:

  • 操作系统:Ubuntu 20.04 桌面版,
  • 操作系统/内核版本:5.11.0-41-generic
  • 架构:x86 64 位

Qemu 可执行文件是在主机上从最新源 6.2.0-rc3 构建的,命令行选项如下./configure

--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

从下载的 ISO 映像安装 Guest Ubuntu。安装后,运行 VM 的 Qemu 命令行是:

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

控制台中有一些输出:

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

这个 Qemu VM 的问题是 1) 如果我将其替换-device virtio-vga-gl-vga virtio,VM 运行速度很快,但在 下-device virtio-vga-gl,它运行非常慢,包括 ssh。2) 启动期间出现大量故障,如下面的屏幕截图所示。如果我将其替换-device virtio-vga-gl为,这些故障就会消失-vga virtio-device virtio-vga-gl然而,在 下,这些故障会重复出现,Qemu 窗口无法进入登录屏幕(所以我不得不使用 ssh)。3) 我预计 OpenGL 渲染器应该是“virgl”,但它仍然是软件“llvmpipe(LLVM 13.0.0,128 位)”

在此处输入图片描述

-vga virtio所以我的问题是:1)为什么用替换后 Qemu VM 运行速度会这么慢-device virtio-vga-gl?这些选项有什么问题吗?2)为什么启动过程中会出现这么多故障?我没有做任何坏事。3)为什么该-display virtio-vga-gl -display gtk,gl=on选项没有为客户机提供加速virglGPU,从而有效利用主机强大的 GPU?

到目前为止,我已经提供了大量故障排除信息。以下是另一条信息,希望对您有用:

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

如果您需要其他信息来进行故障排除,请告诉我。感谢您帮助解决这个 Qemu 问题。

答案1

当我将客户操作系统从 Ubuntu 更改为 RHEL 之后,所有启动问题都消失了。

相关内容