New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Need AArch64 / ARM64 versions #177
Comments
It is on our roadmap. Thanks. |
While it is not on our radmap, it is on our wishlist :) Best, |
Hi @Googulator, We are currently attempting to run Windows Server on top of qemu and didn't manage to fully boot Windows. In case you made any progress on that can you please share the it with us so we can port the drivers ASAP. |
In qemu v2.11-rc1, Windows 10 version 1709 (build 16299) for "ARM64", as Microsoft calls it, can now install and boot using this UEFI firmware image: https://github.com/Googulator/edk2/releases/tag/AHCI Extract the contents of the ISO into a 5GB VHDX or other qemu-compatible image format, create a 2nd, empty VHDX of about 50GB, then run qemu like this (change "-smp 8" if you don't want to emulate that many cores): Walk through setup as you would on an x86 system. Probably won't work under KVM on real ARM hardware, as it depends on the emulated VGA framebuffer, which is fundamentally incompatible with KVM. Unfortunately, virtio-gpu can't be used as an alternative because Windows requires runtime graphics capability through UEFI GOP after ExitBootServices(), which means it can't run on PixelBltOnly screens like the one provided by virtio-gpu. EDIT: 2.11-rc1 is required, earlier versions have some bug related to memory management(?) that cause Windows to blackscreen early during boot. |
Unrelated issue, but the reason why you have to first extract the image to a VHDX is that simply using the ISO as an ide-cd device causes the qemu host process to crash when you press a key at the prompt to boot from the ISO. |
Hi @Googulator , Thank you very much for the instructions and the very detailed explanation. I am following the steps you provided in attempt to boot Windows from the vhdx image but I think I am not preparing the vhdx image from the iso appropriately. Can you please shed some light on how you did it? (tools, special configurations, etc..) |
@Googulator +1 can you post steps to prepare vhdx from ISO.. seems my virtual disk may be not bootable or badly created.. |
@sameehj , Hello friends, Today I found that a user called "LightBulbFun" in forum "BetaArchive" successfully installed Windows 10 ARM64 usinig an older firmware. You can see this link P.S. The screenshot shows a small "HELLO WORLD" program created by Visual Basic 6, and that may means x86 program can run in ARM64 win10. |
That's great! We'll be trying to follow his instructions and update you on the progress =) |
Any news on the KVM incompatibility issue and any efforts that are being taken to get around it? Is it something that will eventually be fixed in Qemu-system-aarch64? What is the "emulated VGA framebuffer" exactly and why would this cause an incompatibility with KVM? Surely there must be a way around it? |
As was mentioned in the previous comment by @huoqianyu it is possible to run Windows on QEMU now. |
Yes, but it runs too slow, and the KVM acceleration problem is stopping it from running fast on ARM64 hardware. So my question is specifically about the KVM incompatibility: is it a problem with Qemu or KVM or Windows? Any efforts being made to resolve it? Is there a way around it? |
Can you give a try to Linux arm64 guest and see if it performs better than Windows? |
The ARM64 guests all have graphics turned off using the -nographic option - so I don't think they can be used with VGA output - for example see this: KVM may also work with no graphics, hence the compatibility problem has something to do with the graphics, but it hasn't been discussed anywhere. |
Headless configuration should work for Windows Server as well. But we might be able to build ARM64 |
I don't know where to find the Windows Server 2016 on ARM ISO - I think it was given to selected people only. If you could please build a new graphics device to get KVM to work in conjunction with Qemu-System-Aarch64 + Windows 10 on ARM then that would be great - I'm all ears and waiting day-by-day to test this! |
Of cause you can boot Windows without VGA output, but that will only be a black screen, the OS should still be working though. |
There are currently no drivers available - they would have to be made for Windows on ARM; however, that would not be a solution, but a workaround to the problem of no VGA support in Qemu coupled with KVM compatibility issues. I can only assume this is some kind of deliberate joke to put out headless server scripts and hold back on allowing the public to visually experience modern hardware virtualization. A blind man should be grateful just to walk and talk - even though he cannot see where he's going? |
For those who have problems by installing QEMU. I found a ready to run image with Windows pre-installed: I think that needs to be added in the start script (Driver still missing):
|
You are welcomed to check the branch: https://github.com/virtio-win/kvm-guest-drivers-windows/tree/arm64 Instructions for build machine (using community edition of VS2017): Soon will be integrated to master and we will distribute the binaries. Best regards, |
Thanks Yan! Is there a pre-built binary I could use to test with qemu-system-aarch64/KVM? |
@falkor2k15 |
@ybendito, yes please!! :) Is there a VGA one you could send me as that's the main problem with the qemu-system-aarch64 and KVM. For example; is there a VGA QXL? My email is gilius2k15@gmail.com I'm not sure if you guys are aware of this new QEMU machine (xilinx-zynq-a9) and new ARM CPU (A72)? Would be good to test with a53, a57 and a72. Edit: I don't think the QXL one is a virtio driver. I think it's just called -vga virtio or -virtio-vga or virtio-gpu |
@falkor2k15 qxl-wddm-dod is not a part of virtio-win, we did not build it for ARMx and currently we do not have an estimation for that. |
@falkor2k15 I think you play with some drivers set that is not related to our build, I've sent only netkvm. |
I am testing Windows ARM64 on KVM, could you please send me the viostor bits? @ybendito |
@driver1998 On which platform(chipset)? |
Back then when starting this virtual machine worked for me I used RDP to workaround this remfb limitation. Could you please describe setup that works for you right now? Distribution version, qemu version, libvirt version, qemu-efi-aarch64 version, etc. |
I'm using |
Good News! Slightly unrelated but with my working Windows aarch64 setup using QEMU/KVM on my Pi 4, my JetStream2 Benchmark score is ~25, which is near the Atom X7-Z8700. This was tested on the default Edge Browser. |
We can help you test we have Windows on Rasberry Pi setup. Please pursue it we at Windows on Rasberry Pi community will be glad to extend support in testing your drivers and tools for ARM64. |
I had enabled kvm on android device(realme 6i). |
I had enabled kvm on android device(realme 6i).
Got /dev/kvm
And tried windows 10 arm64 but unfortunately it is not working
What i have done :
I had to use host cpu,with custom cpu(cortex-xx) gives "invalid argument"
As VGA output is incompatible with kvm i had to use ramfb device, in case
of VGA output+kvm, it was showing black screen
Using ramfb device , windows logo appeared but stucked at that.
Environment :
Kali nethunter app
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#177 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHBCVFSPA3M5TBSWL2RGYNLTYMNXVANCNFSM4EBIHCFA>
.
Try to use virtio-gpu-pci as graphic device. What’s your kernel version? It
probably needs a quite recent kernel to get kvm work well.
|
Windows requires a linear frame buffer during boot; virtio-gpu-pci is BLT-only, which Windows won't support. |
I've used virtio-gpu-pci (only) during boot. It probably fell back to ramfb, but it worked. |
|
What’s your kernel version? It probably needs a quite recent kernel to get
kvm work well.
Kernel version is 4.14.142
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#177 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHBCVFRJTT5KAXNKFPWQ2ELTZUC3FANCNFSM4EBIHCFA>
.
That’s fine. 4.14 should be okay, 4.9 panics due to PSCI handling, 4.19
works.
|
ARM64 support is part of the released drivers. Thanks, |
@hitmoon Finally, I can now boot into win10 install page, I appreciate it if you can show your magic way or contact me by wesjeroo@sina.com, too many thanks |
I heard WoA does not have support for GICv3, at least not yet. |
Windows works perfectly fine with GICv3. If using KVM, the host must be GICv3 itself, like an Ampere Altra based server, for example. |
Try to add its=off ( -machine virt,gic-version=3,its=off) and see what
happens.
La 16.04.2022 14:41, Stanislav Motylkov a scris:
…
for GICv3 machine, qemu+kvm to run windows 10 for ARM will be hanged.
I heard WoA does not have support for GICv3, at least not yet.
—
Reply to this email directly, view it on GitHub
<https://urldefense.com/v3/__https://github.com/virtio-win/kvm-guest-drivers-windows/issues/177*issuecomment-1100646083__;Iw!!ACWV5N9M2RV99hQ!aZ-BoF6t2b0SwfTcs2zRgg1MrNX4zRuaY4rVFqpEsQH9YqJSCmqm50GKOyMfkMlLCQ$>,
or unsubscribe
<https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AHVVLHFQWCY6YDV5M3E4QBDVFKRPLANCNFSM4EBIHCFA__;!!ACWV5N9M2RV99hQ!aZ-BoF6t2b0SwfTcs2zRgg1MrNX4zRuaY4rVFqpEsQH9YqJSCmqm50GKOyNWPzdXjw$>.
You are receiving this because you are subscribed to this
thread.Message ID:
***@***.***>
|
Thanks very much @mcarabas , it works!! This gicv3 problem has stuck me for a long time, thanks again for your help! |
Yeah on machines with GICv3, Also my old fork is not needed anymore (unless you want to hack around with old Windows builds), the underlying issue with KVM is fixed in both Windows 10 (20H1+) and Windows 11. |
In case I would wish to avoid reading the nearly 300 posts, would anyone mind pointing me to any resource, or providing any explanation directly, regarding the current status of this work? I am sorry if I would get the same information by reading fully, but it would take a great effort. There are several unofficial installation tools for PromMox over AMD64, including PiMox, which specifically targets a Raspberry Pi. It would be interesting to know how close the current functionality is for these tools to a turnkey solution suitable for basic use. |
All virtio drivers have been ported to Arm64 and Windows works fine under QEMU providing that you either have a supported CPU in the host machine (with KVM) or configure TCG for the minimum hardware supported. Before you ask: Yes, Windows 11 requires ArmV8.1. Yes, that means most Raspberry Pi's can't run it with KVM. Windows 10 should work. I thought this thread was closed. Doesn't this mean it should accept no further posts? Seems as this thread has become everyone's support line for running Windows under QEMU regardless of the problem. |
For some projects it would be the convention. This thread appears in a web search for relevant keywords. My guess is that if the same search revealed a page announcing the information just given, then it would be less likely that the current issue would receive the usage you have identified as objectionable. Even based on the recent information, I have no reference for downloading the drivers. Perhaps I would have to look harder, if a resource already exists for this purpose, but it would be easier for many if such a site would appear through on a web search.
By the way, some sources report anecdotal success operating Windows 11 on a Raspberry Pi 4 (at least as a regular bare-metal install). I may be lacking relevant knowledge, but I find no strong indication that ARMv8.1 is required even officially for running the ARM distribution of Windows 11. The official hardware requirements indicate for example that the Qualcomm Snapdragon 850 is a supported processor, which is built on the Kryo 385 core, an ARMv8.0-A implementation. |
Thank you. I see that the ISO packages drivers for multiple architectures, but without such a statement in the surrounding documentation, it may not be assumed by a casual visitor, since the ARM distribution of Windows is new, and so is support for it. May I suggest (to the maintainer of the documentation) a note assuring the visitor that support is included in the package for not only the x86 architecture? If nothing else, including the architecture in the written content would place the page among the results of a web search submitted with the relevant keywords. |
|
qemu-system-aarch64 (v8.0.0-rc4-dirty) What is the cause of the blue screen after installing the viogpudo driver in Virtio-win0.1.229 for windows10 for arm? The graphics driver should be up to date. |
Microsoft is now building Windows 10 and Windows Server for ARM64 machines. To successfully run these in qemu, virtio drivers are needed for the ARM64 platform.
The text was updated successfully, but these errors were encountered: