DEV Community

Akash Kava
Akash Kava

Posted on • Updated on

Why isn’t mainstream Linux available for mobile?

I am tired of iOS and all restrictions. I like PC because we have choice to virtualize, use any OS and any product from any company.

Why hasn’t anyone invested in open OS that can be installed on any phone. Just like Linux.

Android is there but it is still in control of Google.

What is stopping people from creating free OS for any or at lest most recent mobile phones?

LLVM compiler tools are available for all processor types and are used to compile native mobile libraries.

Is there any project already doing this?

Why isn’t Linux community doing anything?

Pine64 looks interesting, but is it fork of Android? Can we fork it and create own private distro?

Top comments (37)

Collapse
 
mjgs profile image
Mark Smith

I’ve been wondering about this recently too.

I really want a mobile device that can run a bash shell, vscode, be able to install some packages like node, then have a fold out keyboard.

Some of the recent mobile devices have so much memory and storage it should be possible to have a dev environment running on them.

Collapse
 
akashkava profile image
Akash Kava

Its not only the dev environment that is missing, you can probably get many things on to it, but I really don't like Mobile companies using us as Guinea Pigs for their AI training, collecting huge information about us.

You can run node on Android, github.com/LiquidPlayer/LiquidCore

Collapse
 
mjgs profile image
Mark Smith

I wonder if governments will make it compulsory for data gatherers to explicitly disclose what data they are gathering.

All the data gathering could still happen on Linux. What makes you think it would be any better?

Thread Thread
 
akashkava profile image
Akash Kava

It will be open source, BSD or some strict license will be force everything to be open source. This will at least make it transparent.

Data gathering is not bad, if you have choice to move from one provider to another. Just like you can change your telephone network we should be able to use OS and different data company.

Thread Thread
 
mjgs profile image
Mark Smith

I’m a big fan of open source. In theory you are right that if the code is open then it’s transparent.

The reality though is that you need many years of experience and learning before you can even read the code, so it’s not much different from using a closed source OS initially.

In both cases though, whether closed or open, I think it would be useful to be able to see the data that is being transmitted.

Thread Thread
 
akashkava profile image
Akash Kava

I think it just lacks community support, once a movement starts it will happen. I just wonder why creator of Linux itself is quite on this one. May be he is done with his job and now it’s someone else’s turn to do it.

Thread Thread
 
mjgs profile image
Mark Smith • Edited

I guess he figured android is good enough.

I checked out the link you posted (thanks). It’s interesting but looks kind of weird, “a virtual NodeJS inside an app“, practically how would that even work?

Sounds quite far from a bash shell, which is all I would really need cause I could use vim, oh yeah I would need a web browser too :).

Thread Thread
 
akashkava profile image
Akash Kava

Yes, my problem is other countries will suffer innovation due to private terms of large tech organizations. What Linux allowed was innovation for smaller companies without paying TAX to old established companies.

I am more concerned with countries like India, where we don't have any choice but pay huge TAX to foreign tech giants. Somehow tech giant's policies are more powerful then regional laws. Govt does not have enough time to into details.

I was angry when Govt's own apps were treated as privacy policy violations to track locations of Covid patients and same thing can be done by Apple and Google as its their own platforms.

This is the reason I want a phone, where I or a local regional entity is in control.

Thread Thread
 
mjgs profile image
Mark Smith

I’m not sure what you mean by tax in this context, but the closed source products do cost money, so maybe that’s what you mean.

I’m not sure I would trust local government apps over large tech companies as far as tracking goes.

At least the big corporations have some sort of incentive to build privacy preserving apps, because it could damage brand reputation. It isn’t great but in some places it’s getting better.

For local governments I don’t think they care that much about their brand, they don’t really have a brand.

Collapse
 
karandpr profile image
Karan Gandhi

There are phones like Pine64 which explicitly allow running Linux ARM OS. But it's a niche device.

As @littlephone said, ARM drivers are a mess. That's like scratching the surface.

Most phones lock the bootloader and it's abysmally tough to circumvent unless the manufacturers allow it explicitly. So even if you make an OS, you won't be able to install it on phone. Bluntly put, you have to compile an individual kernel for an individual device. Due to driver restrictions, you can't have a kernel-OS which can be installed anywhere

Now talking about the aftermarket OS community.
You can chroot any ARM distro on android.
There is project sandcastle for iPhones which allows you to run Linux on the iPhone.
There are a sizeable custom ROM community withe projects like LineageOS/OmniROM which provide alternative android experience.

Collapse
 
littlephone profile image
littlephone • Edited

Yes, the locked bootloader, the requirement of unique kernels to be run on each devices, as well as the issue of out-of-tree driver, all adds up to the reason why a custom OS for phones isn't available in the market.

I think I kind of accepted that because that's how ARM devices are made and it won't be changed easily. Instead of spending time on that, I think we should move forward and look the other way on customising the existing OS to make the user-experience different.

However, I think the OEM is the one to blame. But no-one is actually doing that possibly due to the reason of money. If Bill Gates does so, I think that will be possible.

Collapse
 
akashkava profile image
Akash Kava

I guess it is just a moment when one company will release dual boot mobile phones, everyone else will start. Pine64 does look interesting and even Huawei is planning to lanuch its own OS but I guess it will make copy of Google Android.

Thread Thread
 
karandpr profile image
Karan Gandhi

No they won't.
In past Samsung had a dual OS phone which booted Windows and Android. It didn't work and they scrapped the project.
Huawei is such a bad example. They lock down their phones to such an extent that it's difficult to install anything else. And don't even get me started on their SDKs. I needed to access the data on one of their fitness devices. There is no documentation to do that and even their "standard" app requires signing up for their custom Huawei account.

