I'm looking for a workable Android emulator for ARM

Yes, you’re right. I have an old Compaq laptop.
But, unfortunately, all old laptops are very voracious and even get very hot, so they are uneconomical.
That’s why they don’t suit me.

Why is it slow? On this YouTube Windows XP it works pretty fast.

I do not know. The video is surely sped up at least 2x. And the actual booting desktop is shown about 1 second, so we do not really know. I have tried to run it on a chromebook with 4 core 2GHz mediatek cpu, on qemu running in termux and was usable for very simple tasks. And was slow. I deleted is because it was just an experiment so i cannot show. But imagine taking a couple of seconds after doubleclicking my computer to open it. Firefox opening like 30 second to a minute… What i actually did back than it to save a snapshot of the ram, so since i did not made any changes, i restored it from the snapshot and at least restoring the desktop a.k.a. “booting” was fast, instead of like 5 minutes.

That is, of course, one more layer of virtualisation, because chromeos already runs a virtual machine for the android apps like termux (in which i run the qemu system). So i guess without this may be faster. You have to try.

1 Like

Teo, thanks you for the valuable advices. I have to try them out in practice.
Unfortunately, the video output is broken on Rpi 4 version 4.
Although I have serviceable Api version 3, but it works even slower.

With qemu you may be able to emulate x86_64 thus gain momentum by running a virtual winxp

A search how to run x86 on arm using qemu - sx.nix.dk

You suggested emulation of 64 bit applications
Ok, is it possible too for 32 bit applications?
For example, for Windows XP/32

32-bit can run on 64-bit - not the other way around

Actually, software emulation (which x86 on ARM necessarily is) can also run 64-bit on 32-bit, albeit slowly (though software emulation is never fast). I still remember how I built x86_64 RPM packages on a 32-bit x86 machine in qemu-system-x86_64. (User-mode emulation used to be only 32-bit on 32-bit or 64-bit on 64-bit, but this restriction appears to have been lifted according to QEMU User space emulator — QEMU documentation – quoting that link: “QEMU includes a generic system call translator. This means that the parameters of the system calls can be converted to fix endianness and 32/64-bit mismatches between hosts and targets.”)

That said, there are optimized x86 emulators for ARM, box86 and box64, which are faster than the portable QEMU emulators, but can only emulate 32-bit on 32-bit (box86) and 64-bit on 64-bit (box64) (and 32-bit on 64-bit if and only if you can run 32-bit ARM binaries (the box86 32-bit binary) on your aarch64 system, using a chroot or a multilib setup).

2 Likes

OK, what’s the result? Which application will run faster on aarch64 - 32-bit or 64-bit?

If you are talking about x86 applications, both will be slow. Which one will be less slow, I do not know.