QEMU 中 Spice 的默认端口

Default Port for Spice in QEMU

我在启用 KVM 的 Raspberry Pi 上虚拟化 Ubuntu 和其他 aarch64 操作系统 Raspberry Pi 4 (运行 Ubuntu桌面版 21.04)。我已经使用 QEMU 参数 --virtio-gpu,virgl=on --display sdl,gl=on 在我的 aarch64 Ubuntu 20.04 来宾中成功启用了 OpenGL 加速。但是,我不想使用 SDL 来渲染 window,而是想使用 Spice。以下将执行此操作:

qemu-system-aarch64 --M virt --enable-kvm --cpu host --m 2G \
--bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
--device usb-ehci --device usb-kbd \
--spice disable-ticketing,gl=on,addr=127.0.0.1,port=3001 \
--device virtio-gpu,virgl=on

(这是您可以使用 x64 系统重现的示例)

qemu-system-x86_64 --M pc-q35 --enable-kvm --cpu host --m 2G \
--device usb-ehci --device usb-kbd \
--spice disable-ticketing,gl=on,addr=127.0.0.1,port=3001 \
--device virtio-gpu,virgl=on

但 returns SPICE GL support is local-only for now and incompatible with -spice port/tls-port.

当我在 --spice 参数中省略 port=3001 时,它不会抛出错误,但我不知道如何连接到这个新 VM。使用 --display spice-app 不起作用,因为 Ubuntu 的 virt-viewer 版本是 7.0,而不是必需的 8.0。因此,我尝试使用 remote-viewer(与 virt-manager 捆绑在一起)但我无法连接到 127.0.0.1localhost,即使我尝试使用像 3000, 3001, 5900, 5901 这样的端口也是如此.

那么,我需要什么端口(本地)通过 remote-viewer 连接到我的 VM?我的 VM 在 Raspberry Pi 4 上 运行,我想通过同一个 Pi 4 连接到它。

选项 "gl=on" 和 "port=..." 不兼容,这是在 commit
中介绍的 注释解释了 virtlg 使用 unix 套接字,因此与远程访问不兼容。

但是你可以在本地连接,用 :

启动 qemu
 --spice disable-ticketing,gl=on,unix,addr=/tmp/spice.sock 

然后使用本地连接:

remote-viewer spice+unix:///tmp/spice.sock