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.
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.
For what I’ve read and heard mentioned by engineers when I worked for a phone manufacturer, Android already heavily uses virtualization. If I remember correctly it does that for the A/B partitions for updating, as well as for the multiple user support. But I’m very open to anyone with closer experience to the Android kernel than I have chiming in with better specifics
Plasma Mobile for Android? 🤔
Plasma Mobile for Android? 🤔
Doubtful. A VM doesn’t have access to the underlying hardware (unless explicitly passed through).
not doubtful, a lot of compositors, kwin included can run nested.
not doubtful, a lot of compositors, kwin included can run nested.
It’s not a question if some of Plasma Mobile could run in that VM. It’s a question if anything usable is possible. I highly doubt Google will make it possible to call phone numbers etc. in that VM.
sure, but if 90% of the stuff work work, voip, and it seems to be using crosvm for avf, so those capabilities could be passed through.
I commented having only read the headline. Too bad it’s a VM, Android could have a sort of reverse Waydroid.
I was thinking the same thing! But it would be running from a Debian VM so I’m not sure how realistic that is. And I doubt it would have access to android apps.
Can’t wait to have Google’s telemetry injected into my Linux apps
Very exciting stuff, Really hope wayland gets hooked up. if not, well, we can make it work somehow
What do you mean? Wayland isn’t “a thing”.
Im not sure I understand
There’s no app called “Wayland”. So I’m not sure what you want “hooked up”.
wayland support, the protocol?
I don’t think you know what you’re talking about… It’s a protocol. A document. You need some application that implements it. Like KWin, or Gnome.
yeah, like virtio-wl which crosvm supports…
Which still needs a wayland compositor to work, but I get your meaning now. You simply want it to be possible for there to be GUI support with some sort of wayland compositor.
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.
Would it be like a Windows Subsystem for Linux (WSL) but then for Android?
Yeah… While making users run Linux applications on a system where Google is root might be a wet dream for Google, it’s more of a nightmare for me.
I really hate the fact that the vast majority of consumers are perfectly fine with not being in full control of their appliances and that Google (and others) register everything they do.
I personally run a custom rom, even with that I find this very exciting, This should balance the Security, Perf, Convience, aspects quite nicely
The reason so many people are fine with using corporate garbage is ironically the same reason they’d be just fine using something that wasn’t that. Users can adapt and learn a system way better than most people think.
And yet there they all are, using corporate garbage.
Yep. Because that’s the default. And the corporate garbage says that the other stuff is a worse experience.
Well, it is.
It’s a lot more work to use not-Google stuff on Android. Which I try very hard to do.
Now trying to get a family member to install and run anything not from the Play store is like pulling teeth.
Well, yeah, because most apps depend on Google services.
It’s the convenience angle.
I have very experienced IT friends who continue to use privacy invasive crap, knowingly because they like the convenience.
That kinda thing is a sliding scale for everyone, if my Linux machine wasn’t 90% as reliable and usable as when I was on windows I would probably still be using windows
I thought the snapdragon Samsung rooting would be farther along than where we are now. I’m stuck with my phone until further notice s23u
graphene OS. i would not have bought an android phone if i had to use google roms
Does termux not already do this?
No, Termux uses prootOnly distro environments use proot. Termux runs as a normal app and just has binaries stored locally.
Which is better no?
I’d like to be able to run containers
I want a Linux phone capable of running android apps
Will never happen because of SafetyNet. Google does not want you running Android apps on anything other than their approved Android ROMs.
What’s that?
Looks like Google is calling it Play Integrity these days: https://developer.android.com/privacy-and-security/safetynet/deprecation-timeline
But it’s this: https://developer.android.com/google/play/integrity
It’s an API that ensures you’re running apps on the hardware and Android ROMs Google approves of. It can also ensure that apps are not running on rooted phones.
Developers can integrate it into their apps. Banking apps do it, for example, and won’t run in Waydroid as a result. More and more apps integrate it over time.
Fuck Google
Fuck the supply chain that purposely cock blocks The Linux Phone & innovation too.
Pine64+waydroid
So, I’m not that great with Linux. I know the basics, that’s it.
Is it user friendly? I mainly want Linux with Android app support because I hate Google.
I’ve used windows my entitle life. Now windows 11 upgrade was done without consent, now they are doing their best to make it even worse then it already was. I would love to switch to Linux, it’s just that I’m using some apps which do not exist for Linux yet. Next to that I’m not that comfortable with the Linux mechanics to make the switch on my main PC. As in: Like I know what I’m doing on the machine which I use a big part of my time. I need full control. I know I have it with Linux, I just don’t know how. And I feel stupid for it.
The moral of my story is: I’m scared to make a switch from something I’m so familiar with for years and years to something new, even though I hate the corporations behind the stuff I use.
You can test Linux out by using a live USB instance or in a VM. You can also dual boot so you’ll always have Windows available if you need it.
You can also install WSL on Windows or something like Git Bash or MSYS2 to get a Linux-y environment on Windows.
I have used dual boot, live usb sticks and VM’s. It’s just that I don’t feel that comfortable within the Linux environment as my knowledge is lacking somewhat and I haven’t used it enough to fix that.
have you considered desktop linux + grapheneOS? would be a better experience for you most likely
I’ll check it out, thanks!
Came in to say this. Linux on ARM is getting so close to daily driver ready.
deleted by creator
Steam?
Steam requires it to be installed in an x86 environment, whether natively, or through emulation (and most x86 emulation has significant overhead and imperfections)
But java applications should run natively if you supply an appropriate build of java. I have an arm VPS that I’ve hosted several Minecraft servers on without any problems (other than those I created myself) and I also learned by accident that Microsoft’s builds of OpenJDK actually work for (at least some) Minecraft versions that they aren’t supposed to, so I have to wonder if that’s a happy accident or intentional work by Microsoft
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).
Unless there is a x86 to ARM translation layer on Linux that I’m not aware of?
https://steamdb.info/app/3043620/
It appears Valve is working on Proton for arm64, I was wondering if this is to attend the mobile market, a new Index or maybe a smaller Steam Deck.
You can use QEMU’s usermode emulation to transparently run ARM binaries with binfmt_misc on x86.
I’d rather have a linux OS on the phone that can run Android apps.
That’s what android is ;)
That’s like saying MacOS and IOS are BSD
Its not the “Linux OS” that we want, but it is Linux, it runs the Linux kernel, so does chromeOS.
Be cleat about what you want.
What you call “Linux OS” is actually GNU/Linux, or as I’ve taken to calling it lately, GNU + Linux.
Make one :)
Irrelevant but the embed thumbnail terrifies me. why is the android fuzzy
Winter is coming
Aaand check!
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.
yeah I’ll stick to the other way around