I don't understand what this would be useful for. The Linux terminal app on Android (check Developer settings if you want it) already exists and it uses hardware accelerated virtualization, while this uses QEMU with TCG. The Linux terminal app also supports running a DE (No VNC - as in no VNC, not NoVNC - required!), has full shell, full root, all the features of Podroid, and hell, you could even swap out the terminal if you wanted to. The only advantage to this seems that it supports Android 14, 15, and 16. Am I missing something, or does this have no purpose?
My understanding is that the integrated linux terminal is not supported on all processors like snapdragon ones and also is not available on all manufactures like Samsung. Therefore this approach covers a much bigger audience.
I think it was only available on Google Pixel until recently. As far as I understand, some Samsung Exynos devices support it (e.g. Z Flip 7, non-US S26 with Exynos), but not Snapdragon devices, which don't seem to support non-protected VMs yet:
Error code: java.lang.UnsupportedOperationException: Non-protected VMs are not supported on this device
I can find it on my S25fe with exynos android 16/oneui 8.0 if I search for it in the setting but is greyed out. I wait for 8.5 to see if it is enabled then and is the only time I'm happy to have an exynos device!
The new app is truly awesome, was able to get a desktop environment running, and a minecraft server & client. Just a shame that you can't pass through USB.
This. Also, for phones that don't support Android virtualization, there's a user-space hack, part of Termux upstream, that allows for root-less chroots via LD_PRELOAD: https://wiki.termux.com/wiki/PRoot.
systemd won't boot with this (needs to be PID 1), but a lot of software will work just fine and there's nearly zero emulation overhead.
I tried it on my Samsung phone. Keeps crashing, "recovery" just deletes everything and you start over from scratch. No session lasted more than 5 minutes.
you seem to have articulated precisely the advantage that makes it serve a purpose for me: supporting the version of android on my phone. presumably i am far from unique in not having android 16
I think this is great, I've wanted some sort of docker on android system and this does the job quite nicely all wrapped up in an apk. So there is definitely space for this in the current ecosystem. The new terminal built into android crashes whenever I try booting it up.
Also, native Emacs under FDroid has recently been improved a lot.
With just Emacs you get:
- An IRC, Usenet and Mail client. The ONLY libre Usenet client. comp.arch and comp.misc have really engaging discussions. You can score up nice commenters and blacklist every spammer
- Gemini and Gopher via ELPA (run Esc-x package-install RET elpher)
- A math mini CAS with Esc-x calc RET
- Esc-x package-install RET malyon, get some nice ZMachine text adventures at IFDB
- Elisp environment+cl-lib can do a lot
- Esc-x package-install jabber, Esc-x jabber. Chat with cool people at XMPP servers.
- Org-Mode, enough said
- eshell will allow you to automate stuff
- Elisp + Android related functions + org-mode: heaven.
- Sudoku, Sokoban, Tetris...
- LSP integration it's possible
Get some $10 pocket bluetooth keyboard and try it.
This can probably be upstreamed into podman. Podman already has supports using a VM using podman machine (uses different tech under the hood depending on the OS). This seems like it can be yet another backend for it.
I've been using Waydroid with microG on a Librem 5 with PureOS for years. Not extensively as I don't have a lot of reasons to boot Android, but when I do have one it's there.
I've seen some guides for installing Play Services in Waydroid, but personally I'm not interested.
The latest stable release of Waydroid is from little over a month ago. The Android image it uses by default is based on Android 13, which is fresh enough to do its job.
Why wouldn't it? All you need is a binder device for Android IPC and root access to launch Waydroid. It should work perfectly fine when installed and used with Wayland.
I find it somewhat amusing that it uses QEMU to emulate Linux in order to create a container with restricted permissions, even though it is already running on Linux with restricted permissions. I get the point while it is designed that way, but still funny.
I don't see the purpose to run containers on Android, the managed userspace provides everything I need, including code on the go apps, already sandboxed.
Android kernel has the relevant kernel parameters disabled. It is entirely possible to run containers directly on android, but it requires enabled the relevant parameter (iirc no recompilation need, just a cmdline change). But this of course requires root.
I don't understand what this would be useful for. The Linux terminal app on Android (check Developer settings if you want it) already exists and it uses hardware accelerated virtualization, while this uses QEMU with TCG. The Linux terminal app also supports running a DE (No VNC - as in no VNC, not NoVNC - required!), has full shell, full root, all the features of Podroid, and hell, you could even swap out the terminal if you wanted to. The only advantage to this seems that it supports Android 14, 15, and 16. Am I missing something, or does this have no purpose?
My understanding is that the integrated linux terminal is not supported on all processors like snapdragon ones and also is not available on all manufactures like Samsung. Therefore this approach covers a much bigger audience.
I think it was only available on Google Pixel until recently. As far as I understand, some Samsung Exynos devices support it (e.g. Z Flip 7, non-US S26 with Exynos), but not Snapdragon devices, which don't seem to support non-protected VMs yet:
Error code: java.lang.UnsupportedOperationException: Non-protected VMs are not supported on this device
I can find it on my S25fe with exynos android 16/oneui 8.0 if I search for it in the setting but is greyed out. I wait for 8.5 to see if it is enabled then and is the only time I'm happy to have an exynos device!
The new app is truly awesome, was able to get a desktop environment running, and a minecraft server & client. Just a shame that you can't pass through USB.
This. Also, for phones that don't support Android virtualization, there's a user-space hack, part of Termux upstream, that allows for root-less chroots via LD_PRELOAD: https://wiki.termux.com/wiki/PRoot.
systemd won't boot with this (needs to be PID 1), but a lot of software will work just fine and there's nearly zero emulation overhead.
I tried it on my Samsung phone. Keeps crashing, "recovery" just deletes everything and you start over from scratch. No session lasted more than 5 minutes.
you seem to have articulated precisely the advantage that makes it serve a purpose for me: supporting the version of android on my phone. presumably i am far from unique in not having android 16
We can use old phones for running PiHole.
Wow, didn't know this existed, thanks. But 761 Mo download?? That's insanely big for a terminal, what could possibly make this bundle so big?
Personally this toggle doesn't do anything (Android 16, Samsung) so I'm not sure when it's supposed to be ready
Sometimes the capability unlocks the possibilities.
But does it synergize paradigms?
How is it the other way around? What is the status of Waydroid?
I think this is great, I've wanted some sort of docker on android system and this does the job quite nicely all wrapped up in an apk. So there is definitely space for this in the current ecosystem. The new terminal built into android crashes whenever I try booting it up.
Termux and a BT keyboard it's enough.
Also, native Emacs under FDroid has recently been improved a lot.
With just Emacs you get:
- An IRC, Usenet and Mail client. The ONLY libre Usenet client. comp.arch and comp.misc have really engaging discussions. You can score up nice commenters and blacklist every spammer
- Gemini and Gopher via ELPA (run Esc-x package-install RET elpher)
- A math mini CAS with Esc-x calc RET
- Esc-x package-install RET malyon, get some nice ZMachine text adventures at IFDB
- Elisp environment+cl-lib can do a lot
- Esc-x package-install jabber, Esc-x jabber. Chat with cool people at XMPP servers.
- Org-Mode, enough said
- eshell will allow you to automate stuff
- Elisp + Android related functions + org-mode: heaven.
- Sudoku, Sokoban, Tetris...
- LSP integration it's possible
Get some $10 pocket bluetooth keyboard and try it.
This can probably be upstreamed into podman. Podman already has supports using a VM using podman machine (uses different tech under the hood depending on the OS). This seems like it can be yet another backend for it.
That would be great
Is it possible to get the reverse of this working? (Waydroid with play services on Linux phones, such as postmarketOS)
I've been using Waydroid with microG on a Librem 5 with PureOS for years. Not extensively as I don't have a lot of reasons to boot Android, but when I do have one it's there.
I've seen some guides for installing Play Services in Waydroid, but personally I'm not interested.
The latest Waydroid beta is over three years old. Waydroid is dead and I haven't found an alternative.
The latest stable release of Waydroid is from little over a month ago. The Android image it uses by default is based on Android 13, which is fresh enough to do its job.
Why wouldn't it? All you need is a binder device for Android IPC and root access to launch Waydroid. It should work perfectly fine when installed and used with Wayland.
what about the other way around?
i'm aware about waydroid but it has too many problems with nvidia. also require wayland.
There's for example redroid (https://github.com/remote-android/redroid-doc) which seems to be exactly that. Android inside a container.
X86 builds of Android are stuck at many generations back of the OS. Running Android in a VM on X86 is basically dead AFAIK. :(
You could run a windows VM and run windows subsystem for android.
tmux with proot distros exist though
I find it somewhat amusing that it uses QEMU to emulate Linux in order to create a container with restricted permissions, even though it is already running on Linux with restricted permissions. I get the point while it is designed that way, but still funny.
Please stop posting LLM comments, that is not allowed on HN :)
Have you also shipped a bot to post comments for you? :)
I don't see the purpose to run containers on Android, the managed userspace provides everything I need, including code on the go apps, already sandboxed.
Also not a termux fan.
curious is this just software qemu(not sure what word exactly was) instead of virtualization acceleration, probably more overheads?
Yes, under How It Works:
> libqemu-system-aarch64.so (QEMU TCG, no KVM)
TCG means software emulation
I thought why is qemu used here? Why not use linux native namespaces and cgroups.
Permissions. Isolation.
so, like namespaces and cgroups?
Android kernel has the relevant kernel parameters disabled. It is entirely possible to run containers directly on android, but it requires enabled the relevant parameter (iirc no recompilation need, just a cmdline change). But this of course requires root.
https://github.com/ExTV/Podroid/blob/3f7d19dee63e24e0bd36c22... not sure
Itbsays it doesnt use kvm, so i thinj that meens no accel.
I find the title very misleading. Linux containers typically means LXC, but when in readme you say it’s intended for running OCI-based containers.
And local FS access is mediated how?
I just want a folding portable monitor now. We're getting so close...
I’ve heard Samsung makes something like that. :D
https://www.samsung.com/us/smartphones/galaxy-z-trifold/
I use xreal one pro for that, works well.
With this I could in theory do all my work from my Android phone.
What would be the usecases?
Podman.....