Is there hope for Linux on smartphones? [video]
media.ccc.de
media.ccc.de
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...
https://forum.sailfishos.org/t/any-chance-of-non-sony-phones...
Further, look at the list of devices they work on - not at all a list of phones easier to flash than a pixel.
https://wiki.merproject.org/wiki/Adaptations/libhybris
There seems to be a lot of politics in their forums (and their past funding), something that does not interest me in an OS project.
[1] Started from here: https://twitter.com/JollaHQ/status/1100036246754213894
You dont have this problem because CalyxOS has a workaround for SafetyNet, i hear its pretty hacky, but it works.
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.
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.
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.
[0] https://github.com/kdrag0n/safetynet-fix
[1] https://github.com/Magisk-Modules-Repo/MagiskHidePropsConf
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.
[0] https://maemo-leste.github.io/
[1] Technically a fork of Maemo, the predecessor to MeeGo.
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).
Mobile Linux is already here, and it works!
It's pretty decent hardware, mine still lasts 2 weeks on standby. Granted, I don't do much with it, I just use it to test out new lineage updates. No SIM in it. But it does receive some push messages through MicroG. I'm surprised how well it aged.
Not a fan of its hardware design though, with its overcomplicated ridges, seams and edges.
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.
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)
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.
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.
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.
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.
EDIT: Things seem to have deteriorated quite a bit and no major improvement in sight. Maybe not a surprise.
https://www.monperrus.net/martin/bankid-linux
https://www.sweclockers.com/forum/trad/1592956-bankid-pa-lin...
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"
Glad we're rid of that though.
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.
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.
What happened to websites? Did they suddenly become impossible to secure or communicate with?
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.
For context, I use a Nokia 8110 and a LineageOS device.
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.
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.
There are pretty simple patches you can apply though to get it passing, assuming nothing else about the phone triggers it.
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.
in practice there are only two choices, it's called a duopoly and most people know it.
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.
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.
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.
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 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.
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 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.
But a proper Linux phone, say something like a PinePhone is great as a second phone.
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.
Short of die hard linux/FOSS fans noticably worse pics is going to be an absolute show stopper
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.
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?
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.
[0]: https://scribe.rip/telecom-expert/what-is-at-t-doing-at-1111...
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 :)
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'.
EDIT: Changed "the only one" to "almost the only one" because I remembered that HURD exists and probably also uses GNU tools as part of the OS.
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).
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 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.
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.
Eventually I'm sure even AOSP will stop supporting the older Android SDKs too.
https://wiki.termux.com/wiki/Termux_Google_Play
It just worries me because I love termux so much and it casts a shadow over its future.
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.
But a bigger problem is that an app is not allowed to modify its own files anymore, and is not allowed to run executables from 'data' storage. This is much harder to work around:
https://wiki.termux.com/wiki/FAQ
Even if they work around the execve thing, Google will probably refuse them in the store when they run executables not included in the APK. And the question is what will be locked down in future Android versions. Android 12 is already iffy according to the above FAQ. That's why I'm worried about it
Fwiw: I don't think Google is actively trying to kill it, no. But it's just not something needed for most apps so they don't want to facilitate it.
My most recent Android device (purchased under protest) is an Onyx BOOX e-book reader running Android 11.
I have Google Play entirely disabled, rely on FDroid for most app installs, another 2--3 from Aurora.
(In general, I avoid installing apps at all.)
Termux is installed, runs, and updates. I just completed a package update a few minutes ago.
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.
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.
They added value, just not for end users.
Perhaps in the past, but it feels like more and more this is shifting toward the expectation, rather than the exception.
Check out the current PRs in gerrit: https://android-review.googlesource.com/q/status:open+-is:wi...
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).
Pretty much the same result on another one: https://android.googlesource.com/platform/frameworks/base.gi...
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.
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.
Sure, there's F-Droid and FLOSS software for Android, but if you're already willing to limit yourself to FLOSS Android apps you may very well limit yourself to FLOSS GNU/Linux apps too. When people say "I can't move to Linux phones because I need these Android apps", they usually aren't talking about ones from F-Droid.
Secondly, you claim limiting yourself to FLOSS android means you might as well just use FLOSS Linux. But that doesn't make sense because the purely open source elements of the android ecosystem work far better than the pure Linux ecosystem, which is my original point. There is no advantage that you can point to for GNU/Linux over Android/Linux other than just being "pure Linux". Android is fully open source and can be easily run unencumbered by proprietary google software. And there is vastly more open source software that is mobile friendly and compatible for Android/Linux than GNU/Linux.
This isn't really true, unless you specifically care about compatibility with (1) proprietary Android apps and/or (2) fiddly hardware that's supported in downstream Android builds but lacks complete support on the mainline kernel. Everything else has basically reached and exceeded parity with AOSP. (To be fair, this is a very recent development indeed, and it's quite normal that most would be unaware of it.)
This described just about all modern smartphone hardware.
> (1) proprietary Android apps
What users want to be able to run.
>Everything else has basically reached and exceeded parity with AOSP.
I doubt it reached parity with the open source software available (!= AOSP).
Do they? I'm using a GNU/Linux phone and I'm happy with it. Of course there are things Android is better at, but that it "works far better" sure isn't something I would say without additional qualifiers.
> There is no advantage that you can point to for GNU/Linux over Android/Linux other than just being "pure Linux".
There sure is. Android ecosystem may be much more mature by now, but it's incredibly hard to hack on. I have recently built a LineageOS image in order to apply bunch of small patches and it took me several hours, 200GB of disk space and couldn't even start building without 16GB of RAM, because the build system was going out-of-memory otherwise. I had to use a VPS because I didn't even have any computer around that I could pull this off on, except of Steam Deck I guess :P In the end, I got two image files that I could flash into the device wholesale that messed up some applications that expected the system to be signed with the same keys as previously.
On my Librem 5, however, I'm able to do `apt source phosh`, `apt build-dep .`, change something and then run `dpkg-buildpackage` to have it recompiled right on the phone itself in a matter of minutes, producing a single deb that I can install and immediately test my changes to whichever system component I want to play with. And if I don't want to hack on the system itself, there's stuff like full blown Python interpreter preinstalled, with bunch of compilers available straight from the repos, for easy scripting and app development right on the device.
If Windows had worked 15-20 years ago when I was still using it like Android does now, I would have never learned the vast majority of what I know about computers now. I gained a lot of knowledge simply by tinkering with my PC, breaking it and learning how to fix it. Being able to patch and change various system stuff by myself was very empowering when I switched to GNU/Linux. These days, most computing happens on mobile phones and tablets with children often completely unfamiliar with common PC workflows that aren't mirrored on mobile; the whole new generation of people, despite of using an OS that's technically Open Source at its core, is mostly deprived from ability to play with their own hardware, and even if they're technically not, the learning curve is often prohibitively high and stuff like SafetyNet still gets in the way - while in my youth I used to learn Python by writing, running and debugging scripts on my Openmoko phone while riding a tram back from school.
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).
That's just the opinion of the manufacturer, we don't have to agree.
Phones have banking and government apps, they are general purpose computers from their usage alread
We are approaching the sunset of general purpose computing in the consumer space. There's nothing you can do. Accept it and move on.
It is in contrast to a special purpose computer, which smartphones clearly are not.
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.
It does not have a built-in Basic-like language for immediate fiddling; this is sad, of course.
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.
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.
They're called "Ultrabooks" now. Buy an older one on the used market if you don't care about top performance.
The Steam Deck does this perfectly!
The Steam Phone could be a game changer.
I'm literally writing this comment from my Steam Deck.
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.
MS on the other hand, drank its own Kool Aid, threw it's weight around, went all in...and walked away empty handed. There was little value add. There was zero coolness. Etc.
There are some similarities but that was then, this is now. A device that's "proven" - and some privacy tossed in - can probably find a market just beyond the gaming niche.
If nothing else, you simply couldn’t get the parts and manufacturing capacity needed to go beyond a niche product without effectively building the capacity out of pocket. Not to mention the headaches of dealing with network providers. And you basically will have to become an advanced digital camera manufacturer as well. Add battery life, size and price into the mix and you end up with portable consoles instead of phones. Like we have today.
Simply put: by not doing a general purpose device, you skip several metric tons of issues that occupy your focus but gain you very little.
I think Microsoft is an organisation that's just too fragmented. Different BUs pulling it into different directions without a clear overall strategy.
Like with edge, they do some good stuff like ad/tracking blocking but at the same time introduce really nasty buy now and pay later scams that undermine any chance of it becoming a respected product. And that have no place in a browser at all.
Google was actively sabotaging access to their services, like Youtube, at that time. With the amount of regulatory scrutiny they're under today, they wouldn't dare try it again.
The Steam Deck is very impressive.
What it is is a laptop in a funny case.
In fact they would like to because a majority of their users install it. But there's a lot of legal strings attached to it.
Legally though, Linus Torvalds gets to define what Linux is because he owns that name.
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.
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.
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.
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.
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.
Iirc they even got Windows 10 booting on that phone.
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.
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.
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.
Might tinker with it this evening.
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.
Look at Steam Deck and what they've done. They could use the same approach to launch a Phone OS.
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.
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.
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).
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.
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.
There are commercial vendors like Canonical where you can get support, if you want to.
Now, 20 years ago we could have argued about application support, etc., but these days average consumers just fire up a web browser.
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
The presentation does a good job of explaining what is missing for a good "Linux smartphone ".
There's one Android and there are dosens of variations on top of that, not parallel to that. This is how userbase is gained.
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.
That's true.
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.
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.
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.
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)
So yeah, Linux runs on more smartphones than all other kernels put together.
GNU/Linux? At scale? Not a fucking chance.
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.
There's been an android port for a while already, and quite capable SoCs are being mass-produced.
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.