the one thing linux really hasnt been made on par with winblows yet is the dreadful amount of options for android simulation -the most popular choice seems to be Waydroid, but its such an unneeded hassle to set up at all -genymotion is just slow -and than you have things like android x86 which entirely defeat the point of an emulator
Instead of an emulator, what about a VM? Does that option exist?
What would you put in the VM? Each Android ROM is highly hardware dependent and each device’s internal storage is highly fragmented into a couple dozen partitions configured in proprietary formats.
Theoretically a GSI ROM is supposed to be hardware-independent thanks to Treble but you would still need a common base to go with any GSI ROM and I’m not sure a generic one has been made specifically for use in a VM.
Removed by mod
Just androidx86.That’s an Android distro highly customized to running in a VM.
Removed by mod
Apparently you never had a look at it. Getting Android to run on x86 is by far not trivial these days. To make it work, Android-x86 has a lot of modifications over AOSP, including drivers, HAL and a lot more.
Just checkout their Git to see what they had to do to get it working.
Removed by mod
Ever seen a single instance in the real world where this is running outside of a VM?
Removed by mod
Removed by mod
deleted by creator
Removed by mod
VM = x86 = android-x86 which OP already mentioned
No, qemu can run ARM images with ease. If I recall correctly, waydroid is using that approach
Removed by mod
Thanks for the correction, has been a while since I used waydroid :)
Nah, they’d be as slow as a 486 running modern Windows if that was their approach
Removed by mod
There’s a bit more to an emulator than simply running Android on x86 hardware.
Removed by mod
Yes and no.
In general it is true that an emulator just needs to translate instructions, but for things like games and the Android operating system, your emulator also needs to use whatever hardware acceleration you have or it will run like dogshit.
Android makes extensive use of graphical acceleration to the point where it is a mandatory requirement. There is no part of the UI that doesn’t use hardware acceleration.
Luckily Android uses OpenGL ES, and there are means to translate that into Vulkan without too much issue.
But what you’re talking about is virtualisation for the most part - the only thing arguably doing any actual emulation in your scenario is libhoudini. Otherwise, there isn’t any translation of instructions - The Android VM instructions get executed directly on Ring 0 of the CPU
Removed by mod
And therefore it means that in addition to doing translation work, they themselves need to implement hardware acceleration. That’s why you see many game emulators requiring DirectX even if the console in question never used it.
Oh, and 4 of the 5 products you mentioned are not emulators. Of the 5, only QEMU is fully capable of emulation. There is a massive and important difference between virtual machines and emulation.
Removed by mod
deleted by creator
Removed by mod