With the HVF in-kernel GICv3, QEMU's usb-storage races on the status packet and Windows Setup stalls 10 s after every burst of reads when installing from the ISO (utmapp/UTM#7970). Use the emulated interrupt controller until upstream QEMU gets the fix from the UTM fork. Record the investigation in windows11-arm64-install-speed.md. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
44 lines
1.4 KiB
INI
44 lines
1.4 KiB
INI
# macOS host, arm64 part of the Windows 11 QEMU configuration; read after windows11.ini.
|
|
|
|
# Accelerators are tried in order: HVF on macOS, else emulation.
|
|
[accel]
|
|
accel = "hvf"
|
|
|
|
[accel]
|
|
accel = "tcg"
|
|
|
|
# With the HVF in-kernel GICv3, QEMU's usb-storage races on the status packet
|
|
# and Windows Setup stalls 10 s after every burst of reads (utmapp/UTM#7970),
|
|
# so use the emulated interrupt controller; upstream QEMU only gets the fix
|
|
# from the UTM fork.
|
|
[machine]
|
|
type = "virt"
|
|
kernel-irqchip = "off"
|
|
|
|
# The "virt" machine has no IDE. NVMe and USB mass storage (used by the
|
|
# installation media of --install-from-iso) both have inbox Windows drivers.
|
|
[device "system_disk-dev"]
|
|
driver = "nvme"
|
|
drive = "system_disk"
|
|
serial = "win11disk"
|
|
bootindex = "1"
|
|
|
|
# Windows has no inbox driver for virtio-net; the guest tools installed by
|
|
# Configure-Windows.ps1 provide it.
|
|
[device "nic0"]
|
|
driver = "virtio-net-pci"
|
|
netdev = "net0"
|
|
|
|
# Unlike q35, "virt" has no default GPU or keyboard. virtio-gpu is the only
|
|
# display, driven by viogpudo (installed by Configure-Windows.ps1). ramfb is not
|
|
# added because Windows would then see a second adapter with a fixed-mode
|
|
# monitor. xres/yres set the preferred mode in the EDID (QEMU defaults to
|
|
# 1280x800); viogpudo accepted 1920x1200 and 2048x1280 but not 2560x1600.
|
|
[device "gpu0"]
|
|
driver = "virtio-gpu-pci"
|
|
xres = "2048"
|
|
yres = "1280"
|
|
|
|
[device "kbd0"]
|
|
driver = "usb-kbd"
|