Most active commenters
  • transpute(5)

←back to thread

1016 points mikenew | 22 comments | | HN request time: 1.006s | source | bottom
1. transpute ◴[] No.44019103[source]

  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://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.

replies(7): >>44019250 #>>44019492 #>>44019518 #>>44019875 #>>44023851 #>>44026834 #>>44100881 #
2. anonzzzies ◴[] No.44019250[source]
I 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/

replies(4): >>44019349 #>>44019392 #>>44019629 #>>44021857 #
3. transpute ◴[] No.44019349[source]
Thanks for the pointer, seems to be using VNC, https://www.reddit.com/r/androiddev/comments/18psg3p/linux_o...
replies(1): >>44019379 #
4. cma ◴[] No.44019379{3}[source]
It 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.
replies(1): >>44019461 #
5. lamuswawir ◴[] No.44019392[source]
Thank you internet stranger. I like having termux running on my phone, just in case. I will definitely try this out.
replies(1): >>44022620 #
6. transpute ◴[] No.44019461{4}[source]
It'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.

replies(1): >>44031858 #
7. ekianjo ◴[] No.44019492[source]
Box64 is yet another option
8. buserror ◴[] No.44019518[source]
Just 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!
replies(1): >>44019605 #
9. aljgz ◴[] No.44019605[source]
This worked for me: Go to the app info, set the permissions and run it again.
replies(1): >>44020075 #
10. dr_kiszonka ◴[] No.44019629[source]
Nice! Does it support virtual desktops ("Workspaces" on Ubuntu)?
11. erinaceousjones ◴[] No.44019875[source]
Technically 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
12. buserror ◴[] No.44020075{3}[source]
Works! Thanks for spending the time replying :-)
13. Zambyte ◴[] No.44021857[source]
This 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.
replies(1): >>44023927 #
14. jacooper ◴[] No.44022620{3}[source]
The 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
15. mikevin ◴[] No.44023851[source]
Any idea where to find the source? Wondering how it's set up.
replies(1): >>44024171 #
16. anonzzzies ◴[] No.44023927{3}[source]
You 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.

17. transpute ◴[] No.44024171[source]
pKVM is upstream in mainline Linux.

AOSP, https://android.googlesource.com/platform/packages/modules/V...

GrapheneOS, https://github.com/GrapheneOS/platform_packages_modules_Virt... & https://x.com/tuxpizza/status/1900431745146888488

18. nicman23 ◴[] No.44026834[source]
does it do virgl?
replies(1): >>44038823 #
19. cma ◴[] No.44031858{5}[source]
Not 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?
replies(1): >>44038710 #
20. ◴[] No.44038710{6}[source]
21. transpute ◴[] No.44038823[source]
I'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-...
22. Evidlo ◴[] No.44100881[source]
Maybe 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?).