Google is developing a Terminal app for Android that’ll let you run Linux apps. It’ll download and run Debian in a VM for you.
…
Engineers at Google started work on a new Terminal app for Android a couple of weeks ago. This Terminal app is part of the Android Virtualization Framework (AVF) and contains a WebView that connects to a Linux virtual machine via a local IP address, allowing you to run Linux commands from the Android host. Initially, you had to manually enable this Terminal app using a shell command and then configure the Linux VM yourself. However, in recent days, Google began work on integrating the Terminal app into Android as well as turning it into an all-in-one app for running a Linux distro in a VM.
…
Google is still working on improving the Terminal app as well as AVF before shipping this feature. AVF already supports graphics and some input options, but it’s preparing to add support for backing up and restoring snapshots, nested virtualization, and devices with an x86_64 architecture. It’s also preparing to add some settings pages to the Terminal app, which is pretty barebones right now apart from a menu to copy the IP address and stop the existing VM instance. The settings pages will let you resize the disk, configure port forwarding, and potentially recover partitions.
…
If you’re wondering why you’d want to run Linux apps on Android, then this feature is probably not for you. Google added Linux support to Chrome OS so developers with Chromebooks can run Linux apps that are useful for development. For example, Linux support on Chrome OS allows developers to run the Linux version of Android Studio, the recommended IDE for Android app development, on Chromebooks. It also lets them run Linux command line tools safely and securely in a container.
I want a Linux phone capable of running android apps
I’d rather have a linux OS on the phone that can run Android apps.
Steam?
No, not unless you have an x86 Android device. While this will run Linux apps, it will be limited to the CPU architecture. Unless there is a x86 to ARM translation layer on Linux that I’m not aware of?
box86/box64, and there’s also FEX-emu which is used by the Asahi Linux project (Linux on Apple Silicon macbooks).
Irrelevant but the embed thumbnail terrifies me. why is the android fuzzy
Winter is coming
We already have termux for that, and on a rooted device you could do pretty much anything. This is pointless
Yeah, I just installed Debian in Termux last night. I’ve got a Samsung phone with a locked down bootloader, so it’s the best I can do.
Yeah but I’m unwilling to root my device, so hopefully this will allow me to do some cool stuff too.
Termux already does a lot of cool stuff without root. Makes due a decent ssh client in a pinch.
Much more appealing to me is running Android apps on Linux officially. I don’t want to use Android as my main system, but I sure as heck would love to have one or two Android apps available on my Linux Machines.
wayDroid does let you do that, in a fairly lightweight way (uses Linux namespaces iirc, similar to lxc.
It’s still not full native, which would be even nicer. I play droidfish on my Linux machines using it.
I’m glad it worked for you, it borked the fuck out of my system 🤣
It also borked the eff out of my system too, and I’m still seeing traces of its lefotver desktop files after uninstallation
)
Interesting… but well… Android isn’t rooted, so will it use chroot or something like that? Or it will use a whole another kernel, complete VM?
Well, the summary pasted in the post mentions “VM” about a dozen times
That’s a bad move of Google, this has no reason at all!
Chroot/docker will use a more practical way to run Linux, as Android is just a Linux distro, why bother with running a whole another kernel!A reasonable build of the kernel optimized for virtualization won’t take more than a few tens of megabytes of RAM (and it will have support for memory ballooning, so the virtualized kernel will give the memory it doesn’t need back to the host), and the userspace will need to be separate anyway due to how different Android is to normal Linux distros.
Containers are nice when you want to run dozens of separate services on the same server or want to get the benefits of infrastructure as code, but in this case they would provide minimal benefits at the cost of having no way of loading any kernel modules not built into whatever ancient kernel version your SoC manufacturer decided you have to use on your phone. Also, container escape vulnerabilities are still a bit more common than full VM escape, so this is also good for security on top of being more useful.
I’ve never tried it myself, but I think you can run full Linux VMs on Pixel phones already. A quick search brings up https://www.xda-developers.com/nestbox-hands-on/
Anyone have experience with this or similar options? Personally I’ve never used anything more advanced than Termux (which is lean and super cool, but not a full-blown VM).
You can pretty much chroot into a full debian installation, and even make kernel calls higher than that natively supported by your phone through
proot
. It’s a weird time to be alive.
This seems as much about converging Android and ChromeOS as anything.
Smells like they might be preparing to make their own portable console running Android.
Cool and all but id rather run android apps on a linux phone.
You can already, Waydroid exists
I think you misread. They want a Linux phone, not a container for android apps on Linux Desktop. Also, yeah there are very limited options to do this, but most of us can’t yet.
Linux phones do exist, I was saying that you could use Waydroid on those devices (although you can also use it on Linux Desktop), such as postmarketOS on eg a Fairphone 5.
Okay but they only run on pretty weak(usually because it has to be old) hardware. We need a linux flagship phone.
Fairphone 5 isn’t old. It’s a fairly recent, midrange phone
As an American, I absolutely would choose a Fairphone if it wasn’t only available through that third party distributor.
This could be really interesting. I don’t personally see a use case for me to run Linux apps on Android. I could see myself running android apps on Linux though. Pretty happy to see this.
does this mean more steam support for android ?
deleted by creator.
Would it be like a Windows Subsystem for Linux (WSL) but then for Android?
Termux has been a thing for years.
Yeah but I bet google’s one will have lots of cool features like being harder to use and not supporting becoming root and requiring google play services for no discernable reason
And will be cancelled in 18 months with 2 weeks notice.
If it’s anything like ChromeOS, it’ll be a VM where you can do whatever you want, within that VM.
Termux recently got moved off of the play store (kinda), and is now only available on f-droid/github, because Google was further locking down what they allowed on their store.
And in addition to that, they recently added a restriction in later versions of Android: “Child process limit”. Although this limit used to not there, when enabled, it prevents users from truly running arbitrary linux programs, like via termux.
Although the child process limit can still be disabled in developer options, it doesn’t bode well for how flexible base android in the future will be, since many times corpos like Google move stuff into the “secret” options before eventually removing that dial all together.
TLDR: Termux has been, and is a thing… for now.
Also, I want to shout out winlator. It uses a linux proot, similator to termux, and has box64 and wine inside that proot that people can use to play games. I tested with Gungeon, and it even has controller support and performance, which is really impressive.
winlator can run windows apps on android
Hey that sounds neat!
uses ubuntu as a base
Oh no…
MIT license
oh no
Have to install from github/no F-Droid build
oh no
Winlator is really just termux + proot + box64 + wine wrapped in a neat UI (+ controller support). You can, and people have set this up manually before winlator came along. You’ll either need termux-x11 or vnc for the GUI.
Mobox is a similar project that does this automatically via a script… but I don’t see a license in their github repo, plus they require the proprietary input bridge for touch controls.
Termux doesn’t run arbitrary software. There’s a pretty large set that does but plenty doesn’t. A VM would resolve that.
Ehh it kinda does considering you can get a pretty full compiler tool chain running via termux.
Through termux you can already install a full linux distro on android. It is a little slow, but full desktop environment. Not bad if you have a phone that supports display output
Do you mean via QEMU without hardware acceleration?
I didn’t think to check how it worked, other than the graphics part is accessed via a VNC app. If you have a spare phone check out Anlinux on PlayStore or F-Droid
Anlinux
This application will allow you to run Linux on Android, by using https://f-droid.org/packages/com.termux and PRoot technology, you can even run SSH and Xfce4 Desktop Environment!!!
Features:
- NO ROOT ACCESS REQUIRED!!!
- Lots of Linux distros supported:
- Ubuntu
- Debian
- Kali
- Parrot Security OS
- Fedora
- CentOS
- openSUSE Leap
- openSUSE Tumberweed
- Arch Linux
- Black Arch
- Xfce4, Mate, LXQt, LXDE Desktop Environment Supported
- Install multiple distros without conflict
- Provide uninstallation script to fully uninstall distro
The problem with the desktops in termux is that the apps don’t work reliably.
I found generally it was fine but some needing true root hardware access failed
So is termux a containerized Linux? (I haven’t looked into it yet, just on my list). I had assumed it was a VM, guess I was incorrect.
My sense was that it’s kinda like cygwin. Just natively compiled apps and a filesystem layout.
Not even that, Android is enough of a Linux system they really just needed a repo of natively compiled apps.
This is correct. There’s no containerization like LXC/Docker.
Termux has been a thing for years.
Termux is not a full linux environment, you need proot (slow) or chroot (insecure) to get a full environment.
Not arguing, just curious: what makes chroot insecure? I’ve used it for installing Gentoo, but I don’t really understand what it’s doing under the hood.
Termux is just prootTermux is just a shell running in the context of an app
Termux isn’t just proot, but you can install proot inside termux
It is proot based though. It is very useful but it does have disadvantages.How is ut proot based? Afaik it runs binaries built for termux and not any linux binaries. Isn’t it directly executing the files?
protogens made it :3
Maybe I’m mistaken then. I had in my head that it was proof based. However, that wouldn’t make any sense as Termux has access to the system
What is proot?