我正在尝试全屏打开 KVM VM,而用户无法关闭 Qemu SDL GUI 窗口。我的测试机具有 1680x1050 分辨率,但我无法使任何 VM GUI 像我的 1680x1050 分辨率一样全屏。
顺便说一句,我直接打开它,而不是通过 SPICE。让我们想象这样一个场景:当计算机启动时,该虚拟机将启动并在用户监视器上全屏显示(即,将直接启动 qemu SDL GUI,而不是 X11 WM)。
知道如何在 qemu SDL 窗口中实现与虚拟主机相同的分辨率吗? IIUC-vga std
应该涵盖这样的革命。
qemu-system-x86_64 \
-vga std \
-accel kvm \
-smp 2 -m 2048 \
-boot c -cdrom <livecd> -bios bios-256k.bin -boot menu=on \
-hda <disk> \
-display sdl,alt_grab=on,window_close=off \
-usb -device usb-tablet \
-full-screen
答案1
仅使用 Ubuntu Linux 20.10 (X11) 来宾虚拟机进行测试。
qemu-system-x86_64 -nodefaults -name test -accel kvm \
-smp 2 -m 2048 -bios bios-256k.bin -boot menu=on \
-cdrom ubuntu-20.10-desktop-amd64.iso \
-device qemu-xhci,id=usb-bus -device usb-tablet \
-display sdl \
...graphics...
-netdev user,id=hostnet0 -device virtio-net-pci,netdev=hostnet0 \
-full-screen -no-quit
VGA 驱动程序,未定义分辨率(bochs_drm 内核、fb X11)
-device VGA,vgamem_mb=64 # bad 1024x768
VGA 驱动程序,定义分辨率(bochs_drm 内核,fb X11)
-device VGA,vgamem_mb=64,xres=1680,yres=1050 # ok
QXL-VGA,客户虚拟机中的 qxl 驱动程序,未定义分辨率(qxl 内核、qxl_dri X11)
-device qxl-vga,vgamem_mb=64 # bad 1024x768
QXL-VGA,客户虚拟机中的 qxl 驱动程序,定义的分辨率
-device qxl-vga,vgamem_mb=64,xres=1680,yres=1050 # ok
virtio-vga,客户虚拟机中的驱动程序,没有定义的分辨率(virtio-pci 内核,fb/modesettings X11 - 此处不确定)
-device virtio-vga # bad 1024x768
virtio-vga,来宾虚拟机中的驱动程序
-device virtio-vga,xres=1680,yres=1050 # ok