Comment by transpute

Comment by transpute 2 months ago

21 replies

  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.

Evidlo 2 months ago

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?).

buserror 2 months ago

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!

  • aljgz 2 months ago

    This worked for me: Go to the app info, set the permissions and run it again.

    • buserror 2 months ago

      Works! Thanks for spending the time replying :-)

erinaceousjones 2 months ago

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

anonzzzies 2 months ago

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/

  • Zambyte 2 months ago

    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.

    • anonzzzies 2 months ago

      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.

  • transpute 2 months ago

    Thanks for the pointer, seems to be using VNC, https://www.reddit.com/r/androiddev/comments/18psg3p/linux_o...

    • cma 2 months ago

      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.
      • transpute 2 months ago

        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.

  • lamuswawir 2 months ago

    Thank you internet stranger. I like having termux running on my phone, just in case. I will definitely try this out.

    • jacooper 2 months ago

      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

  • dr_kiszonka 2 months ago

    Nice! Does it support virtual desktops ("Workspaces" on Ubuntu)?