5 ms·
There's roughly 4 different approaches to Linux on Android: • virtual machine emulating x86_64 • Termux • arm64 binaries running in chroot • pro
by transpute 1y ago
There's roughly 4 different approaches to Linux on Android:
• virtual machine emulating x86_64
• Termux
• arm64 binaries running in chroot
• proot.. Same idea as chroot, but doesn't use forbidden system calls
Fifth option: arm64 pKVM VM from Android 15 on Pixel 7+ phone/tablet hardware using nested h/w virtualization. Shipped in 2025 under the uninformative name of "Linux Terminal" via Development options, Android now has full Debian Linux with VM root, no emulation, compatible with USB-c desktop display.
https://news.ycombinator.com/item?id=43973395 https://news.ycombinator.com/item?id=43973395 & https://www.androidauthority.com/android-linux-terminal-purpose-3535765/ https://www.androidauthority.com/android-linux-terminal-purp...
> The main purpose of this Linux terminal feature is to bring more apps (Linux apps/tools/games) into Android, but NOT to bring yet another desktop environment.. Ideally, when in the desktop window mode, Linux apps shall be rendered on windows just like with other native Android apps.. GPU acceleration is something we are preparing for the next release.
Hopefully Android 2025 Linux VMs will lead to iOS 19 VMs at WWDC, since Apple wants to sell smart glasses to compete with Meta glasses.
- anonzzzies 1y agoI use NOMone; works really well. Runs everything I need including vscode/cursor, node and anything else I need without any fiddling, it just all works. Obviously the new linux vm is likely nicer, but this works really well so far. 0] https://desktop.nomone.com/ https://desktop.nomone.com/
- transpute 1y agoThanks for the pointer, seems to be using VNC, https://www.reddit.com/r/androiddev/comments/18psg3p/linux_on_android_introducing_nomone_desktop_linux/ https://www.reddit.com/r/androiddev/comments/18psg3p/linux_o...
- cma 1y agoIt says it doesn't use VNC while others do: While current solutions depend on VNC to display the Linux interface, we got rid of VNC altogether along with the problems it causes.
- transpute 1y agoIt's doing VNC-alike "graphics remoting", but with less isolation/security in the name of efficiency/performance: > We thought this is too inefficient. So we decided to combine both into a single application, to eliminate most of the interprocess communication, and avoid having the Linux server run in the background, and thus suffering from power optimizations. We still have a framebuffer, but we do the scrapping and updating directly. We have reduced all the hassle to mere memcpy and texture update operations. This turned out to be huge! In the future, we hope to reduce this overhead even further by rendering directly to the texture, and this saving the need to scrape and copy memory. When the next release of Android Linux Terminal ships vGPU with virtio, it will provide better graphics performance than VNC, while retaining strong security isolation between Debian guest VM and host Android.
- cma 1y agoNot clear it is much less secure. It could be using subprocesses and shared memory since they say they are just writing a buffer. I think you can't get that with cross app communication, only subprocess in Android, right?
- deleted 1y ago[deleted]
- lamuswawir 1y agoThank you internet stranger. I like having termux running on my phone, just in case. I will definitely try this out.
- jacooper 1y agoThe termux app is still way better when it comes to being an actual terminal emulator, however the stock app should get a lot better with android 16
- dr_kiszonka 1y agoNice! Does it support virtual desktops ("Workspaces" on Ubuntu)?
- Zambyte 1y agoThis seems pretty nice, but fair warning to anyone planning on checking this out, it's actually just a trial version, and the full version is $8. Not too expensive, but doesn't feel great to me that this information is completely omitted until you download and run the app.
- anonzzzies 1y agoYou can check for quite a long time and then pay a one off $8. Not ideal as I like opensource, but seems quite a lot of work went into it and it's a smooth experience. I have nothing to do with them, I am happy with something that just works for all I need it for without having to take all kinds of expert steps. It Just Works. Maybe some massive companies can learn from this; the list is large.
- ekianjo 1y agoBox64 is yet another option
- buserror 1y agoJust tried to install that on my pixel 9, and the option is there (Linux development) and the Terminal app is there, but it seems to freeze on launch, when it asks for permission to get Location. Bummer I was looking forward to this!
- erinaceousjones 1y agoTechnically Pixel 6 has the pKVM feature too (I have the terminal app from the feature drop when it was added). We're just missing DP alt mode introduced from Pixel 8 onwards
- mikevin 1y agoAny idea where to find the source? Wondering how it's set up.
- transpute 1y agopKVM is upstream in mainline Linux. AOSP, https://android.googlesource.com/platform/packages/modules/Virtualization/ https://android.googlesource.com/platform/packages/modules/V... GrapheneOS, https://github.com/GrapheneOS/platform_packages_modules_Virtualization https://github.com/GrapheneOS/platform_packages_modules_Virt... & https://x.com/tuxpizza/status/1900431745146888488 https://x.com/tuxpizza/status/1900431745146888488
- nicman23 1y agodoes it do virgl?
- transpute 1y agoI've not seen any public docs on AVF/pKVM accelerated graphics, but a recent Collabora article on Linux graphics virt pointed to vDRM as a long term direction, https://www.collabora.com/news-and-blog/blog/2025/01/15/the-state-of-gfx-virtualization-using-virglrenderer/ https://www.collabora.com/news-and-blog/blog/2025/01/15/the-...
- Evidlo 1y agoMaybe you mean Android 16? I checked Android 15 w/ LineageOS and do not see the option there. edit: apparently this only just released on LineageOS 22.2. Also your hardware needs to support pKVM as you mentioned, which means only recent devices (only Pixels currently?).