Slow doesn't really cover how slow it is on an M1 MBA (thermal issues)
Thermals might become an issue later on, but on my M1 MBA it takes Windows XP over 3 minutes to boot to the desktop in UTM! All the while the CPU doesn‘t really go above 50°C, so way below the throttling temperature. There is definitely something else going on.
Maybe it would be faster if the CPU were forced to a specific model without MMX, SSE, and all that jazz, but I doubt it would improve to a speed that I would call useable.
It‘s been over a decade that I ran Virtual PC on my G5 and I‘ve only used Windows 2000, not Windows XP, but even with nostalgia taken into account I‘m very sure that it was a lot faster.
Of course a PPC optimized dynarec by Eric Traut is more efficient than QEMU‘s TCG, but the x86 emulation feels exceptionally slow.
The upside is as Apple's ARM chip gets better the speed of x86 emulation may increase to the point an ARM version is not needed.
From what I‘ve seen so far, especially the speed comparison between CrossOver and Windows 10 on Parallels, I wouldn‘t hold my breath.
It isn‘t really viable to statically recompile an operating system, so unless you already have a native OS (like Windows on ARM) or an abstraction layer (like WINE) that lets you statically recompile the application, you will never get the full speed increase of Rosetta 2.
The reason why CrossOver isn‘t Apple Silicon native yet is so it can use the fallback dynamic recompilation of Rosetta 2. I somewhat doubt that it is going to get much better than that.
Got UTM to work. Turns out you need to convert the vhdx file before installing or else you risk it getting corrupted and not restarting after initial setup. Now it's working fine.
Speed seems decent:
I also converted the image it the native format when I tried Windows 10 with QEMU.
It makes sense that there isn‘t that much difference for CPU benchmarks between QEMU und Parallels, since both have to use Apple‘s hypervisor.
Sorry for somewhat derailing your thread, but I wanted to make clear that QEMU is too slow to use for PC emulation on the M1, in my opinion.
From my point of view the options for Windows emulation in increasing speed order are:
- QEMU x86 (one has to stress that Q stands for quick)
- DOSBox-X (Win9x only)
- PCem (I had problems with Win2k and WinXP but they should work in theory)
- CrossOver
- QEMU with Windows 10 on ARM
- Parallels with Windows 10 on ARM
I haven‘t tried it yet, but I assume that Bochs would be even slower than QEMU, since Bochs had been the slowest PC emulator when I tried it on previous platforms.