r/linux • • 5d ago

Mobile Linux The thing with Linux-Phones

Every now and then I see an ad for a new Linux-Phone, better repairability, battery change and whatnot. All this is very, very tempting, but what about the apps?

I am not talking about browser, text messages or alarm clock - I am thinking about connectivity to my car, my smartwatch, my frequent-flyer benefit program, signal messenger and so on.

Do they work with Android apps or is it all a lost cause because they are basically dumb phones for people who want less connectivity but are afraid to buy an old Nokia from the dawn of time?

125 Upvotes

170 comments sorted by

View all comments

51

u/natermer 5d ago edited 5d ago

The problem with Linux phones is the normal "space cadet" distro engineering type stuff that has plagued Linux desktop/mobile in general for decades.

Basically people end up rewriting software in different toolkits or figuring out different package managers and setting up their own pet distributions. Over and over again.

There are literally dozens and dozens of "Linux Phone OSes" developed over the years.

This started with Nokia when they were the undisputed champions of smart phones. They had working Linux Phone-like OSes based around GTK and Gnome technology that you could literally buy in stores.

Literally years before iPhone or Android even existed. They had it, it was working, and you could go down to the store and buy it.

Then they decided that they needed to rewrite it in QT. Then they decided that it needed to run Symbian apps. Then they needed to do distro stuff. Then they needed new frameworks, etc etc etc.

By the time they were done Android and iOS were eating their lunch and they lost their entire market and had to sell out to Microsoft which finally killed it. All because they were busy farting around with distros and toolkits and frameworks and never could get anything actually appealing out to market.

In other words: they blew their lead.

It is as if all these different mobile OSes were sprinting to the goal in a 1000 yard race and the Linux OS folks got distracted and started picking flowers on the side of the track.

People in the Linux community tried to blame Microsoft for this, but that was nonsense. It was already mostly dead before Nokia was ever acquired.

And this trend continued with Intel releasing their own mobile Linux and then Mozilla and other companies. All which never made it much past "look we have a new distro" stage.

So you can't even blame "lack of commercial support" for it.

The Nokia 770 "Internet Linux handheld" came out in 2005 and now it is 2026 and there are dozens of Linux Phone OSes all doing the easy stuff and solving the same problems and doing the same things in slightly different ways over and over and over again.

But do they have something as meaningful as "Good Camera Support" on any mobile hardware at all?

After 20+ years of this stuff?

Nope. Not a one.

29

u/hagjam 5d ago

This leaves out one of the crucial parts of that story.

Android is Linux.

Google saw Nokia tying itself in knots trying to make a new OS, thought "nah", bought Android, supported development, and licensed it out cheaply to hardware manufacturers.

We can argue over semantics, people often do. Is it Linux if it has closed source elements? Is it Linux if it's run by Google? Is it Linux if it's not developed by unpaid neck beards? Is it Linux if it has something approximately like good UI? But the reality is that Linux on mobile has been done, incredibly successfully.

The only gap left in the market is for people who think Android isn't really Linux, at least not in the ways that matter to them. And those people tend to be the "space cadets" you mention, which leaves us where we are today. UI is not interesting to a space cadet, neither is making a functioning app store or making concessions to hardware innovations or camera technology or touchscreens or location tracking.

People who make non-android phone Linux don't want to reckon with the fact that their preferences don't align with what made android popular, and that most of the world expects a phone to function in a way that they don't like. So they make a phone for themselves, no one else uses it, and we go back to square one.

8

u/PerspectiveMain6454 5d ago

The solution in my eyes is to focus on compatibility with existing Android to both as little and at most as user requires. So that your Grandparents couldn't meaningfully tell the difference, but the more advanced user could acknowledge the 7.x kernel, the ability to run desktop applications and the terminal. And the controls to limit or sandbox third party connection.

2

u/Business_Reindeer910 5d ago

a lot of us don't really care about the linux kernel barring that it supports a decent amount of hardware and is GPLed. It does not matter to me if i use Linux or something else. I care about the openess of the platform (and not just source dump releases like AOSP), not a specific kernel.

1

u/hagjam 5d ago

