Linux環境が必要で,macOSでUTMを使ってDebian13をインストールしたのですが,いくつか問題が発生したので記録しておきます.
環境
- VMホスト
- macOS: 27.2 (Golden Gate)
- UTM: 4.6.4 → 5.0.8
- VMゲスト
- Debian: 13.7 (debian-13.7.0-arm64-netinst.iso)
- spice-vdagent: 0.22.1-4.1
問題: インストール後リブートで画面が真っ黒
インストールが終わってリブートすると画面が真っ黒でOSが起動しませんでした. 正確に言うと完全な真っ黒ではなく,左上にカーソルのアンダーラインだけが表示されている状態でした.
GRUBの設定を以下のように変えて,反映してリブートすることで表示されるようになりました.
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=7 plymouth.enable=0"
GRUB_CMDLINE_LINUX="console=tty0"sudo update-grub
sudo rebootどうやらLKUSのパスワード入力の部分で止まっていたようでした(たぶん).
問題: 音声が再生されない
cat /proc/asound/cards
# →サウンドカードは見える
pactl info
# →音声サーバは動作してる
speaker-test -c 2 -t wav
alsamixer
# →音量を上げても音が聞こえない
pavucontrol
# →Playbackタブのボリュームメータは動いてるけど音が聞こえない
# →Output Devicesタブには"Line Out"というPortだけがあって選択されていて,ボリュームメータは動いていない→Output Devicesの音量が0だっただけで,上げたら音出たw
問題: UTMのウィンドウサイズを変えてもVMゲストのディスプレイサイズが変更されない
インストール後,UTMのウィンドウサイズを変えると,一呼吸置いて元のウィンドウサイズに戻ってしまい,VMゲストのディスプレイサイズがUTMのウィンドウサイズに追随しない状況でした.
解決方法
UTMのバージョンを4.6.4から最新の5.0.8にしたら直りました.
色々試した記録
UTMのDisplayはvirtio-gpu-pciです.Resize DisplayみたいなオプションはONになっています.
エージェントはちゃんと動いているようです.
ls -l /dev/virtio-ports/
# →ポートある
systemctl is-active spice-vdagentd
# →動いてる
pgrep -a spice-vdagent
# /usr/bin/spice-vdagent
# /usr/sbin/spice-vdagentd
# が生きてる解像度変更イベントはxevに届いているようです.
xev -root -event randr
# →ウィンドウサイズ変更時にRRScreenChangeNotifyとRRNotifyが通知されるxrandrで解像度を変更することはできています.
xrandr --output Virtual-1 --mode 1280x800
# →解像度が変わるここで,xrandr --queryで表示される解像度のリストに,ウィンドウサイズを変えた瞬間だけ変更後のサイズが現れることに気づきました.(その後すぐその解像度はリストから消えてしまう.)
さらにjournalctl -u spice-vdagentd -b --no-pagerを見てみると,ウィンドウサイズを変えるたびにinvalid message size for VDAgentMonitorsConfigというエラーが出ていることを発見しました.
これはイシューが上がっており,spice-vdagentの0.23.0で直っているようです.また,UTM側でも4.7.2で対応しているようでした.
cf. SPICE vdagent version mismatch causes resolution change issues · Issue #5832 · utmapp/UTM
cf. https://github.com/utmapp/UTM/releases?page=2#release-v4.7.4
私のインストールしたDebian13の環境ではspice-vdagentのパッケージは0.22までしか存在しなかったので,UTMを最新の5.0.8にしました.すると,ウィンドウサイズに追随してVMゲストのディスプレイサイズが変わるようになりました!
VMゲストの音声が遅延する
動画を再生すると,音声が数100ms〜数秒程度遅延する状態でした.
UTMの設定でSoundメニューのQEMU Sound > Sound BackendをCoreAudio (Output Only)にすることで遅延がなくなりました.
CoreAudioバックエンドはマイクが使えないようですが,使う予定はないので,とりあえずこれにしています.