Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Waydroid has Android use your actual Linux kernel, so on an x86-64 host you’ll run x86-64 Android, and on an ARM host, ARM Android. This means that there will be some apps that won’t run on your Intel/AMD computer. I have no idea at all how common it is for Android apps to be tied to ARM, but I imagine that ARM64 will have helped with architecture-neutrality.


> This means that there will be some apps that won’t run on your Intel/AMD computer.

Should be able to still run them if you use binfmt_misc. Of course it will be slower but it's possible.


> binfmt_misc

https://en.wikipedia.org/wiki/Binfmt_misc

> binfmt_misc can also be combined with QEMU to execute programs for other processor architectures as if they were native binaries.[9]

QEMU supported [ARM guest] machines: https://wiki.qemu.org/Documentation/Platforms/ARM#Supported_...

Edit: from "Running and Building ARM Docker Containers on x86" (which also describes how to get CUDA working) https://www.stereolabs.com/docs/docker/building-arm-containe... :

  sudo apt-get install qemu binfmt-support qemu-user-static # Install the qemu packages
  docker run --rm --privileged multiarch/qemu-user-static --reset -p yes # Execute the registering scripts

  docker run --rm -t arm64v8/ubuntu uname -m # Test the emulation environment
https://github.com/multiarch/qemu-user-static :

> multiarch/qemu-user-static is to enable an execution of different multi-architecture containers by QEMU [1] and binfmt_misc [2]. Here are examples with Docker [3].


Why the heck isn't there just an official Android container and/or a LineageOS container?

It's not a certified device, so.

There are a number of ways to build "multi-arch docker images" e.g. for both x86 and ARM: OCI, docker build, podman build, buildx, buildah.

Containers are testable.

Here's this re: whether the official OpenWRT container should run /sbin/init in order to run procd, ubusd,: https://github.com/docker-library/official-images/pull/7975#...

AFAIU, from a termux issue thread re: repackaging everything individually, latest Android requires binaries to be installed from APKs to get the SELinux context label necessary to run?


If the app doesn't use any native libraries, it should be able to run on any architecture. Otherwise, I don't think you'll find many developers shipping x86/x86_64 binaries nowadays considering there are no real devices that use it.

I think Intel has (or had?) a tool/library for translating ARM to x86 called Houdini. Can't seem to find it though, and it might require a license anyways.


Aren't x86 chromebooks real devices?


If you mean x86_64 then yes certainly. They are about as common as ARM64 Chromebooks these days.


Can Chrome books run Android apps?


Yes they can. It's been an advertised feature for a few years.


TIL! In that case, x86 builds are probably more common than I assumed.


> but I imagine that ARM64 will have helped with architecture-neutrality.

What would have helped a lot more here is the default emulator in Android Studio is currently, and has been for a while now, x86. Since of course x86 to x86 virtualization is a lot faster than ARM to x86 virtualization.

ARM64 didn't do much to help with architecture-neutrality just like X86_64 didn't.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: