
ゲストとして Windows 10 の VM があり、ウィンドウ (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 の Web サイトから ISO 形式で取得できます。それをゲストに渡すか、ゲストにファイルをダウンロードして ISO を抽出/マウントし、ドライバーをインストールします。