1

I've successfully installed an emulated arm64 windows guest and some applications just refuse to start, they spin on one thread and nothing happens.

The setup:

  • host is x64 Windows 11 ( 21H2 - 22000.1098 )
  • qemu is "C:\Program Files\qemu\qemu-system-aarch64.exe" --version
    • QEMU emulator version 7.1.0 (v7.1.0-11925-g4ec481870e-dirty)
  • guest is arm64 Windows 11 ( 22H2 - 22621.755 )

Most of the application launch and work fine and as expected. Some of the applications show the behavior of using ~17% CPU which is 1 core ( of the 6 configured for qemu ), memory usage is usually ~5 Mb and doesn't change, disk access is 0, network 0.

I want to install Visual Studio in the guest system, according to this article - "There is a single installer for both x64 and Arm64 Visual Studio.", so I've downloaded the same installer I would for and x64 system, I checked and it's and x64 application which simply installs itself as a first step, then launches the installed version. The first step works as expected, the bootstrapper of the Visual Studio installer is shown, then asks for something "to be updated", I press continue then when that is completed nothing happens, from the x64 system I know that this is the point where the GUI for the installer is supposed to show up. If I look into the Task Manager, I see the installer running with spinning on one thread.

Things I've tried:

  • I've suspected that because the installer is a .Net application it might be the problem, so I made sure that the guest is updated.
  • Created example applications in .net, one console and one forms application to test whenever they work and they both did.
  • Executed vshwere.exe from the visual studio installer, that is a native application and it worked, but anything directly related to the installer didn't.
  • Tried moving the application to another folder and run it from there, this not helped either.
  • Disabled the GUI hardware acceleration as described here, but that didn't help either.

The task manager showing the stuck installer, it's shown among the background processes: Task Manager showing the stuck installer

Qemu launch script:

"c:\Program Files\qemu\qemu-system-aarch64" ^
-name "Windows 11 on ARM64" ^
-m 4G,slots=2,maxmem=8G ^
-cpu max,pmu=on,sve=on,sve128=on ^
-M virt,virtualization=true ^
-smp 6,sockets=1,cores=6,threads=1,maxcpus=6 ^
-accel tcg,thread=multi ^
-smbios type=2 ^
-k hu ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-kbd ^
-device usb-tablet ^
-device vmcoreinfo ^
-device virtio-rng-device ^
-device virtio-balloon-device ^
-device pvpanic-pci ^
-rtc base=localtime,clock=host ^
-parallel none ^
-audiodev none,id=audio ^
-netdev user,id=hostnet0 -device virtio-net-pci,romfile=,netdev=hostnet0 ^
-drive file=./firmware/flash0.img,format=raw,if=pflash,snapshot=off,readonly=off ^
-drive file=./firmware/flash1.img,format=raw,if=pflash,snapshot=off,readonly=off ^
-device usb-storage,drive=boot ^
-drive if=none,id=boot,file="./blockdev/hda.vhdx"

The following virtio drivers ( virtio-win-0.1.215.iso ) are installed in the guest:

  • Balloon
  • NetKVM
  • pvpanic
  • vioscsi
  • vioserial
  • viostor

How can I gather any useful information on the guest why is the application is stuck?

0 Answers0