2025-09-05 –, Room 1
Microsoft released an RTM build of Windows on Arm last year on their website, and Linaro provides instructions for running it on QEMU/KVM. Now we can run Windows on Arm on QEMU/KVM flawlessly, or can we?
Despite basic configuration working with TCG, experiments on Asahi Linux revealed the reliability and functionality of a Windows VM on Arm proved to be far from par with Windows on x64 or Linux on Arm. Key issues included:
- QEMU and KVM struggled with PMU (Performance Monitoring Unit) emulation, a critical requirement for Windows.
- The virtio-gpu graphics driver, essential for features like high and variable display resolution, frequently crashed.
- The SPICE guest agent, necessary for features such as clipboard sharing, failed to function.
These hurdles necessitated multiple patches to update the entire virtualization stack. This presentation will demonstrate how these changes not only enhance the Windows on Arm experience but also improve Windows guest and Arm virtualization experiences overall. Lastly, I'll share insights gained from bringing up such an exotic platform and discuss future work.
Akihiko Odaki, a Ph.D. student at the University of Tokyo, is passionate about designing faster processors. His research focuses on processor microarchitecture, specifically using QEMU to analyze RISC-V programs and optimize processor designs for their execution speed.
He was also a software engineer at Daynix Computing, Ltd, and his primary focus at the company was QEMU's networking subsystem. Notably, he contributed igb, a critical component that emulates an Intel network interface card with advanced virtualization capabilities. Akihiko's interests on QEMU extend beyond RISC-V emulation and networking and include macOS support, Asahi Linux (a port of Linux for Apple Silicon) support, and para-virtualized graphics.