我有一台以 Windows 10 为客户的虚拟机,我想设置在窗口(qemu 集成显示器或 virt-viewer)调整大小时自动更改分辨率,但这对我来说不起作用。我的虚拟机:
qemu-system-x86_64
-machine q35
-nodefaults
-enable-kvm
-cpu host
-smp cores=2,threads=1
-m 4G
-drive file=win10.img,format=raw,if=virtio
-net nic,model=virtio
-net user
-vga virtio
-device virtio-mouse
-device virtio-keyboard
我安装了客户附加组件和所有相关的 virtio 驱动程序。
我尝试了集成 qemu 显示器和 virt-viewer,但当窗口调整大小时,分辨率更改不起作用。还尝试添加:
-device virtio-serial-pci,id=virtio-serial0
-chardev spicevmc,id=charchannel1,name=vdagent
-device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=com.redhat.spice.0
因为我在某处读到过,客人需要通过该串行设备进行通信才能在需要时调整分辨率,但它也不能正常工作。
我还尝试了 Linux 客户机 (Linux Lite 6.4),它通过 qemu 集成显示器完美运行,即使显示启动动画也是如此,但通过 spice 使用 virt-viewer 时却不行。在 qemu 上,无需上述 chardev 即可调整显示大小(以 Linux Lite 作为客户机)。
答案1
Virgl 在 Windows 上不起作用。只需使用 virtio-gpu 或 qxl,两者的性能相似。
您需要安装 virtio 驱动程序,您可以从 redhat 网站以 iso 格式获取它们,只需将其传递给客户机,或者在客户机上下载文件并提取/安装 iso 并安装驱动程序。