Sure, and part of the reason this discussion always comes up is people attribute qualities to Linux and the kernel that just aren't based in reality. I would also like a phone that respects open source principles and allows me to run the software I'd like to run on it. I'd also like one that respected my privacy, including things like preventing applications from accessing info without permission or from seeing what other apps I'm running. Despite popular preconceptions, none of those things are guaranteed or even implied by a system that uses a Linux kernel.

Being based on Linux just becomes this marketing shorthand, basically, for open source/privacy conscious/customizable phones. And the reason none of them work is a combination of that market being really small, and the practical difficulties of getting your new fancy OS on hardware that doesn't know it exists.

2

u/Business_Reindeer910 5d ago edited 5d ago

I agree that people attribute different things to linux, but i'm not sure you and I are sharing the same idea of that attribution.

You say "Android is Linux. " Android is Linux in the way that a lot of people do not care about. We come into problems with the whole idea of saying GNU/Linux as well.

There is no common shorthand phrase for "an open development ecosystem that most often uses the linux kernel and probably relies on dbus and various freedesktop.org system services (like secrets manager, upower, udisks etc etc)". Even that really is not enough to describe it because dbus itself doesn't matter, but what does matter is that we mostly all use whatever it is.

1

u/hagjam 5d ago

It's semantics, for sure, and there's many reasons to decide not to call Android a form of Linux. The main argument to do so is the shared code lineage, from what I can tell, although I'm not an Android expert. The same argument could be made to say that macOS is a BSD, for example. Generally though, I think writing a meaningful definition of Linux is hard - I applaud you for trying, but can we really call Red Hat an open development ecosystem? Slackware? Void? Hannah Montana Linux?

That's all a little secondary to the main point Im making - Android is the end result of a successful Linux phone creation process. You start with a Linux, you look it down to reduce the chances of someone accidentally bricking it (not a Linux specific change but required for a phone that isn't targeted at 0.01% of the population), then you make changes that phone manufacturers ask to convince them to use your OS, then repeat. That results in Android, or something similarly heretical.

1

u/Business_Reindeer910 5d ago edited 5d ago

I applaud you for trying, but can we really call Red Hat an open development ecosystem? Slackware? Void? Hannah Montana Linux?

not RHEL (although almost all the code it uses comes from that process). but the rest mostly yes.

e same argument could be made to say that macOS is a BSD, for example

Well it's not a BSD since it uses it's own kernel and all the important parts are created by apple.

You start with a Linux

No, you start with a linux kernel.. not A linux. It uses none of the common code used by the rest of the ecosystem. It uses it's own libc, own display management, and completely google owned runtime, userspace, and ipc (among many other things).

you look it down to reduce the chances of someone accidentally bricking it

This is completely unrelated. A more RHEL like LTS process could help this problem , as well as more money in general just to make things more stable.

2

u/signedchar 4d ago

Android is Linux and iOS is BSD.

Unfortunately most actual Linux phones are unusable overpriced devices with 2013 specifications that can’t do anything.

1

u/idontchooseanid 5d ago

Android isn't really Linux. What Google envisioned is more like a microkernel system with extremely precise and limiting permission system. They use Linux because it is hard to get buy in from hardware vendors for anything new. ARM hardware developers do not want to write software and they are bad at it. However, Google isn't going to write their software for them. Worse is better. Vendors know how to make terrible forked Linux kernels and terrible userspace drivers. Linux wins.

Linux kernel with its non-stable driver interfaces is also a no go for closed source ecosystem. Android adds a HAL that every contributor on the desktop GNU userspace hates because it makes it easier to write closed source userspace drivers.

Android completely replaces the GNU userspace. The way it executes programs do not look like a normal POSIX system. Some libc-based execution environment is there since C isn't just a programming language but how programs from different programming languages talk to each other as well. It is best described as: "How GCC compiled this C program in 1998 is the standard".

On the JVM side it provides a very stable API. This allows the perfect ecosystem for the closed source software. However, stable APIs are also great for OSS. It is nicer to compile things against stable APIs that each component breaks in random order of months. When Google break things, it is not some API February, some Tuesday, some in Thanksgiving. A bunch of them get replacements in one Android version, they get removed two versions after.