Nokia had Linux on their smartphone until Microsoft bought them and stopped everything, they even shut down the app store. The OS was called MeeGo. Part of the Nokia team however started their own company called Jolla and still produce smartphones running Linux, they call their OS Sailfish. (ignoring the fact that Android also uses the Linux kernel).
The problem with alternative phone OS:es is that in the country I live you must have either an iPhone or and Android phone because the ID monopoly and Payment monopoly refuse to support other operating systems...
Just a datapoint: UK banking apps work perfectly on my Sailfish phone.
Jolla's Android emulation is unreasonably excellent, one of their technological gems. If other Linux devices ever lift off, this will be one of the killer features that Jolla can license out. (And why not? I'm absolutely in favor of vendors selling Linux software.)
As for Sailfish - it still offers the best, most consistent, simplest UI/UX of any currently available mobile device.
Edit: and I don't have to root my phone. I can SSH into it (or use the included terminal emulator with my Bluetooth keyboard) and I have access to the full Linux filesystem. For app development, there are no hoops to jump through (like Apple's developer license).
Indeed, one of the amazing things would be if Android apps could be individually sandboxed on a Jolla (or other Linux) phone. Like each app would "think" it's running on a clean phone with absolutely nothing else on it.
So they could be completely blocked from accessing hardware I don't want them to (e.g. location) and communicating with other apps. Right now Android is way too open, every app can see what other app is on my device if I so much as need to share 1 photo.
Adding to the banking data points: I have an Xperia 10 II running Sailfish. MobileBankID and Swish (Sweden) as well as the ING Banking app (Germany) work on it.
I was pleasantly surprised by that. I upgraded from an Xperia X, where Sailfish had the old Android 4.4-compatible runtime and nothing worked. I kept an Android phone around, just for these three apps. As that one was also getting old in terms of OS (Android 7) and security updates, I'm very happy to no longer need it.
I have however come across Android Apps that don't work:
- Betala P (Parking app for Stockholm, no clue why this doesn't work)
- OI.Share (for remote-controlling OM-D cameras. I assume it has to do with it trying to control the WiFi on the phone)
Just a warning with that one - if you unlock it, it will never receive another Sony OTA, and there's no re-locking. Probably less of a problem now that it's out of support. Sailfish was also really rough on it.
"the ID monopoly and Payment monopoly refuse to support other operating systems"
This is my issue. I am commonly hearing people ask "What are you, iOS or Android?" - IE as if it is inherent to the person themselves and there are only two choices.
This is scary. I love the idea of having an alternative to iOS and Android. But I also need to function within society. This shouldn't be a choice.
Even a non-popular Android isn't a choice for govmt e-id.
I use a hardened Android distro (GrapheneOS) on my phone. Even with a locked bootloader and no root my countries (austria) e-government app and my banking app blocks me due to a "integrity check" failing.
I would guess it is because GrapheneOS does not pass the Google "SafteyNet" check. The Android distros that are more well known do not pass by default due to Google coming after them if they do. LineageOS has not passed it for the last few years.
There are pretty simple patches you can apply though to get it passing, assuming nothing else about the phone triggers it.
I don't even have the Google Services installed on my phone because I consider them a security and privacy risk.
For now I can use my computer, because they fortunately also have a website, but I could see in the near-future that you have to have this app installed.
Well that is the failure. If you don't give data to Google ( or Apple, or MS etc) you are considered by them as "a security and privacy risk.".
Their privacy and security is at risk.
I would like to get a Pixel with GrapheneOS for my next phone but this is holding me back. Even if some of my banking apps are currently reported to work, there is no guarantee they won't break in future. It's too risky for me unfortunately, which is annoying.
I would love grapheneOS on some better hardware - I didn’t want to sacrifice on that, so I went with an iphone which have a similarly good security-story.
Fortunately, we don't have the government handing out free handset so opting out is still a legal right and a practically realistic option. My concern is that if few enough people do so, this will no longer be the case for long.
Is it though? Not long ago many European countries required some form of digital COVID pass for travel.
Likewise for doing taxes e.g. here in Sweden BankID and Kivra are practically required unless you want to be waiting weeks for letters and queueing at the office.
>Not long ago many European countries required some form of digital COVID pass for travel.
no they didn't? you could just access the platform on your computer and print the QR code the old fashioned way. Hell, you could do that without even having any electronics, you could just go to the library and print it there.
>unless you want to be waiting weeks for letters and queueing at the office.
this reads to me as "if you don't use these digital systems you have to do things like they were before digital systems"
> "if you don't use these digital systems you have to do things like they were before digital systems"
There's also the expectation from society. Even getting that covid shot was hard without an app, to the point of an extra long queue where nothing worked and in the end a lady told me sternly that I shouldn't be there and to get with the times and that I am young enough to be able to use a smartphone. As if that was the problem ...
That was just covid. Doing (non-trivial) taxes on paper involves some calculation, and I am liable if I get it wrong, whereas I know the web page does all calculations the right way.
Then there's school reports, public transportation, public libraries, calling in sick to work, taking out pension, the list is long and every single step of it is an inconvenience constantly reminding me to just stick with the non-free, mainstream, controlled by a private company, way.
> this reads to me as "if you don't use these digital systems you have to do things like they were before digital systems"
You missed the part where they might actually prefer to use digital systems but would only be able to so by delegating their identity to a trusted and locked down iOS or Android+SafetyNet device. Other comments seem to indicate that this is not a strict requirement for filing your taxes digitally where GP is at, but that's beside the point of your comment.
True, I printed mine on credit card format and laminated it, it was in my card wallet. Much faster than opening an app every time and zero tracking, at least on my side.
Last time I tried (granted, years ago), BankID was still relatively straight-forward to set up and use on a PC. Not all sites support the flow, though.
Authorities should also still accept alternatives like Freja (if there's anything they won't close the door on it's making it straightforward to pay your taxes, I guess).
I'm far from happy wit the situation and would prefer that authorities take an open standards-approach compatible with FLOSS. But it's also not as terrible as it may seem at first.
But is it straight-forward to set up on any PC, or just those locked down with proprietary single vendor controlled software?
In the latter case, it is not in any way better than a proprietary phone. In practice probably worse, since it is easier and cheaper to keep an extra phone around.
You could've gotten the QR-Code on a piece of paper, without a phone (which still is ridiculous that they forced people to use some random QR-Code and ignored the internationally accepted vaccination card of the WHO)
Don't remind me. I tried to fight it for a decade. I was mad. MAD.
We are being actively PUSHED into this shit and almost everyone seems to be totally fine with it. They are herding us into complete obedience. A phone is more secure because when you install their apps, they can monitor everything you do. Banking? Mobile. Document signing? Mobile. Toilet paper? Mobile.
I am making a bet here: buy the end of the decade, every EU citizen will be directly required to go either Android or Apple. Two platforms under complete European control.
Frankly, I blame the masses for falling for it. It's always the masses. Once the cabal swoops in the vast majority, the rest is taken care of by society itself.
Here in Spain we have the problem of this interpersonal payment system called "Bizum". It's like a local paypal but owned by the banks. So many people use it that it can't be avoided.
But my bank (and others too) only offer this functionality in their mobile app, not on their website. So if you need to use it you're really forced to use the mobile app.
In my case I have an old iPod Touch which I use only for this, nothing else. It works ok. But I wish I could just use it from the website from whatever device I want.
I have a dumb phone (Nokia 8110 4G) that I wouldn't trade with the latest iOS/Android model, and during Covid restrictions I downloaded and printed the pass at home with no problems. I also pay a small fee to my bank so I can keep using SMSs for transaction confirmations instead of surrendering to their app. Also using SMSs with PayPal and a few other online services. The day they force me to use smartphones which, privacy aside, to me are next to unusable crap, to do things I can easily do on a PC, is the day I'm retiring to a technology-free place for the rest of my life.
EU regulations now forbid SMS-based authentication. I tried explaining to the bank clerk several times how I am not using the Google Play Store but it was only when I held my Nokia "dumb phone" in their face that they gave me a hardware token generator (for free actually!).
For context, I use a Nokia 8110 and a LineageOS device.
The sales pitch is that you get to "own" the customer, in the sense that you have more control over the user experience. Fewer ad blockers, notifications to keep the user "engaged" etc. With more control over the device there is also the potential of easier support. There are plenty metrics collected so there is data to show that all these are true.
But all this is now inherent to the market. The few agencies who didn't offer apps went mostly out of business. So nobody needs to know why they want it anymore, it's just what is being offered and the world moves on.
The open web may prove to be a historical curiosity. Just like personal universal turing machines. The jury is still out, hopefully there will be a movement back in our lifetimes.
This is a case where I want to mention Austria as a positive example: The vaccination certificate app is open source on Github, so you can compile it yourself and not need to use the Play Store.
Well, in a way it is inherent. There is simply no place for a third competitor, as developing for even just 2 platforms is already the max a company would be willing to do.
That’s why even Microsoft would a ridiculously huge budget failed, the market is simply saturated. The only way a new competitor could stand up is 100% compatibility with one of the platform’s app selection or a non-profit, open-source model.
So linux phones with android comp may indeed have a future, but I think they should pretty much just ditch most of the existing linux desktop user space as it is fundamentally flawed (mostly security-wise), but then we are back to android and it begs the question, why reinvent the wheel instead of just fixing the few shortcomings of android, like too close coupling with google?
If anything, we need better hardware, not software — grapheneOS is pretty much ideal as a linux/android OS.
I run a b2b tech company from Silicon Valley and do not have a phone at all. I carry cash, plastic ID, a paper vaccine card, etc.
Restaurants push QR codes in my face and I explain I do not own a phone, and they never fail to produce a paper menu somehow. Restaurants that default to paper menus are generally classier and get more of my business anyway.
I arrange to meet people at places and show up on time. I navigate by writing down directions and paying attention to my surroundings.
A couple times I have had trouble with concerts not wanting to let me in without some nonsense ticket app. I go to the will call booth, explain I do not have a phone. They find a way to print me passes every time.
I function in society just fine.
Do not let people discriminate against you for what software you wish to use, or not use. Nothing in our constitution mandates you accept the terms of service of Apple or Google.
I took a real interest in 6 or 7 years ago, when it was first coming out. I was excited in part by how much it (as a downstream project of MeeGo) resembled Real Linux™ internally: systemd, RPM/zypper, Wayland.
It was awesome. The way it all fit together felt thoughtful and sane. The terminal environment was like a real desktop Linux userland. And the Sailfish UI was really outstanding. It was simple, uniform, and thoroughly gesture-based. That stuff felt decidedly ahead of Android and iOS at the time.
But it's basically been impossible since then to get it on flagship or even just relatively recent hardware, and getting it distributed with the unfortunate but crucial Android app runtime has been very hard to do since it's only available on commercial distributions.
It's never felt like a real option for me, at least in the US. Since I followed it more closely, I don't know where the project stands. Last I heard, they were pivoting to other markets (developing economies, business/enterprise use) that made it seem unlikely I'd ever get to have a decent Sailfish experience.
I also got the first Jolla phone, but I had a different experience. I found it somewhat unintuitive to use (lots of misswipes, and unclear what you could swipe and when), but my main gripe was the UI style. It was a disappointment after the absolutely gorgeous Meego UI in N9.
I used it for two weeks, switched to Android, and started learning Android development.
I probably started with unrealistic expectations, and I obviously don't want to belittle their work, but I think there are good reasons it flopped even in it's native market in Finland after the early excitement.
In any case it was a small miracle that such a small company managed to create and ship an independent Linux smartphone with their completely own UI to general public, with a full set of basic requirements from a browser and app store to a calculator and email app. An amazing feat.
Sailfish could have been great, but Jolla apparently tried to overextend themselves making hardware and software for their products and almost died trying. It's a shame because the Jolla phone had a swappable back part and could have things like a slideout keyboard that looked really sweet. Now they're on the enterprise and government contracting grind and market their OS on their site with all the bs enterprisey jargon, with Sailfish as a community/open-source driven project being mostly an afterthought. They also have a very limited number of devices that can run android compatibility, and you need to pay for a license.
It's a shame because their UI is the only decent thing in the world of Linux phones that isn't an utter travesty that just tries to bend the Linux desktop into being a "mobile OS" that runs like absolute shit and feels really awkward to use. But the UI on Sailfish is of course the proprietary parts aside from the android emulation.
>Nokia had Linux on their smartphone until Microsoft bought them and stopped everything, they even shut down the app store. The OS was called MeeGo.
There is a fork called Maemo Leste [0][1] that is actually still around and updated. I have it running on a droid 4, and it works pretty well. The UI is still the same Hildon UI. Definitely a fun OS and device to play around with, and interesting in that it's the only mobile OS I'm aware of that is running Devaun.
Even just unlocking an Android device causes most to stop working. I can't even log into PayPal app, which I assume is mostly just a WebView, because my phone is unlocked. At the same time it is apparently fineI do the same thing from the browser on my phone?
I used an Android phone with CalyxOS and microG for a year and never had this problem. There were a few apps I had a hard time getting APKs for without the Play Store, but even those I found I could side load from other devices that had the Play Store.
The workaround is from microG. You can get it on lineage-microg too.
It has a bad name but really all that they do is replace Google's signing certificate with their own and change the OS to accept it. It's not that "hacky" IMO, you're just trusting a different party. It's just like when you install Ubuntu, you trust Canonical to sign your packages, not debian. They use the same thing to replace play services. And if you trusted Google you wouldn't be using microG anyways, you'd just use play services.
The reason it gets a bad rap is because of the risk MicroG's signing key gets stolen. This is obviously higher than the risk of this happening for Google which is definitely in some highly protected HSM vault somewhere. True. Personally if I were a MicroG developer I'd keep it on a smartcard somewhere like a yubikey so it couldn't be easily copied. I don't know if they do this.
On the other hand, there is more you need to do to exploit it, even if you have the signing key. You need to get the user to use some malicious software and get it on F-Droid or something undetected. Just having the private key will not net you anything.
In my point of view you're trading a definitely possible but difficult possibility of a hack, for a total certainty that Google will track you every hour of every day. Personally I don't trust my smartphone with that much information anyway, but Google manages to collect so much because of their extended network. So they're able to extract much more info from my smartphone than I put into it by association. So it's an ok tradeoff for me. Everyone needs to make their own judgement on that.
For that reason I don't use banking apps on my mobile anyway and I don't have a need for SafetyNet as a result.But it's nice to know that there is a possibility to use SafetyNet protected apps in some cases if I want (some detect the workaround I believe).
I meant the workaround CTSPROFILEMATCH in safety net, its what makes most Payment providers work on CalyxOS.
As for MicroG, the GrapheneOS way of running unrootful GSM seems interesting, but they won't apply the Safetynet workaround, because its "hacky" and won't last when hardware attention is enforced.
This flows with most of GrapheneOS stances, they dont care about convenience much.
Personally I'm already close to my limit due to how many inconveniences I have for using a work profile and a custom ROM, and I dont want more.
Custom ROMs/patches can be made hide that the phone is unlocked and fake that it passes SafetyNet, even if you use official Play Services it's just ridiculous it's something that needs to be done in the first place.
If you rooted it via Magisk, the DenyList feature and the module "Universal SafetyNet Fix" should help you out [0]. If you're running a custom firmware, you might need to resort to patching the device properties [1].
Still, it's utterly absurd how many apps go to extremely long lengths just to tell me they don't like me having root access to my own f..ing phone, including Samsung's Watch interface app. The only situation where I can at least understand the reasons are DRM and cheaters in f2p games.
> At the same time it is apparently fineI do the same thing from the browser on my phone?
It's "fine" only because the banks security cargo cult couldn't find a way to own your device without losing money. Now they found it and they're not giving up their checklists to make your life better.
> The problem with alternative phone OS:es is that in the country I live you must have either an iPhone or and Android phone because the ID monopoly and Payment monopoly refuse to support other operating systems...
In theory its possible to run a user-land Android subsystem on Linux (and thus on Linux phones) via Anbox or Waydroid.
In practice, I've never tried this on my PinePhone since I never needed it, so I have no idea how well this works or of it works at all.
I could get by with only using banking websites in the browser. But Why does Jolla not yet support any Pixel phones? I have wanted to try it out for years, but not to the point of trying to make things work on my own.
I don't buy that at all. That is an awesome program that I did not know about. However, they also support Gemini PDA, which is only one of Planet computers devices. And Pixels are well-known to be the among easiest to flash devices out there, and there is no shortage of third party ROMs available for them. From what I read on the SF forums, it's a sort of google boycott despite the fact that flashing a rom gets rid of the google in a pixel.
Right, but I offered you a counter-example in the Gemini PDA, and an indication that there was generally no effort - or positive resistance - to deal with anything google related at all.
I do not know any first world country that has a constitution that requires you accept the terms of service of Apple or Google to function as a citizen.
Guess it depends on what your standards are. You can have it everywhere from today to likely never.
Want just basic stuff, no apps store, no good camera, no good runtime on battery? Today, go get one.
Value security more than anything else? Available today.
Want a high end smart phone with proper open source Linux/Software and apps store, great camera, fast and great battery runtime? Likely never. Linux won’t get the required investment, nor will the hardware manufacturers provide the required support (no incentives). Even the Linux Desktop experience can’t properly get there in 2022.
But a proper Linux phone, say something like a PinePhone is great as a second phone.
I used to think the same thing (especially after getting a PinePhone which is nowhere near being ready for the masses) but after getting a Steam Deck, which is totally a mass-consumer ready gaming platform running (and even exposing it to the users) Linux, I think Linux Phones are just missing the right company to move forward with it. Would be much harder than building a gaming console, for sure, since hardware manufacturers of basebands/modems are really anti-OSS, but I think the time will eventually come. It'll take time though.
Valve has a business case to ready Linux for mass deployment -- recall Microsoft's public musing about locking down DirectX in Windows 10, forcing everyone into the Store? IIRC Steam Machines were a hedge/threat against that, but I'm pretty confident that the individual whimsy of GabeN et al is chiefly responsible for the gobs of money and polish being poured into a Linux uh Decktop experience. That's going to be hard to replicate for a Linux experience for anything else.
At the risk of sounding like a Valve exceptionalist or Great-Man historiographer, keep in mind that GabeN has untold "personal" millions to throw at weird Protean moonshots like Steam Machines-to-Proton-to-Steam Deck. I can't see a way for any extant company with the ability to build out Linux-for-a-phone to want to build out Linux-for-a-phone without baking some poisonous antifeature into it to make people look at ads.
Inclined to say no - mainly because of the camera. The gap between ability to mechanically take a pic and what the flagships are doing with AI driven post processing seems not only big but growing.
Short of die hard linux/FOSS fans noticably worse pics is going to be an absolute show stopper
The problem is not AI - many of the best "AI" publications are open source after all. The problem is that hardware vendors do not provide access to their signal processing chip's internals. It is damn near impossible to even make a phone call these days without some obscure binary blob or magic chips that nobody knows what they do but are able to control every aspect of a phone.
> many of the best "AI" publications are open source after all.
In my experience there's also very little detailed documentation about what cutting-edge phone cameras are doing.
You can get some vague descriptions (focus stacking? exposure stacking? ISO stacking? ML bokeh? Special handling of faces in multiracial groups? Shake compensation? Super-resolution?) which is all very well shooting from a tripod - yet modern phone cameras do their magic at 4k 60fps even while moving? All while running on battery?
> It is damn near impossible to even make a phone call these days without some obscure binary blob or magic chips that nobody knows what they do but are able to control every aspect of a phone.
That’s always been the case for wireless phones; It’s nothing new. Your SIM card is running literal Java programs (hence where the “3 billion Java devices”) and can ask the baseband to send data for it with you having no way to know. Here’s one researcher’s diggings into it: [0] and the discussion: [1].
Some baseband processors can even DMA the main memory. IIRC, Apple has put in effort to firewall said processors.
I know some photography basics, how to use DSLR/mirrorless, and even how to use handheld lightmeters.
The reason we use smartphones is simplicity and convenience: take pictures of family on the beach, apply some editing (Snapseed/VSCO/etc), then share them to social medias. All is done on single device.
Not everyone is a enthusiast who is willing to carry camera and laptop eveywhere :)
I also don’t know if these cameras are any good. I’ve yet to see a laptop webcam beat a 5 year old iPhone 8 recording at 4K 60fps let alone a modern phone.
> while we're picky about free software on our laptops, desktops and servers lots of us have a truck load full of proprietary software in their pocket every day. Does it have to be that way?
It doesn't have to be like this, but it is also not 'early days' anymore and we have given this idea lots of time to gain any meaningful traction and it's very clear that there is almost no interest from the wider industry.
Thus, as demonstrated for many years of failed alternatives, unfortunately buzzwords like 'privacy', 'non-free software' and 'Linux' have little to no use to gaining traction and selling to mass market in a comparable manner against the existing duopoly.
And before you say 'Android', it is has tons of closed source userland software and subsystems and will get even worse once it moves over to Fuchsia OS. Therefore 'Android' as a free software example is disqualified.
We are talking about Linux distros designed to run on phones with 'free software'.
> It doesn't have to be like this, but it is also not 'early days' anymore and we have given this idea lots of time to gain any meaningful traction and it's very clear that there is almost no interest from the wider industry.
I really don't think we did. The last serious effort that didn't rely on Android was Maemo/MeeGo (which wasn't even fully FLOSS), and before that Openmoko. Maaaaybe you could count Tizen too, although it was a project with different enough focus that I'm not really sure about that. I have used Nokia N900 up until I was able to replace it with Librem 5, because there was simply no alternative I considered viable. We have spent many years with no reasonable hardware platform for mobile GNU/Linux efforts and even projects like Plasma Mobile and Ubuntu Touch had to be based on Android stack until Librem 5 and PinePhone appeared on the stage.
Time to give this idea some meaningful traction has just started in the last years, and the fact that this time it actually gets serious backing from major DEs (GNOME, Plasma) and distros (Debian, Fedora, Manjaro, ...) makes it as viable as it never was before. There's a lot of cross-pollination happening these days, which back in the Openmoko days was mostly limited to tech that never ended up being used outside of these communities (such as FSO). The best we got back then was getting SHR stack partially packaged in Debian, while today, whole GNOME and KDE carry this stuff forward (things like libadwaita and Kirigami are major building blocks of desktop apps too these days).
Fair point, but I was responding to "GNU runs on many OSs", saying that GNU is actually part of the OSs (and not something that runs on top of it), regardless of how much GNU there is in any particular OS.
But how many man-months of development on the GPL subset of the Android stack are funded by the mostly closed product, each day? From some angles, I'd say that it's not a failure at all (from others it certainly is), more like working as intended.
Arch Linux ARM can be installed on Android with Termux
I run scipy and numpy on my phone with it. A bit painful because I can only see about six lines of code at a time but I wrote a few thousand lines of ML code with vim on my cell phone in the last two months.
Termux is a godsend on Android, and remains The Only App Which Does Not Specifically and Precisely Suck (though EinkBro is giving it a good run for its money).
Termux still has a host of limitations and weaknesses which are imposed by the Android environment itself, including being capriciously killed by the OS, lack of multiple users, blocked access to most of the filesystem, and a relatively limited (though impressively growing, I have to admit) set of utilities. At last check, this includes X11 utilities and at least some of TeX, both quite formidable.
Yes it's pretty amazing. But the latest versions of Android are killing it. It's now not even possible anymore to update or install packages inside it if it's targeting the Android 10 SDK which is now required to publish to the app store. So the developer had to stop pushing updates. Which limits him to F-Droid or sideload users of which there are a lot less. I am worried he might not deem it worthwhile to continue. I understand they're looking for a way to do this within the new framework but I'm sure Google will keep clamping this down because 99% of apps don't need this.
Eventually I'm sure even AOSP will stop supporting the older Android SDKs too.
But this is just not feasible for something like termux. Termux is the equivalent of a Linux distribution on Android. If they would let that go there would be no reason for it to exist.
The Android way would be to publish all packages individually on the app store. Termux has tens of thousands of packages. This would simply be insane and Google wouldn't permit it.
Termux is awesome but the native environment is suffocating. I didn't even bother with Termux utilities after one hour of messing around. I went straight for the Arch Linux ARM proot environment and it contains ALL of the Arch Linux utilities. For example you will never get scipy to compile in normal Termux because you can't reasonably get a compatible Fortran compiler built and configured. Arch Linux ARM is the best "distro" within Termux and the installation script is seamless and supports multiple users!
I'll note that Termux has about 1/3 the package count of RHEL / CentOS. It's not everything, but for a mobile distro, it's quite good.
That said:
1. Thanks for the Arch suggestion. I'll take a look at that. Root required?
2. Even with a full-fledged distro installed, if you're running unrooted Android you're still grossly crippled by the overarching (so to speak) Android system in terms of filesystem and process management and interference.
I was also able to get a decent Ubuntu distribution including a desktop environment running on a non-rooted device, even got Blender to render the popular BMW demo, though that took a while.
There isn't any hope for Linux on the smartphone, at least not Linux as actually intended in the talk.
A proper solution needs to run perfectly on users' existing hardware or it won't be run at all. There are a lot of old unupdated devices which should be ripe for the picking. The only solution close to matching the OSS community's resources is the Android kernel for all of its problems. The Linux smartphone community is way too ideological (far more than even RMS was back when OSS started) to do it - they won't use Android, and their hardware would also be way behind for similar reasons.
So irrelevance it is, unless some rich sugar daddy company decides to make an entrance to the smartphone market, but I don't see any plausible contenders.
Discounting Android as "Not Linux" enough is a mind boggle to me. Perhaps not "GNU" enough, but certainly the spirit of Linux -- customized for the particular needs, stable, fast, works on a plethora of hardware, etc.
Vanilla Android or AOSP might kinda have “Linux Spirit” but I’m not sure what gets shipped on most consumer devices does… lots of random things locked down (including boot loader, sometimes), crapware all over the place, drivers and kernel changes that aren’t upstreamed making it difficult to install anything but carrier/manufacturer-flavored Android, etc.
I think most people rooting for “smartphone Linux” are looking to be able to swap and customize OSes on their phones and tablets as easily as they do on their x86 PCs without futzing around with device specific ROMs and the like.
Android has something called GSIs (Generic System Images) that will run on any device that supports Android 9 and above. They don't always support custom hardware, but this isn't really any different from pure Linux. Instead of building a mobile ecosystem from scratch, why not build a community around submitting drivers to a build based on GSI?
AIUI, GSI's are not quite "generic", there are a few architectural variants. Plus they only give you a "system" partition, so the kernel and low-level userspace code (driver HAL, init-system etc.) are still Android-native and device-specific. Droidian is trying to implement something that's as-close-as-possible to Linux as GSI's, and it's not easy.
Even AOSP is running something quite far from a mainline kernel, although they've been gradually reducing the delta with Linux proper. It really is a fork.
My pixel broke (was running CalyxOS, lineage before that), and I had to get a quick burner phone to make work calls. Got a $200 dollar used samsung. I didn't realize what utter trash nonsense is loaded onto normal phones. It's absolutely bonkers what Samsung did to destroy Android with no value add.
To be honest though, there's a huge difference between the Android experience on a $200 Samsung phone, and a $2000 one. I have a Galaxy S10, and the experience is fairly good (though I would prefer at least a vanilla Android).
Each AOSP version is just a big code drop from Google. It's really far away in the spirit. Not even talking about how difficult it is to patch some component as a user.
There's about 5% of commits made by people with e-mail domain different than google.com, android.com or chromium.org (6% if you count the last one too).
Do you get to see the code of yet unreleased versions of Android? Sure, they do accept some patches, but "developed in the open" doesn't seem to describe their development model.
Especially if the smaller steam deck clones like Aya neo Air Pro ( https://www.youtube.com/watch?v=Kw-0ngNgGC0 ) can support voice calls and a decent camera (the only other things my "mobile gamer" friends care about in a phone), I think there will be a niche market around it. Nokia N-Gage reborn!
We already have decent enough android apps support on linux using anbox / waydroid. For the edge case android apps.
I don’t believe that can happen. The steam deck kind of works because they pack in a bunch of peripherals that won’t fit into a phone. The touchscreen experience on it is miserable. 99% of steam games with touchscreen controls would be totally a sad experience.
For a niche market, possibly. However, I just don't see Valve as a company being interested in becoming a phone manufacturer. What would realistically be in for them? It's strategically mostly irrelevant to their core business, with the sole exception of the Steam Store. But to create, develop and support a whole phone platform (hard- and software) just to sell mobile games? I don't see it.
Given the complexities involved in such an endeavor, I'm still confident in my assessment, especially when confronted with a one-liner just throwing a large number against the wall. If Microsoft couldn't get a mobile OS off the ground, despite trying, I don't see what the opportunity size has anything to do with it. Focusing on (even casual) gamers with specialized hardware works for a gaming-focused company, whereas a general-purpose device would not. Compare Nintendo Switch and Steam Deck. Strictly speaking this is part of mobile gaming, with significantly higher margins.
Android is Linux but it has nowhere close to the fully open source freedom of a traditional Linux workstation. This is why I carry a tiny linux laptop.
I'm quite happy with Termux on Android. Allows me to rsync my data for backup or imports, I can ssh into real Linux machines, process images with ImageMagick, etc. Sharing documents from inside other apps works too (you can set up scripts in Termux as receivers). Sure, full control of a device would be great, but I'm better off with Android after I migrated from IOS.
Bad news: Android blocks exec in newer API versions. Termux isn't going to be able to use newer API features as they release, unless they rewrite their own ELF loader. exec is now only allowed on executables within the apk, nothing fetched from termux's repositories.
What do you use a small laptop? Seems there's nothing ultralight and small like the Asus Eee and Acer Aspire One these days (even though you'd think it'd be easier with ARM now).
Phones are not PCs/general-purpose computers. Do you want your TV to be a general purpose computer as well? (Having put my family through a Media Center PC and TV remotes with keyboards/trackpads for several years, I don't recommend it.)
If something currently serves as a general-purpose computer for most people, it's an (Android) phone. It's affordable, it has integrated graphics, video, audio, trackpad, and keyboard, it has excellent networking, it's easily programmable and has a plethora of apps for all cases.
It does not have a built-in Basic-like language for immediate fiddling; this is sad, of course.
If you do not mind running an endless pile of proprietary software and granting several third parties the right to track you and have remote root access to your device via hundreds of binary blobs, then Android is great. Even CalyxOS and GrapheneOS cannot escape the hell that is the vendor partition. Not to mention binary blobs from Qualcomm etc that target particular kernel versions which guarantee your hardware will be a brick in 2-4 years when it is no longer possible to use modern kernels because Qualcomm moved on to new chipsets and abandoned the last gen.
I spent the better part of a year doing Android OS dev only to conclude there just is no way to trust it or make it sustainable.
The Librem 5, Pinephone, and the Precursor are shaping up to be decent options. For now no phone at all suits me fine.
Bankers and governments don't want your phone to be a general purpose computer. That's why you can't run your banking app on a rooted phone. From a security standpoint, "general purpose computing" is really just "arbitrary code execution" -- generally a bad thing.
We are approaching the sunset of general purpose computing in the consumer space. There's nothing you can do. Accept it and move on.
> We are approaching the sunset of general purpose computing in the consumer space. There's nothing you can do. Accept it and move on
I agree that governments and big business (not just banks, think about media services with DRM) don't want us to have full control of our computers for many reasons.
I disagree we just have to accept it though. I will keep fighting that forever.
Actually yes. All my TVs have attached PCs and run kodi, steam, etc on Ubuntu so I can do whatever I want on them. All my remotes have an airmouse and small keyboard.
We love it. When we want to look up something we see in a video we just open a browser. We also use them to order food etc. No proprietary software required.
Typically the Java APIs are restricted to the bare minimum Chrome Android needs to do sandboxing and native code-gen for V8. Shared memory only works in a more limited way with many less options. They'd really like to restrict these APIs way more and not allow apps any way of loading dynamic native code with the exec bit set, but can't because of Chrome and antitrust worries about just making Chrome system software with access to the APIs it needs that a competitor couldn't replicate in an APK.
I think you can see some of their thinking with the removal of exec; they just want to undercut termux because that isn't needed for V8, but as long as loadable generated native code is still needed for Chrome, termux could potentially create their own ELF loader to replace exec).
My Pinephone is a general-purpose computer, which runs a desktop OS and can be connected to a keyboard and screen. Same for Librem 5, which I preordered.
Not great, agreed, but they did at least architect the OS so that they are decoupled and you can build without them very easily. In fact the largest custom ROM doesn't bundle with them by default (LineageOS). What do you need Google services for?
You can still have a useful experience on a pure AOSP build.
You'll miss features like push notifications, Google accounts outside of the browser, an app store and various other features.
But there's no reason the open source community couldn't add these, a package repo/app store equivalent and push messaging would probably be the deal breakers for me as a phone where chat apps don't work isn't useful to me.
The binary blobs to get driver support are also a problem, but it's also true in desktop linux, see for example Nvidia's graphics card driver.
I think it's better to come up with replacements for those Google services and apps instead of rewriting the entire operating system. You need to solve the same problems on a linux smartphone as well, so Android gave you a lot of time savings, and I doubt the app sandboxing is even remotely as good on those non-Android linuxes. For Google Play for example there is F-droid, for push messages/FCM there is UnifiedPush, for Google Maps there is Osmand.
Yes, articles like this illustrate that RMS had a point, as annoying as he can be about it. Android is obviously Linux. What's missing is all of the things GNU and BSD brought to the party.
Try reading Linux man pages on things like system calls to map shared memory. On Android it won't work, and you have to call into Java code to do it. Google created a monster rather than work to get things merged into the kernel (there was some kind of possible resource leak or DoS with shared memory mapping).
Yes, Android is absolutely not GNU enough. This terminological goofiness is the flipside of using the term 'Linux' to refer to a whole bunch of GNU/Linux operating systems.
Here's the thing though, this is not even about abstract ideals. When we say Android is not 'real Linux', what it comes down to is this: there's a certain peace, a sense of relief— of being respected— that comes with running Linux on your personal desktop or server. It feels really, really different from using an OS whose main function, which has driven its evolution, is just to sell you paid apps and services. That makes it fun, and it lends itself to a certain fluency.
Running any variety of Android is just an alien experience to all of that. Android doesn't feel good to use the way that Linux does for people who like running Linux on other contexts. And that's why it makes perfect sense to say it's 'not Linux enough'. The experience speaks powerfully enough for itself that it hardly seems worth explaining tbh. If you actually get what is good about running Linux and you've ever sought those virtues in Android, you already get it.
>When we say Android is not 'real Linux', what it comes down to is this: there's a certain peace, a sense of relief— of being respected— that comes with running Linux on your personal desktop or server. It feels really, really different from using an OS whose main function, which has driven its evolution, is just to sell you paid apps and services. That makes it fun, and it lends itself to a certain fluency.
Might just be me, but I don't feel any respect coming from whoever are the devs that made this week's flavor of Linux I might be trying out.
Yeah, Windows 10/11 and iOS, and to a slightly lesser extent MacOS and Android, all aim primarily to sell me their shit. I hate them all for that. I run an OS to run the shit I want on my computer, not the shit they want on their computer.
Linux, though, aims to primarily sell me their ideological shit: FOSS, free as in freedom, GPL, Command Line Interface or bust. Instead of commercial pursuits, it's dogmatic pursuits.
They're all the same sides of the same shit sandwich. I get to choose what's in the sandwich, but it's still a shit sandwich until the heat death of the universe. Fuck that noise.
That all being said, Android is Linux. Because it runs the Linux kernel. End of. QED. Anyone who argues to the contrary is just being spiteful of Android succeeding where the wider Linux community could not.
When mapping shared memory or checking for the right broadcast subnet requires calling into Java code... it isn't Linux on the user side so much anymore.
All you have access to are Java, Kotlin, ISO C, ISO C++, and NDK libraries.
Nothing about Linux is public, other than APIs used by OEMs themselves.
Since Android 8, even Linux kernel drivers are considered legacy and all new ones are required to be Treble based.
All the LinuxSE, seccomp,...are also not exposed and can only be customised by OEMs.
People like to pat themselves on the back regarding Android, however it could start using any other kernel and the apps sold on official stores would at most need to be recompiled.
> Perhaps not "GNU" enough, but certainly the spirit of Linux -- customized for the particular needs, stable, fast, works on a plethora of hardware, etc.
True, but you forget being transparent and giving users control, which are vital aspects of Linux that Android is light years away from offering and will never offer.
So have you watched the talk? It's mentioned there and the talk describes pretty well why it's not what many people are looking for. You may want to watch it after all.
You don't interact with Linux by using Android, it's Java. Android could also have been based on FreeBSD, wouldn't have made a difference for the user.
That is the license for the Android Open Source Project. Unfortunately, Google has spent the last fifteen years moving many parts of the stack and almost (if not) all the core apps to Google Proprietary versions. Most apps in AOSP no longer receive updates at all.
The dream is here is not just that we would be running "an open source stack" but that the active development would be on the open source stack. Sure, there are new releases of AOSP. But take a look at the core apps: Contacts, Calendar, Camera, Email, Location services. These are all proprietary now.
Android is open source in the same sort of way that MacOS is open source. There are some open source bits in there.
Who cares about the google user space apps? There are viable open source alternatives for all of them. It's like saying Linux is not open source because Redhat bundles proprietary software with their distro.
This could have been a reasonable analogy if a very significant chunk of applications "for Linux" only worked (or offered its full functionality) if you had Red Hat's proprietary addons installed.
I'm typing this comment from a Poco F1 I set up with postmarketOS and Phosh earlier this week and so far it's very promising. Will write up a proper review next week. Much better than the Pinephone so far.
This is interesting. Communities like postmarketOS put in a lot of effort to adapt their distribution to hardware that would otherwise be running Android.
Perhaps targeting commodity hardware is a more viable strategy than contending with newer platforms like Pinephone. Sure the device is more open, but most of the software support falls on the same community of developers. Lord knows they have enough build targets to maintain already.
I'm sure there will always be a place for custom hardware like Pinephone, Librem 5, but repurposing a flagship Android device is going to be a better value proposition for most people.
I own a first-gen Pinephone and it seemed really promising for a while. As things got fixed and the state of affairs improved, I think everybody's expectations shifted whether they realized it or not. Phone calls and SMS work perfectly, but after that started working, now I want it to do GPS and navigation. Doing this is possible, but pushes the poor Pinephone's hardware to its limit.
I think offloading progressively more tasks to a computer is perfectly natural, but ultimately (for me at least) this killed the Pinephone's viability. I wound up hitting a glass ceiling way too soon for comfort.
It's one thing if software support for specific tasks is nonexistent - this is a solvable problem, the community marches forward and fixes this as a matter of course.
But what do you do when you have the software support, but it just doesn't run on your Allwinner A64?
Maybe things have improved yet more since the last time I tried. I'll have to check out Pure Maps again.
PinePhone's hardware is almost at the edge of being usable in 2022, I can agree with that. It's not as bad as Openmoko Neo Freerunner was (thanks Glamo), but it's definitely noticeable. However, with PinePhone Pro (once it matures) and Librem 5 I don't think I'll have to start to worry about hardware not being able to reasonably run sensible software for at least a few years still. Those aren't even close to current flagships of course, but are performant enough to not long for a faster device.
> Perhaps targeting commodity hardware is a more viable strategy than contending with newer platforms like Pinephone.
It depends on the hardware. If it can be properly supported on the mainline kernel, then sure. Otherwise, you're not gaining all that much compared to just running a "cooked" Android-based ROM.
You can strap Raspberry to your phone via USB and you have 100% Linux phone without restrictions. Communication happens via Phone's USB-tethering and Raspberry's Internet-via-USB (and bVNC). OTG-phone can also power the Raspberry.
I used this setup a lot, but nowadays Termux with X11-server is good enough.
Most use nowadays is photo editing with GIMP. You can gain excellent dexterity with bVNC with time.
I'd been considering working out a way to do this over Bluetooth networking for a while - have a Pi0W on a power bank in my bag, hooked up to phone over BT for when I want to test something quick on the go (ideas often happen on buses, subways, etc).
Thinking of the Pi0, I assume you would need 2 usb cables and a hub: 1 cable goes to Pi's power usb port, 1 goes to the other usb port for connectivity, then both cables joined through a hub to the phone's usb port.
May have been also that when you connected Pi to a power source it powered the phone too. I was using this system 10 years go with very cheap phone without OTG, so Pi was solution to this and other problems.
Before answering that question I'd ask: why would we want that?
My answer is no, it didn't work on the desktop, it won't work on the smartphone, for more or less the same reasons.
As much as I like Linux and FOSS, Linux is just a bad OS for the average consumer.
For hackers, makers, DYI enthusiasts, etc. Linux is wonderful, however, what's the market size for a Linux smart phone for this people? I bet it's tiny.
Didn't work on the desktop? I've been running Linux exclusively on my desktops for 15 years. Desktop Linux is better today than it's ever been.
Why does every OS need to be suitable for average consumers? Librem and Pine64 are doing great work in the mobile Linux space on the hardware side, and projects like PostmarketOS are doing great work on the software side. These are niche products for motivated enthusiasts, as they should be. They'll never grow to billions of users, nor should they. The tech industry's "grow massive or the product is worthless" mindset is pathological, in my opinion.
Not only I've been successfully running it on my desktops for about that long, but I also have been running it on my phones for not much shorter. It works.
> Desktop Linux is better today than it's ever been.
I honestly have to strongly disagree with that. Desktop Linux is more complex, more fragile, and more choice-less than 10-15 years ago. It might have a bit better hardware compatibility... but even back then it would run on just about anything.
> Librem and Pine64 are doing great work in the mobile Linux space on the hardware side
But can you actually use them as a phone? Can you use all (or even any) of the apps that people want to use?
> They'll never grow to billions of users, nor should they. The tech industry's "grow massive or the product is worthless" mindset is pathological, in my opinion.
Without that, they'll also never get the things that people want their phones to do.
> Desktop Linux is more complex, more fragile, and more choice-less than 10-15 years ago.
More complex, sure. Bare ALSA was simpler than Pulse/PipeWire. But the benefit of the additional complexity is that nowadays, sound just works. PipeWire gives us flexible audio routing pipelines like Jack, but for all audio applications rather than just pro audio! And as a counter-example, the X11 to Wayland transition considerably reduces the complexity of the display stack.
I'm not sure what you're getting at with "more fragile", but I definitely disagree with more choice-less. Sure, I wouldn't want to run modern Gnome on a full-size desktop/laptop (we have MATE, Xfce, and countless minimal WMs/compositors for that). But modern Gnome is great on tablets. Non-systemd and non-glibc distros are out there if you're into that sort of thing. Flatpak, etc are available if you're into that - if not, nobody's forcing you to use them.
> But can you actually use them as a phone?
Yes, with effort and some sacrifices. The velocity is in the right direction - the situation is much better than it was a year or two ago.
> Without that, they'll also never get the things that people want their phones to do.
I agree that there needs to be a sufficiently large community that things get developed. But this doesn't mean we need billions (or even millions) of users.
They aren't all perfect, but TBH, I would get by. I only miss Threema to switch fully at this point (which I've migrated many of my contacts too, so that's on me), but as work on a Matrix-bridge is ongoing there's a lot of hope. (I could also just use Waydroid + the Android app to fill this gap, but… that kills the battery (at least for the PinePhone).
FWIW battery hungriness of Waydroid should be perfectly fixable. I had a quick look and it doesn't really seem to care about not doing useless work when there's nothing to do and happily wakes up multiple times per second all the time the container is running. A lot of low hanging fruits there.
Why is it 'just bad'? I have installed Linux (either Debian or Ubuntu) for several non-tech-savvy family members, and they have used them for years without incident. I once talked to my mom about Linux and she mentioned that her Windows worked great for everything, she would never change. I told her to look at the splash screen when she booted up ;)! She had been on Linux for a good 10 years without noticing.
Maybe we can do it backwards this time, take the Chrome approach with Linux, build a UI launcher for mobile that is as simple as possible and once it's complex and has a healthy touch-friendly apps translate it to desktop.
Look at Steam Deck and what they've done. They could use the same approach to launch a Phone OS.
My older relatives tend to disagree with you, Ubuntu runs better than Windows and is easier to use (especially on dated hardware). Admittedly if proprietary programs were a requirement it wouldn't be possible, but that isn't a fault of Linux.
Right now Apple can pre-load Apple TV and Apple Music on all their devices, put it on the top of their store and search results, make all deep links go to their services and charge all other services a 30% fee even for in-app subscriptions making it a hassle for users to sign up to competitors.
Spotify, Netflix, Valve, etc. should all see the importance of having a fully open platform especially now that phones are far more common than laptops or desktops. And governments too given they want us to have digital ID, digital banking and digital inbox services for filing taxes, COVID passes, etc.
Popos works really well on the desktop. All of the games that I play run perfectly on linux, albeit with slightly higher resource usage. Couple that with a windows 10 vm and there is no reason for me to boot into my windows installation ever again.
Around 2002-03 - Motorola had RT Linux in EZx range of touch phones (https://www.gsmarena.com/motorola_a760-392.php). They were also working on a Linux based smartphone platform which was fairly advanced before scrapping it in 2004. Been a part of those teams. Do not think it is easy to introduce another smartphone platform right now without strong differentiation given the network effects. Something on wearables might still work.
A typical Linux distro ISO is about 2Gb in size and this distro has all the necessary drivers and hardware devices to run on thousands of different computers with different configurations.
Android "AOSP" however has to be customized for every single cell phone model because it doesn't have the device drivers added but it does use the Linux kernel.
Why can't AOSP just include all the necessary device drivers for all the mobile phone models, just like what Linux does for computers?
Then we could have a universal AOSP distro for phones
Because mobile (basically ARM) is not a standardized platform like the PC. PC architecture has dozens of interoperability standards the entire PC ecosystem adheres to. Everything from boot up, to DMA controllers, to protocols for device capability discovery, and more .. You can think of each ARM board as its own bespoke platform (needing it's own device tree/bsp).
The talk explains that - you could make an universal AOSP image that works on mainlined devices, so you could support the whole handful of them at this moment.
I think it's time we take a descriptivist view of "Linux", because there is some hard-to-describe way that Android isn't "Linuxy". If a good mobile graphical BSD OS appeared from nowhere , we might consider it "Linuxy-er" than Android.
The presentation does a good job of explaining what is missing for a good "Linux smartphone ".
I honestly don't get the idea of having a dozen distros. I understand that this is how things on desktop for decades are, but it seems grossly irrelevant. Also, things on desktop are not very good too, to be honest.
There's one Android and there are dosens of variations on top of that, not parallel to that. This is how userbase is gained.
Android runs toybox (or at least used to), which implements many of the GNU tools. But I think the complaint is that much of the userland to have a useful phone experience is proprietary.
If you could install all the GNU tools into AOSP Linux (probably not that hard), you still don't have a useful phone.
It's not even the desktop environment (think GNOME/KDE/etc.), as there is a good enough version in AOSP.
All it takes is one good phone application that uses the underlying devices.
Also as a reminder, WebOS is also Linux and the Palm Pre phones were excellent phones (with a somewhat limited app support - they were a bit ahead of time with JavaScript and applications written on it)
Why is the title “Is there hope for linux on smartphones?”?
If it said “Is there hope for GNU on smartphones?” the answer would be a resounding no, because the community is fractured and politicized to the degree the products are uncompetitive. Pinephone is an example. Then there was the Ubuntu effort.
Android, being partly closed as the GPL2 allows for, is proof that Linux can be highly successful without the GNU crowd. And perhaps they should stop taking credit for software they didn’t write. They made the license.
For all the complaining, the free software community hasn’t designed from the ground up and released one single production class handset alternative at a time when the culture consumes in the billions. That’s says a lot. The infighting and utopian idealistic virtue signaling is in sharp contrast to the reality of the platforms the GNU crowd has built.
Just the kernel is Linux, but with the "Linux" that is meant here, it has basically nothing in common, be it e.g. in the userland or "the spirit".
The Linux from "Linux Smartphones" e.g. fosters an open, user-first ecosystem, as opposed to the often very closed and locked Android Smartphones. Another examples are e.g. Safetynet or the Google Play Integrity API. Those primarily don't server the users. Or apps that either complain or even stop working on rooted phones. We have admin/root on normal PCs and nobody is complaining there.
Linux is only a kernel. What most people mean when they say “Linux” is actually “Linux distribution” which is the Linux kernel plus some userland like GNU or Android.
Just the kernel is linux, but isn't basically all of the hardware support we need in the kernel?
Sure, we're still out of luck with trying to run mainline kernels, but what's stopping us from running normal GNU userland on top of a working Android kernel?
Not having your images and messages scraped or getting tons of spam is in the interest of users. Those API allow developers to offer a better experience to users by being able to know if people are running a trusted version of the software.
Pardon a minor correction, what you mean by “Linux” is more properly termed “GNU/Linux”, or as I’ve taken recently to calling it, “GNU plus Linux” which reflects that Linux is merely the “kernel”…
So yeah, Linux runs on more smartphones than all other kernels put together.
I disagree. It does a bad job. From what I understood it boiled down to.
1. It is hard to upstream changes to AOSP.
2. Google also has proprietary apps and services.
Android has tremendous value and those seem like petty reasons to throw it out. You are going to be remaking proprietary phone stuff entire way. Why not utilize the massive amount of work Android provides. It will also speed up the process of bringing up devices since the manufacturer likely already has Android drivers ready to go.
Simple answer: no. Apart from Android that is. Non-specialized Linux will never be supported by manufacturers because there's simply no economic incentive to do so.
There is no hope for a linux smartphone due to the reality that there is no hope for the linux desktop. This is aptly demonstrated by the presenters slide of the linux kernel with a single through line into userspace, where you are shown a single interface (more or less) represented as the kernel, into a byzantine maze of components, represented by userspace.
Who actually wants to target such a mess? Nobody statistically. To enter the linux market you need to compile a matrix of distros, init systems, kernal module subsystems, package managers, device daemons, display servers, window managers, desktop environments, custom configuration formats, filesystem hierarchies, custom socket protocols, custom syscall interfaces, and whatever else. Or just literally re-invent everything and go your own way (Android and similar efforts). Repeat for each and every version of a "distro", each permutation having their interpretation of the correct "linux/unix" way. When you are developing software either for a direct profit motive or for a user freedom motive, they are aligned with having stable environmental targets that continue to work within a reasonable timeframe.
We all love siting conway's law: "Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure". The Linux userspace communication structure is plain chaos. As an app developer: what distro am I on, and at what version, what config file am I fiddling, what custom socket protocol do I need to implement, what obscure distro dependent library do I need to link against, and what horrendous wrappers do I need to write to get my software to not only run on "linux" but the other platforms where most users are.
Windows, MacOSX, IOS, and Android-flavors understand this better at least from a market perspective, because the most important aspect of computing is that software works more than less of the time. works > security. I don't have to upgrade my OS to get a new version of an app. I don't want an OS upgrade to change the version of an app. I don't have to know what static vs dynamic linking is. I don't have to dig into yet another custom config format to change simple settings. As much as I enjoy discussing the particulars of tech, and digging into details from time to time, at the end of a long day I just want my computing to work. The linux ecosystem does not provide that.
Yes manufactures play games with hardware locking out FOSS efforts. Some of that can be remedied by serving the legacy hardware market or providing manufactures an actual platform to target. At the same time, outside of the kernel, I see no effort of the linux userspace providing any sense of a unified UX, consistency, discoverability, or stability. Each new half decade presents yet another set of inconsistent interfaces, confusing commands, esoteric configs, outdated tutorials, and the general sense that FOSS is not positioned to serve tech at the human scale.
Until userspace can provide an interface that is stable, more or less like the kernel for a decade or more, with opportunity to shim for backwards compatibility for edge cases, we will never see linux exceed further than pets of backend infrastructure.
The problem with alternative phone OS:es is that in the country I live you must have either an iPhone or and Android phone because the ID monopoly and Payment monopoly refuse to support other operating systems...