quickemu-project / quickemu

Quickly create and run optimised Windows, macOS and Linux virtual machines
MIT License
10.44k stars 456 forks source link

feat: Add support for ARM64 VM's on x86_64 host. #683

Open ahoneybun opened 1 year ago

ahoneybun commented 1 year ago

QEMU supports doing this so I believe this is something that could be added later.

flexiondotorg commented 4 months ago

@ahoneybun What arm64/aarch64 VMs do you propose? And what is the use case for being able to do this?

ahoneybun commented 4 months ago

Both openSUSE and Fedora have aarch64 images. It would make using an aarch64 easier as an amd64 replacement for work.

flexiondotorg commented 4 months ago

@ahoneybun Are you only interested in the "server" images or workstation images? Can you explain what it is about using aarch64 VMs on amd64 hosts that is helpful for your work?

ahoneybun commented 4 months ago

Desktop images mainly though it's not for my work just side projects with aarch64/arm64 now that I have a decent Arm laptop.

flexiondotorg commented 4 months ago

So, if you have an ARM laptop, what is the benefit of running aarch64 VMs on x86 hosts?

I ask, because one of the goals of Quickemu is to provide the optimum experience by default. Running aarch64 VMs on x86 hosts is not going to be that.

ahoneybun commented 4 months ago

Ah I was just thinking since it supports it making it quick to make aarch64 VMS would be nice on x86 hosts. I understand if that is outside of the main goal of the project though.

flexiondotorg commented 4 months ago

It's an interesting use case. I'm just not sure if there would be much interest in running aarch64 VMs on X86. Perhaps as an alternative to cross-compiling, but the performance for the scenario would need to be evaluated.

ahoneybun commented 4 months ago

Understood and thank you for reviewing it if time permits!

JollyDevelopment commented 3 months ago

For what its worth, I just went to go see if quickemu could spin up a postmarketos vm or a pine64-arch vm.

I did some dev work for fun for the pinephone one ages ago and it was useful to have an aarch64 vm for testing. I used qemu for it then, but it was annoying to have to try to figure out myself. I did get something working back then, but i've no idea where the notes I took ended up, lol.

I was hoping quickemu had something already. No worries though. I put in a PR if I can figure it out maybe.

electronstudio commented 2 months ago

The use case is running cross-compiled software on platforms one doesn't own to test whether it works and debug it before releasing it to users.