X11

qemu (no virt-manager/viewer) sdl window fullscreen with high resolution

  • March 10, 2021

我試圖在使用者無法關閉 Qemu SDL GUI 視窗的情況下全屏打開 KVM VM。我的測試機器具有 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

僅使用 Ubuntu Linux 20.10 (X11) 來賓 VM 進行測試。

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,來賓 VM 中的 qxl 驅動程序,未定義解析度(qxl 核心,qxl_dri X11)

-device qxl-vga,vgamem_mb=64 # bad 1024x768

QXL-VGA,來賓 VM 中的 qxl 驅動程序,定義的解析度

-device qxl-vga,vgamem_mb=64,xres=1680,yres=1050 # ok

virtio-vga,來賓 VM 中的驅動程序,未定義解析度(virtio-pci 核心,fb/modesettings X11 - 此處不確定)

-device virtio-vga # bad 1024x768

virtio-vga,來賓 VM 中的驅動程序

-device virtio-vga,xres=1680,yres=1050 # ok

引用自:https://unix.stackexchange.com/questions/638553