| |
| Qemu/win32 can be run using the mingw-subsystem or an alternative cli (cygwin was successfully |
| tested with export PATH=".../mingw64/lib/qemu:.../mingw64/bin:$PATH") |
| |
| Make sure you are using Windows 10 Pro and you've enabled WHPX OR you own an Intel CPU and |
| you've installed HAX. Otherwise no hardware acceleration can be used. |
| https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v |
| https://github.com/intel/haxm |
| |
| msys2.examples.tests.sh contains several demo use cases which can be automatically executed: |
| $ /mingw64/share/doc/qemu/msys2.examples.tests.sh |
| |
| Most demo use cases were VMs taken from Qemu Advent Calendar https://www.qemu-advent-calendar.org/ |
| which were adjusted to run on Qemu/win32. |
| |
| Desktop use cases were integrated to show different options how to run a Linux desktop using |
| * SPICE |
| * SDL |
| * GTK |
| * VNC |
| |
| All demo use cases can be used to perform a regression test, too: |
| The script supports comparing two specified versions of qemu by executing the use cases with |
| both versions consecutively |
| |
| -------------------------------------------------------------------------------------------------- |
| |
| Known problems with Qemu/win32: |
| |
| * qemu-system-x86_64 -accel whpx |
| in qemu 6.0.0 leads to error messages like |
| WHPX: setting APIC emulation mode in the hypervisor |
| whpx: injection failed, MSI (0, 0) delivery: 0, dest_mode: 0, trigger mode: 0, vector: 0, lost |
| which causes some problems, which can be mitigated by using |
| qemu-system-x86_64 -accel whpx,kernel-irqchip=off |
| |
| * qemu-system-x86_64 -accel whpx -pflash /mingw64/lib/qemu/edk2-x86_64-code.fd |
| using an UEFI BIOS with WHPX fails with |
| qemu-system-x86_64.exe: WHPX: Failed to emulate MMIO access with EmulatorReturnStatus: 2 |
| qemu-system-x86_64.exe: WHPX: Failed to exec a virtual processor |
| |
| * qemu-img commit doesn't work |
| |
| * qemu-img convert to vhdx produces invalid images |
| |
| * qemu-system-x86_64 -append root=/dev/hda |
| absolute paths are converted to windows paths in MINGW64 shell |
| and therefore get invalid, which can be mitigated: |
| $ export MSYS2_ARG_CONV_EXCL='*' |
| $ qemu-system-x86_64.exe -append root=/dev/hda |
| $ unset MSYS2_ARG_CONV_EXCL |
| Make sure you do not use any (absolute) paths in the command, which need to be converted |
| |
| |