Lindroid Promises True Linux On Android

Since Android uses Linux, you’d think it would be easier to run Linux apps on your Android phone or tablet. There are some solutions out there, but the experience is usually less than stellar. A new player, Lindroid, claims to provide real Linux distributions with hardware-accelerated Wayland on phones. How capable is it? The suggested window manager is KDE’s KWIN. That software is fairly difficult to run on anything but a full-blown system with dbus, hardware accelerations, and similar features.

There are, however, a few problems. First, you need a rooted phone, which isn’t totally surprising. Second, there are no clear instructions yet about how to install the software. The bulk of the information available is on an X thread. You can go about 4 hours into the very long video below to see a slide presentation about Lindroid.

While it appears Linux is running inside a container, it looks like they’ve opened up device access, which allows a full Linux experience even though Linux is technically, in this case, an Android app.

We are interested in seeing how this works, and when the instructions show up, we might root an old phone to try it out. Of course, there are other methods. Termux seems to be the most popular, but running GUI programs on it isn’t always the best experience. Not that we haven’t done it.

16 thoughts on “Lindroid Promises True Linux On Android

  1. Greg, Android apps rely on a lot of Android-isms in the kernel (Binder, the universal IPC), programmatic capabilities (Activity, ContentProvider), and platform support (Surfaceflinger, Audioflinger, ActivityManager, …) that don’t exist on Linux. You need all this stuff on Linux for an Android app. A lot of this code is open sourced, but it needs to be running on the Linux machine.

    1. This is what I suspected, but I also imagine one could take a stock linux kernel and bolt on those parts to provide a Linux + Android environment, and that distros would be interested packaging up those pieces to do so. Instead only ChromeOS seems to have made ‘run Android apps’ a feature, and everyone else has to run BlueStacks or some other emulator.

    1. Welp, that’s what i was about to write when I read the article’s title.
      But after reading the article itself, it seems that Lindroid is more or less an app running Linux, not a real instalation.
      I always find it deceptive to see lot of open source projects working against each other instead of together. But here, it’s not really the same way to tackle the problem.
      Anyway, the real breakthru will be when we can extract android drivers and use them on linux.
      Because, as far as I understand, rooting the phone is the first blocking point, but driver availabilit is the scond…
      But I may be wrong…

  2. Or if you run a custom recovery

    You can just build a Linux image to flash

    As long as you have the touchscreen and display drivers

    Wifi Bluetooth and sensors etc

    That’s easier if your phone has an allwinner or mediatek soc

    Or another off the shelf one

    Running Linux distro on a phone isn’t new

    What do you think a raspberry pi, orange pi, banana pi etc etc are?

    They just smartphone and smart TV devkit

    They cheap because you just buying the smartphone motherboard with the Soc, ram, some expansion and io

    And SD

    You want the rest you gotta buy it and interface it…

  3. back when android was young, you could just run some native code as part of your app and that native code could fork() and then run a shell or listen on a network socket or both. android would deny write access to a lot of files, and would even deny read access to private app data of other apps. and of course it always varied from one vendor to the other whether it would kill off your process but generally if you registered your app as a long-running Service, then android won’t kill its sub-processes. and there’s ways around most of the vendors’ hacks to improve battery life.

    so i made an app SimpleSSHD that provided a regular non-privileged ssh daemon…just dropbear on a non-privileged port, entirely within the strictures of an android app. no rooting required. and i also made SimpleBusyBox which just provided busybox in a form that was easy to use from ssh. and i had a commandline utility to manipulate my mp3 player. and even better, android comes with ‘pm’ and ‘am’ commandline utilities to interact with Intents and Services and the package installer and all that jazz.

    but every part of that has gotten a lot harder. now you have to fight just to read or write /sdcard/. and the hacks to allow long-running Services have become so numerous that it now feels like an insult. and am/pm have continuously gotten harder to use, not working at all on my newest phone. and you can no longer share executables between apps, so SimpleSSHD can’t see the tools provided by SimpleBusyBox. there’s just an incredible amount of restrictive selinux that makes the environment within a SimpleSSHD shell session feel a lot less like a linux shell.

    i was thinking about how i was going to work around this, and i was really starting to consider a larger subset of a linux distribution within SimpleSSHD…if you’re inside a tiny box you might as well pull the world in with you. and i was also inventing hacks to replace the abilities am/pm used to give. but then google pulled the last insult, and deleted it from the play store because they’re waging an ill-communicated war on file management utilities.

    i don’t know the future of android but i wish i had better hopes for lindroid. to make it useful, it still needs to interact with android services. i feel like google is going to keep moving the front of battle on them, their box will get ever smaller even as it still fits a whole linux userland within it.

    of course, if they always require rooting then :)

    1. The Librem 5 [https://puri.sm/products/librem-5/] and the more afordable Pine 64 [https://pine64.com/product-category/smartphones/] should fit your bill.

      Even if, i think any phone should be able to run whatever we want on it.

  4. But we already have that? Even if it’s via the helium project or mainline-zed kernels we have a fully working Linux OS on our devices. Even better, complete optimized for phones with apps that scale accordingly.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.