There were attempts in alternative OS with Sailfish (which is now niche), FirefoxOS(scrapped) ,UbuntuTouch(scrapped but Halium lives on) .

Collapse
 
akashkava profile image
Akash Kava

Pine64 is Android distro or is it independent of Android, is it pure Linux distro? Also can it be customized? Like can we have our own distro?

Collapse
 
karandpr profile image
Karan Gandhi

Pine64 is actually a phone vendor which makes sort of open hardware.
LineageOS/ Omni / BlissOS / AEX are custom android ROMs (or custom Android distros). Yes you can create your own ROM after forking.
You can check XDA to see ROMs for various devices.

Thread Thread
 
akashkava profile image
Akash Kava

Oh, so in order to run OS on Pine64, OS has to be Android fork or it can be linux fork?

Thread Thread
 
karandpr profile image
Karan Gandhi

Ummm. PinePhone is pretty open. You can run Android and Linux on it. IIRC, it coms with Manjaro-ARM preinstalled.

Collapse
 
littlephone profile image
littlephone • Edited

The drivers for ARM device is a mess and it's always out of tree. We can do nothing to change that because they won't release them into mainline. But in some cases the OEM might have violated the GPL but no one is sueing them.
What we can do is to create a stable abi like Google's GKI does so that an OS can be run without considering what's beneath, but that does the same as Android. Why bother? Why don't we just customize Android interface to make it looks different instead and let Google handles the rest ?

Collapse
 
akashkava profile image
Akash Kava

Letting Google handle the rest is a big problem.

Collapse
 
littlephone profile image
littlephone

Yes, I meant to be the opinion of the phone manufacturers. But for the third-party programmers, we still couldn't do anything when the drivers are not upstreamed

Thread Thread
 
akashkava profile image
Akash Kava

This was also the case with PC, Linux community did develop drivers independently and I think once the movement will have some action, everything will fall in place.

Thread Thread
 
littlephone profile image
littlephone

I think the major obstacles are on the OEM side. On amd64 or i386, the details of the hardware are actually disclosed. However, due to how it is working on arm devices, I don't think the hardware details could be revealed other than being released by OEM itself. e.g. SONY does that.

Thread Thread
 
akashkava profile image
Akash Kava

Hmm but would it be that hard to monitor how it operates and figure out drivers?

Also once there is momentum, OEMs might release drivers if they see the scope. Currently they aren’t doing just because there is no action.

There are many website where ARM specs are made open by individual contributors.

Thread Thread
 
littlephone profile image
littlephone • Edited

Well, it is quite hard for third-party developer to figure out how to work with the driver because of the large number of handsets available around the market and each variant has it's own drivers even if they are being powered by the same SoC. Those drivers are just out of tree and too hard to be put back into mainline without efforts.

They won't release the code because they don't think it's profitable. When people could update their devices and keep them longer, manufacturers will have a reduction on sales on their phones. It's all about money.

Yes, but even if they have common specs, the source code are still varies because they are being modified by "Google first, then SoC OEM, then manufacturer" stack.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard • Edited

For the same reason that Windows had a 90+% marketshare for a very long time.

Operating system have powerful networking effects and tend to be monopoly markets - or in the case of mobile, a dual monopoly Android-iOS.

It's not that anyone didn't try. It's just awfully hard to make a dent

Collapse
 
akashkava profile image
Akash Kava

Wasn’t it same before Linux? And Linux did become successful, even when no company was making drivers, community build it independently and made it possible. Linux did make successful dent and for mobile it can still make dent. We just need a great place to start.

Collapse
 
jmfayard profile image
Jean-Michel 🕵🏻‍♂️ Fayard

Linux didn't make a dent whatsoever on the desktop where Microsoft Windows was

Linux succeeded on other markets: server side, embedded devices, chrome OS, Android, ... all that run on Linux

Thread Thread
 
akashkava profile image
Akash Kava

Majority of developers use Linux and many organizations do use Linux, yes for commercial desktop market, Linux hasn't been successful, but at least it is viable alternative if you are willing to switch. For phone, there is no alternative.

Collapse
 
nelsonfrank profile image
Nelson Frank

There are alot of ongoing project that does that, for example ubuntu touch, ubuntu on mobile phone ubuntu-touch.io/

Collapse
 
akashkava profile image
Akash Kava

Does it run on iPhone? I checked list of devices, I could'nt find iPhone compatibility.

Collapse
 
amberisvibin profile image
Amber 🏳️‍🌈

I don't think anything will run on iPhone, due to the driver issues above. There is a project to port Android to iPhone, in Project Sandcastle, but it does not have great hardware support at the moment. Once there is, the Android driver should be easy to port to Linux.

Thread Thread
 
akashkava profile image
Akash Kava

Project Sandcastle is interesting but too limited.

Thread Thread
 
amberisvibin profile image
Amber 🏳️‍🌈

I haven't spent much time looking at it, but I'll take your word.

 
akashkava profile image
Akash Kava

Hmmm.. I guess ARM macs will be full locked machine, in which Apple will decide what movies you can watch, what songs you can play and what kind of work you can do and Apple will take 30% from every income you will generate by using their MAC.

Collapse
 
timbogdanov profile image
Tim Bogdanov

This is actually genius 😱

Collapse
 
nguyenkien profile image
Nguyễn Trung Kiên

Android is Linux distro

Collapse
 
akashkava profile image
Akash Kava

None for iPhone ?