490 comments

[ 4.6 ms ] story [ 323 ms ] thread
Am I missing something? Every Android phone is running Linux.
But a good portion of them are riddled with google
Android is not Linux any more than Chrome or Firefox is Linux just because it runs on top of it.
Android 'is linux' is the same way any linux distro 'is linux'.
I'd just like to interject for a moment. What you're refering to as Linux, is in fact, Android/Linux, or as I've recently taken to calling it, Android plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning Android system made useful by the Android corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Android runs Linux. Android is not GNU/Linux.
Wow. So normally we say: Linux is the kernel and GNU is the userland. (Remember GNU/Hurd?)

So, what is Android? Does Linux run the Android userspace, or does Android run the Linux kernel...

> Linux is the kernel and GNU is the userland

No, “GNU” is the operating system project, which includes the userland components, the kernel, and everything else. Just like “Windows” is not ntkrnl.dll, nor is “Windows” the sum of explorer.exe, cmd.exe, etc. – “Windows” is the overarching project name. “GNU” is the same.

People who think of “GNU” as userland components likely are influenced by the accident of 1990’s history that was the prevalence of SunOS (etc.) systems with added GNU command utilities. But the GNU command line utilities were originally meant to be for a (yet to be written) complete GNU operating system, including a GNU kernel, Hurd. But since the GNU operating system was to be compatible with Unix, and the command line utilities were good, people liked to run the command line utilities on proprietary Unix variants, and later the same happened when a Linux-based Unix system was cobbled together; the GNU utilities were there for the taking, and they were very useful in creating a complete Unix-based system, based on Linux. This probably created the confusion that GNU = userland utilities and Linux = operating system, even though almost the opposite being true.

Right, I meant ".. in most Linux distributions".

The kernel is Linux and the most important userland parts are from GNU. Therefore they are really GNU/Linux distributions.

The GNU project has more to offer than coreutils, like Hurd.

I think you're joking, but unironically yes; Android/Linux is Linux, just like GNU/Linux and busybox/Linux (or however you want to call Alpine).
ChromeOS and FirefoxOS — yep, Linux.
Linux is a kernel. Obviously this article is talking about a different user space than Android.
So, what is a Linux phone? Does it need to use glibc or another libc still qualifies? Does it need to present a POSIX interface? Does it needs to run an X server or something compatible?
By "Linux phones" people nowadays understand GNU/Linux phones. I wonder why the OP can't just say that.
Depends what is being meant by Linux. Yes they run a variant of the Linux kernel, and there is some commonality in parts of the common libraries, but there are significant differences atop that which makes it quite different to your average desktop Linux.

The overall Android environment isn't Debian, Ubuntu, RedHat, ..., or other GNU/Linux environment.

(the downvotes you currently have there given the graying text are a bit misguided IMO, your misconception is a very common one, one that people in some circles even seen to encourage)

(comment deleted)
Android is running Linux as much as my router is. Or my TV. Or all those docker containers with a thin image and a Go application.

It’s not a desktop Linux OS, of course. But it’s still Linux.

Yes, my router is Linux, and my TV is also linux (containers not quite, because they don't emulate the kernel, except for Windows and macOS machines, that NEED to emulate at least one kernel instance, but whatever). And is pretty clear to me those limitations. More than my router, or my TV, or any embedded system for that matter, Android does try to follow other systems specifications, it has a own libc implementation, you can still utilize most of linux that we are used of: filesystems, syscalls, networking, even containerization (all of them limited and various levels, of course).

That is what makes a linux distribution too me in my opinion, in the same way I can run a linux with musl libc, and busybox, I can run Android

The Android kernel has some changes that weren't upstreamed, has features that Linux doesn't, and is missing some features, as well. For example, SysV IPC isn't supported on Android's Linux kernel[1].

Often, for specific devices, the kernels they run are forks with changes that aren't upstreamed. Some of those changes can be significant enough that porting those changes to an updated kernel snapshot is nearly impossible, so it never happens, despite the kernel fork's source being available under the GPLv2.

[1] https://android.googlesource.com/platform/ndk/+/4e159d95ebf2...

Android could be called Android/Linux as Google replaced most of the GNU GPL licensed stuff with BSD licensed alternatives, often self developed (bionic, surface finger, binder, stagefright, etc.) so that they (and vendors) are not bound by GPL obligations and can sit on one changes for ever if they want to.

Kernel is the major thing under GPL left and while there are some theories they might want to replace it with the Fucsia micro kernel I don't think they have a chance in hell given the ministered and number of parties involved in cooperative Linux kernel development.

The core parts of Android that make it usable on mobile devices like power management and scheduling [1] aren't in the mainline Linux kernel last I checked. This is about getting Linux to the point where you can choose between an Arch, Ubuntu, debian, etc. distro for your phone.

[1] https://lwn.net/Articles/706374/

> This is about getting Linux to the point where you can choose between an Arch, Ubuntu, debian, etc. distro for your phone.

Does Termux count? It may be containered within an application package, but it's running off the host kernel and it uses the debian package manager.

https://i.imgur.com/WIT2VjW.png

I find that, when it comes to Android, people try really hard to make exceptions for what qualifies as "Linux" that do not exist as goalposts for other distributions or forms of Linux that are generally accepted under the Linux umbrella.

I'd say it's as much as Linux as anything else that uses the base kernel and is reduced (for space reasons) or modified (for hardware support)... DDWRT comes to mind.

When you have a base kernel for a device, running a "proper" distribution isn't much further behind. I was able to install Ubuntu on top of the stock kernel of one of my oldest Chromebook devices, the Acer C710. That's how I started using Linux full time. Does that not count? Because you can do that on Android devices, too.

It's Linux. Carving out exceptions and drawing arbitrary lines and qualifiers doesn't really get anyone anywhere. In the end it's a very specialized Linux kernel for that hardware running often proprietary blobs, but when it comes down to it:

Yes, you an install distros on top of the kernel on the device[1],

And yes, I'd argue Android itself is a distro.

The only thing Android really lacks is a universal installer. IMHO, we can thank Qualcomm for that situation we're in.

[1] https://www.makeuseof.com/tag/how-to-linux-on-android/

Termux is on the death bed, because they refuse to ackowledge Android isn't Linux and make use of Java APIs for their purposes.

So given that from Google's point of view POSIX and Linux syscalls aren't public APIs on Android, termux no longer works on latest Android versions and it will get worse, as NDK APIs keep being locked down as sandbox improvements.

I'd argue that if you were set on using something like Termux, you're already in the class of users who are most likely to be running custom Roms (eg, LineageOS) or having a modified stock image (Magisk, Root, etc)

One of the workarounds for those affected calls for making SELinux permissive.

SELinux, of course, only works on a Linux kernel.

https://en.wikipedia.org/wiki/Security-Enhanced_Linux

https://source.android.com/security/selinux

But, apparently, Android isn't Linux..................

Just another example of how people try too hard to create goalposts to say Android isn't Linux when those goalposts don't exist for anything else.

Please provide the Android documentation how to access LinuxSE on non-rooted devices, you know those that regular consumers actually buy and app developers get their income from.

Just another example on how Linux die hards try to make juice out of lemons, to pivot Linux dominance on consumer devices.

Look, the goalposts are moving again. I wonder how that keeps happening...

I can't see what replying with "how to access LinuxSE on non-rooted devices" has ANYTHING to do with my comment that you previously replied to unless you're just trying to be disingenuous. I specifically mentioned that a typical use case of someone affected by the changes breaking Termux are users *most likely to be the type that will run a custom rom or root mode.*

"Regular consumers" don't give a flying fuck if Android is Linux or whether or not they can run Termux.

Whatever dude, enjoy your rooted device.
They're barely working on desktop and you want to bring them to phones?
Yes, it's it is. PM is normal part of Linux since at least a decade ago, probably longer. Pinephone now has standby of around 7 days, and runtime power management is also quite good, with automatic powering off of CPU cores, when idle, and downclocking of memory controller in my 5.12 kernel branch, that many pinephone distros will migrate to soon.
Are these changes being mainlined anytime soon?

BTW, a Pinephone running WebOS is very tempting. WebOS was so much ahead of its time it’s still ahead of ours.

(comment deleted)
Anyone know of any good Linux phones. Mine is going to be dead soon and for a while I liked Pixel because it didn't have all the Samsung or Motorola or anytime else bloatware, but with what Google has been doing I'd prefer a full Linux phone.

I've looked a Librem but $1500 is kind of hard to justify when I have all my other expenses that come with a young family.

Anyone have any suggestions?

The Pinephone is a nice phone, but still in beta and underpowered to say the least.
But it is $200 haha but yeah agreed on poor performance

Though it was cool installing/running VS Code on it

I'm a Moto G-Series guy... still running my G7.
It's so cheap, just get one.
The environmental impact of buying something they'll toy around with for 5 minutes and never touch again isn't cheap.
The environmental impact of having no alternative to the duopoly is much larger.
For your use case i would recommend getting an android phone that has good support for a custom rom of your choice. IMHO all the straight-up linux phones are not capable of replacing a smartphone for everyday use.
> I've looked a Librem but $1500 is kind of hard to justify

Huh, did you accidentally look at the price of a Librem laptop? The Librem 5 phone USD$800. (But $800 is still kind of hard to justify, especially with "wait more than a year").

Maybe they're thinking of the Librem 5 USA? Priced at $2k, also pretty hard to justify even if I do kind of admire what they're trying to do with it.
I would suggest an Android One or econo-level Google Phone using adb to delete google bloatware, choosing a qualcomm or something that looks not totally encumbered so it might be possible to transition to Linux when the 3 years are up.
> Motorola [...] bloatware

What do you mean? I've had a couple Motorola phones from the G series (G1 and G4 and currently an AndroidOne) and AFAICT it's been pretty much stock Android apart from:

- an app for support enquiries (with diagnostic functionality for the screen, sensors etc.) which I've actually used before,

- one app you could opt-in to to get something like product newsletters from Motorola (I don't care for spam)

- and since the AndroidOne an app for audio EQ (which I don't really need/use).

All of these don't even use 80 MB of the internal storage (64 GB) so I don't really know where you get the "bloatware" from.

It’s bloat because those don’t need to be there.
It just seems strange for you to single out Motorola which is one of the companies with the least bloatware unstalled.
Those apps stay out of your way if you don't wanna use them and they barely use 0.1% of the internal storage.

I'd hardly call that bloat given the "Samsung Experience" I once had on one of those GalaxyNote 10.1 tablets. It was slow (basically everything in any app lagged), the OS was a non-upgradable Android 4.3 or 4.4 with heaps of Samsung BS constantly running and replacing standard apps (e.g. the browser). Also that tablet one day just would not charge anymore after ~1.5-2 years of fairly light use (reading, some video streaming, things like that).

Only options I know of are a couple crowd funding ones, and Linux is a secondary option on them (they are Android primarily). The ones from Planet Computers can run sailfish, and I've read that FXtec is coming out with a new model that supports ubuntu touch as a first class citizen.
I have been using the officially supported Sailfis OS on Sony Xperia devices for years as my main device:

https://jolla.com/sailfishx/

The idea is you buy one of the supported Xperia phones, buy a Sailfish OS license and flash it on the phone. The license you bought pays for continued software updates (new features & security fixes) as well some external software they integrate (predictive typing support & android app emulation support). Yeah, if the native Sailfish OS apps are not sufficient for you, it can also run most Android apps via an emulation layer.

So while Sailfish OS is not fully open source unfortunatelly, it's at the moment IMHO the best mobile Linux distro available on easy to get modern hardware.

Ideally over time fully open source distros and more open hardware take over but till then Sailfis OS can serve as a good "bridge", AZ it has since the Jolla company taking care of it was started by the ex N900/Maemo/MeeGO crew.

Also note that Sailfish is fairly inexpensive. My current Sailfish phone (Xperia 10) cost me ~$200 USD new including the license from Jolla.
I am using Sailfish OS with Sony XA2. It's my daily driver and has been for years. Jolla still releases updates with new features and UI fixes. They also have been upgrading their Android support and most of the apps I care about work well.

Going to buy the Sony 10 II once they release support for it.

Same here. Sony Xperia 10 plus and sailfish os. Daily driver, used all the time. I also have Cosmo Communicator in a drawer - it could be useful but not having camera on phone in linux is a no go.

I am trying to get linux on my phone since HTC Blueangel (Ångström linux was the first booting from SD card) and it was always barely usable.

Sailfish works so great that it was no brainer to pay those 50 euros for license. Fingerprint reader, camera, bluetooth (as common painpoints for linux on phone) are all working flawlessly. I had to reverse 1 android application that I really need (banking app) and remove safetynet checks but beside that, zero issues. And I dont any other application from android ecosystem that I dont have here as native (and far less battery draining) version.

I hope that Jolla will continue its great work and I really hope they start supporting some other phones like Huawei. I am sick of google and its toxic, spyware driven ecosystem.

I dont have issue paying for useful application or operating system. But having operating system that is preinstalled with google spyware and than 99% of applications you try to install try to steal your data (not to mention that they all ignore GDPR) is not acceptable.

I have currently Sony XA2 with Sailfish OS. Just ordered Xperia 10 II so I have it ready when they publish the official version for it. I have been using Sailfish as my daily driver since the original Jolla phone was released in 2013.

The only issue that I might see as a blocker for some users is that the Android layer is not perfect. It does not support Bluetooth properly so pretty much any Android app that connects to some external peripheral like smart watch will not work. Additionally, you might need to install for example microG to run some apps via the Android layer.

> I've looked a Librem but $1500

It costs $800, not $1500.

I enjoy the Pinephone, but it certainly has its issues. I’d kill for better performance; it’s very close to usability. I also have some issues with the hardware (it seems my battery has stopped working entirely, recently.)

On the other hand, there is one confounding software issue that I think makes it the hardest as a full replacement for a modern smartphone: push notifications. An equivalent for APNS or FCM that allows for relatively low power consumption, low latency push notifications would need to be devised, financed and actually adopted. It’s nice to imagine a world where apps on phones are like how apps on desktop are and just keep, for example, active WebSocket connections at all times, but this doesn’t appear to be something practical with current technology.

Maybe federated, E2EE push notifications could come into existence? A sort of ActivityPub of pushes... It’s a pipe dream, but one can hope.

> A sort of ActivityPub of pushes...

Now that you mention it, ActivityPub itself wouldn't be bad for this!

Conversations.im does jabber on Android without push notifications. It just leaves an idle TCP socket. I haven't noticed latency issues with that, but I'm not a heavy user
Having each app run in the background and manage its own notifications can work, but also causes battery life issues with more apps.
I mean, if you just have a select() command blocking, I don't see why having a 100 sockets open would be any different than 1 socket.
You need to keep the connection alive, which means regular traffic, which means regularly sending data, which needs energy. More connections mean a) more traffic and b) unless you add some coordination mechanism, waking up the modem more often at random times, which is energy-intensive in itself.
I see, we need some coordination mechanism, and at that point, why not just use a central server to manage notifications :)
> unless you add some coordination mechanism, waking up the modem more often at random times, which is energy-intensive in itself.

You just need to coalesce timer wakeups, which Linux supports already at the kernel level AFAICT.

Part of the problem is that Linux desktop apps typically aren't designed to conserve on network usage and/or don't have mechanisms to do so without a push server.

For example, Matrix clients on Android/iOS will stay suspended entirely, then will wake up when you receive a push notification. Desktop clients, on the other hand, will stay running and receive every message, even if they're not messages that you necessarily care about/that would notify.

The protocol could in theory have an in-band way to tell the server "hey, I really only care about notifications now, could you only send me those?" but currently it doesn't. By contrast, most Android/iOS apps can rely on push notifications and suspend completely when they're not in the foreground - meaning they're not receiving anything but what's important enough to notify about.

> For example, Matrix clients on Android/iOS will stay suspended entirely, then will wake up when you receive a push notification.

Doesn't the protocol already need to do something to support that? Presumably it's an out-of-band notification, and they needed to add support for that. If they already added FCM an APNS, they'll have to add something to support a 3rd OS. It could be in-band or out-of-band, but either way sending a message on a TCP connection is really all that is needed.

As a side note, Jabber did add an in-band way as you suggest, but then also had to add OOB signalling because Apple disallows open sockets for background apps.

> Doesn't the protocol already need to do something to support that? Presumably it's an out-of-band notification, and they needed to add support for that.

Yep, it does, so you could do this; the problem for the Linux desktop is just that there isn't a standardized out-of-band push notification system yet. (I saw another commenter mention UnifiedPush, which sounds interesting - in any case it's not widely supported yet.)

> As a side note, Jabber did add an in-band way as you suggest

It's been a while since I looked into this in detail, but IIRC Jabber generally doesn't have a server-side way to determine which messages should notify? As I recall, the protocol was designed with smart clients and dumb servers in mind, though I'm sure some of that has changed over time - but that design decision doesn't lend itself as well to clients on battery-constrained devices.

Although with that said, the fact that you aren't required to be in the same set of MUCs on every device helps in battery-constrained devices; for example I only stay joined to the rooms that my friends are in from my phone, unless I need to join another one temporarily.

Client state indication helps for things like suppressing presence updates, but it doesn't go as far as to e.g. let you only be notified for messages that would highlight you in a large MUC, right? So either you're joined to the MUC and receive all messages in it, or you leave the MUC and don't get notified about any of them.

Although now that I read the spec again, it seems general enough that maybe it could be used to implement behavior like that? I don't think I've seen any servers that do, though.

Prosody has an option for filtering MUC messages with mod_csi_battery_saver (which is the currently recommended community module for CSI), I don't think ejabberd does though.

> groupchat messages must set a subject or have the user’s username or nickname mentioned in the messages (or be encrypted) to count as “important”.

The radio is a massive battery draw, so you want it to be off as much as possible. The built-in push notification service will batch low priority packets and send them all alongside the next high priority one it receives.
Telegram is pretty good at going ding when there's a new message.
UnifiedPush is something that's looking to address this.
The lack of a self-hosted push notification system is a massive hole in the user privacy story for users of all phones.

I dream of being able to configure my phone (be it android, linux, or ios) to proxy all communication with push services through a host I control.

At the nitty-gritty implementation level, I kind of hope the LinuxPhone world adopts Matrix as a standardish notification transport.

MQTT seems way more suitable for push. Maybe some system/os level integration needed to make it efficient?
Without mass-market and the scale that comes with it (including returning income from existing users) it's near impossible to provide the same nice UX as an iPhone or a Google-riddled Android phone.

That's the whole problem with most projects and why they neither produce acceptable usability nor a an acceptable price point. It's not that it's not technically possible, it's just infeasible without becoming yet another android vendor.

Even just having an 'alternative OS' on existing hardware is a non-existent market, and those projects try very very hard. Adding the hardware problem in to the mix makes it harder, not easier.

I’m not very concerned with it competing per se; they managed to put out a fairly compelling package and sell through 30k units. Yeah, they won’t be fabbing custom ARM cores any time soon, but it ain’t nothing.

Open source software is a slow burn. It takes time, but projects can grow for a very long time even when things seem dormant, and then suddenly seemingly out of nowhere things are actually pretty good. I certainly was impressed with how well they were able to bring GNOME onto phones so far.

It’ll always work best if people don’t consider them to be on the same level as commercial software; it has a different appeal, but one that should not be discounted. Just as there have been so many “year of the Linux desktops,” so to have there been many incorrect calls about the death of it.

I keep wondering why nobody just supersets Android. Even just having an Android phone which is designed to be repairable and have drivers in the kernel tree so it isn't tied to a specific kernel version, people would pay for that.

And then on top of it you can add all of your Google-alternative libraries and services, which need not be perfect immediately to get people to use it because they can start off running Android apps and buying it for the open hardware. But as you get more users, the software improves too.

The mass market does not care about repairable hardware or open drivers.

Using niche open SoC will make the device slower and/or more expensive. The mass market cares about price and performance.

> The mass market does not care about repairable hardware or open drivers.

The evidence for this is that people didn't refuse to buy the first generation of unrepairable devices. Because nobody told them they were unrepairable until they broke, and by then they already owned it. And by then the unrepairable devices were all you could get.

How many people would buy a phone if you could honestly market it as lasting for ten years instead of three and having a lower repair cost when you drop it on the concrete?

> Using niche open SoC will make the device slower and/or more expensive. The mass market cares about price and performance.

The mass market doesn't care about performance on mobile devices. They can't even tell the difference. It's all marketing. Even the phones that are actually faster on paper aren't faster in practice when the "slower" one still does everything instantaneously.

Agreed.

Even on the deskstop, linux arguably has a less stable GUI. At least on the desktop you can drop into a CLI and fix things. Even if you don't know what you're doing, you can google your way to a script and copy + paste.

Mobile and touch is 100% GUI dependent.

I have a librem 5 and it seems quite a bit smoother than the pine videos I've seen.

In some pine videos I've seen people swiping multiple times before the touch is detected or an action is taken.

I don't know if purism has tighter driver integration, or if the hardware is just faster.

I haven't figured out how to get good apps though.

I found this ubuntu touch video on another type of phone (?) and it looks like stuff is out there:

https://youtu.be/Nf_DnsZHwdE

Someone at Purism once said the issue was related to memory IIRC. So it’s possible that is a piece of the puzzle.
RAM is almost 3 times faster indeed, but it's not the only thing that matters (CPU clock and double the L2 cache, much more powerful GPU, faster eMMC, better thermals). That's not "tighter integration", that hardware is simply more powerful.
Mozilla has mobile style push notifications for Firefox and you can just leave eg a mail client running in the background using the IMAP IDLE feature for mail. As long as you restrict that sort of thing to just a couple apps it's fine.

More than push notifications the WiFi firmware needs a feature to whitelist IPs that can wake the phone from sleep so you get instant notifications from services.

Of course not. Nobody wants to run that on their phone except a tiny few. Android isn’t the same, but even then nobody knowingly wants to run Android.
> but even then nobody knowingly wants to run Android.

Nobody, eh? Not one person?

I knowingly want to run Android - or something else Android compatible, because programs that I use on my phone are requiring it.
> Android isn’t the same, but even then nobody knowingly wants to run Android.

What are you smoking? Android is the most popular OS in the world. It has millions of applications in PlayStore and outside of it. It has millions of developers creating software for it, huge companies contributing to it and best in the class development tools.

To be clear: I don’t think anyone who is interested in Linux on a phone wants to run Android.

It is Linux but not in any real way. It could just as easily be not-Linux.

Openmoko failed for so much more than financial reasons. It's been a while since I've thought of that fiasco, but my memories:

* The leadership was terrible. They had no clue what it took to make a mass market product. They just assumed that they would sell hardware and a community would provide a working operating system and apps magically.

* The hardware was buggy. There was one issue that if you let the battery drain fully, you could not get the phone to recharge it and had to use an external charger. Another issue was that the GPS receiver was accidentally surrounded by metal, so barely functioned. There were all kinds of problems with the radios in the early days. Oh, and that touchscreen -- I guess it was typical of pre-capacative touchscreens, but it was hard to use without a stylus and impossible to hit widgets near the edge of the screen.

* The hardware was massively underpowered (compared to competitors) by the time the Freerunner actually shipped. Weak CPU, little RAM, 2G cellular radio in an era when 3G had become standard, so like 5kbps max data transfer.

*Because of the failure of Openmoko leadership, the community fragmented a hundred ways. This meant that there were a dozen or more "distributions" of an OS for the phone, and none could do more than one or two of the things a typical user wanted in a phone at that time. Then there was finally a big bloated distribution (SHR if memory serves) that packed in enough libraries to make a more or less "usable" device, but doing so maxed out the phone's meager storage and RAM, making it nearly impossible to do anything "smart" with it.

* Once again, in absence of strong UX leadership, the community resorted to dumping X11 apps without modification on the tiny screen. Think impossible to read fonts and dialog boxes that ran off the screen with no scroll capability. The vast majority of devs seemed to only use it by hooking it up to a computer via USB networking and SSHing into it.

As a technical user, I could live with this. Kinda. Sorta. Using it was an exercise in masochism. I was embarassed ... no ... humiliated when a nontechnical person compared their iPhone with the OpenMoko that I had talked up so much (before receiving it).

I had planned to destroy the phone in some fantastic fashion (e.g., melting it with a laser) as soon as I got a real phone. But by the time I could afford an Android, I was so done with it that I just dropped it in the trash (after wiping it, of course).

>I was so done with it that I just dropped it in the trash (after wiping it, of course).

next time you have an urge to throw a battery-equipped device into the trash(!?), consider donation.

you may not like the device but someone out there may be thrilled at the chance to de-solder some useful components.

Most of the hardware I've ever owned I still have, either in working order or as component boards decorating my walls. I recall my emotion when disposing of the Freerunner was that it didn't deserve an epic funeral (the laser) or even the honor of being properly disassembled.
The problem with throwing any kind of device that includes a lithium-ion battery in the trash is that lithium-ion batteries tend to catch fire when crushed. Like, say, in a trash truck's compactor.

Everyone: please do not do this. Dispose of your battery-powered devices somewhere that's equipped to handle them.

(Now, the Openmoko phones had a removable battery, so it's possible you didn't toss that out with it. Then it's "just" e-waste rather than explody e-waste.)

Yeah I had one and I donated it to a university computer science department in South America. I'm not sure if the students ever got much use out of it but I was happy to pass it on to someone who might have fun tinkering with it.
It might also be illegal to throw away lithium batteries in the trash, depending on where you live.
Or at least send all electronics for recycling. Those precious metals don’t belong in landfills.
From the same era, I had Nokia's N770, N810 and N900. All three were based on Linux, and they were great.

I also had the Palm Pre and Pre 2, both of which were based on Linux (and apps were made with HTML, CSS, and JS in 2009!), and those were also great.

After getting rid of my Freerunner, I had one of the the first Android phones (HTC?) briefly, then got a Nokia N900. I liked the OS, although it's my memory that it wasn't as fully open sourced as the OpenMoko. I did enjoy it, even though the device always felt too thick to be comfortable in my pocket, and the touchscreen cracked badly after a minor impact. I ended up using a cheap Nokia candybar phone for a year or so, before eventually getting another Android phone.

I wish Nokia had continued developing the Maemo OS.

Not only were the Maemo/Meego devices based on Linux, but they embraced a lot of desktop standards. Telephony/messaging all went through Telepathy, UI was GTK under Maemo, then QT under Meego. The app store was just an apt/dpkg frontend.
Man I miss those days.

I've still got an N770, N810, 3x N900s and an N950 developer device that I run battery maintenance on every 4 or 5 months.

Had a Pre 2, and still have an HP Veer. Making modifications to the system to customize or change things was so easy and straight forward, I really miss this; though building LineageOS / AOSP for supported devices kinda fills this niche for me now.

GPS receiver being surrounded by metal without some sort of antenna just seems like some sort of crazy bad design skill that even software engineers may know is awful… so, how on earth would this thing have ever shipped at all? Weird to call that an accident?
I recall that, even if only with disgust.

I've also had a Freerunner, in theory the ideal pocket computer with Linux on it.

Practically, you could barely have a phone call with all the echo going on and navigation-wise it took _ages_ to find its GPS fix (no AGPS iirc) - the shielded antenna, mentioned down-thread, probably didn't help.

And yeah, whatever you had on screen was probably way too small to be read or interacted with :(

I think i got rid of it on eBay after a few weeks...

> They just assumed that they would sell hardware and a community would provide a working operating system and apps magically.

No, not really. They had an exact opposite problem - they made several iterations of the default operating system, starting almost from scratch at each iteration, which burned quite a lot of energy and willpower of the community, which in turn focused their efforts on alternative distros like SHR or QtMoko.

> had to use an external charger.

Fortunately, you could use a standard Nokia BL-5C battery with the Freerunner. You didn't even need to have an external charger, just a charged spare battery would suffice. Also, IIRC this was an issue only with the first batch (so a small minority of produced phones).

> Another issue was that the GPS receiver was accidentally surrounded by metal, so barely functioned

Not really. The GPS problem was because of microSD clock interference. You could solder a resistor on microSD slot pins or use a software workaround that clocked the reader down enough to not interfere.

> it was hard to use without a stylus

I have programmed quite a lot on that touchscreen with OSK without using a stylus. It worked fine, but yeah, it would be much better if the screen weren't recessed (N900 did that well, that touchscreen was excellent).

> so like 5kbps max data transfer.

More like 100kbps.

> Then there was finally a big bloated distribution (SHR if memory serves) that packed in enough libraries to make a more or less "usable" device, but doing so maxed out the phone's meager storage and RAM, making it nearly impossible to do anything "smart" with it.

Uhm, no? SHR was a light OpenEmbedded-based distro with E17-based window manager. It was one of the snappiest and most reliable distros for that device, I used it for a few years as a power user and was very happy with it. And maxing storage wouldn't be an issue anyway since you could boot from an SD card.

Eventually I've switched to a N900 because of the Freerunner's slowness. If Glamo wasn't so slow I guess I would use it for a few years more before switching. I still have it and it still works, although I don't really use it anymore.

Whoops, good call, that should have been 5kBps. GPRS had something like 85kbps theoretical maximum transfer speed, but the fastest I ever got anything to transfer over cellular was about 5kBps. Still, even in that era, that was absurdly slow, and unusable for anything web-related.

> SHR was a light OpenEmbedded-based distro

I might have been thinking of a different distribution. There was one that brought in all of the GTK, Qtopia, and Enlightenment libraries, so you could run pretty much anything that could compile on the Freerunner, but it was quite slow and consumed most of my SD card (which at the time was probably only something like 1GB).

I guess if you were a hard-core hardware and systems hacker, the OpenMoko was an acceptable platform. For anyone else, it was a terrible product and the company that made it was obviously doomed to fail.

Maybe if it had come out at least 2 years earlier, it might have had some hope of carving out a sustainable niche, but by the time it did come out, the expectations set by iPhone and Android made it impossible to find a product-market fit, even among open source lovers like me. Maemo, while if memory serves not fully open sourced, was far closer to something sustainable, but then Nokia voluntarily imploded :-(

> They just assumed that they would sell hardware and a community would provide a working operating system and apps magically.

This is exactly how it works with Pinephone now, and it works really well.

I'm hoping that when we have this conversation, we understand that the business of Linux Phones is a much tougher business to be in than average, and not do the thing where we nitpick e.g. particular usability features, as if that were the thing preventing Linux Phones from being popular.

The real force against them is, of course, the most well funded businesses (perhaps monopolies) who have a vested interest (or at least, strongly believe so) in not allowing the level of freedom on your machines that a Linux Phone would provide.

He forgot montavista on the Motorola back in the days. Must say that was a hack of a good system for that time.
What's the benefit to a true Linux phone over running LineageOS? LineageOS at least is essentially Android, so the ecosystem is there.
I can't think of an Android app I'd prefer over a Linux alternative.

Edit: Maybe Google Maps, but that's it.

What would you like for Email on your phone from the Linux world?

A web browser?

Contacts app?

These are essentials for the phone.

What about an RSS client?

> What would you like for Email on your phone from the Linux world?

There seems to be an adaptive version of Geary now, which looks nice though I haven't used it yet.

> A web browser?

GNOME Web works pretty well in my experience, though it could be faster and it's still missing WebRTC support.

> Contacts app?

GNOME Contacts seems to work well enough on my Librem 5 - synced straight away with my Nextcloud instance, vs. on Android where I had to find a third-party app to do that.

> What would you like for Email on your phone from the Linux world?

I actually run mutt on Android already (yay termux), so should be fine.

> A web browser?

What's wrong with Firefox or chromium?

There are lots of very good open source alternatives (K9 Mail, OsmAnd, Element/Matrix, Firefox of course, etc.). Take a look at f-droid.org.
The parent was saying he wants Linux (as in desktop) apps on his phone. My point exactly is that they are much worse than Android ones in mobile scenarios.

Many would need UI to be rewritten from scratch.

>What would you like for Email on your phone from the Linux world?

Thunderbird

>A web browser?

Firefox/Chromium

>Contacts app?

kAddressBook

> Thunderbird, kAddressBook

Interface totally unacceptable on mobile.

> Firefox/Chromium

Android has both

I greatly prefer firefox to chrome on android. Especially reader mode.
If only there was a Firefox for Android.
Not sure if that's sarcastic, but yes there is.
It is sarcastic.

Person who advocates for Firefox on Android doesn't even know that it is already there.

You misread the comment.
Yep, apologies to OP. I thought I was replying to different comment.
Android apps are becoming more and more dependent on the closed source blobs that Google ships with Android devices, so some apps might not work without them. Although microG exists, it isn't perfect and some apps still won't run with it.

A Linux phone can forgo Google's userspace libraries for Android, and if they're really needed, Android can just run in a container like with Anbox. Instead, it can ship with the typical GNU, busybox or ulibc userland that most Linux users are familiar with.

Also, you can use pretty much any language or runtime to write apps for Linux, while you're stuck with the Android Runtime, Android NDK and Java compatible languages and runtimes on Android.

You can write most of your app in any language, it's only some UI and startup code that needs to be in the javalike languages.
It's still a nightmare to use say, Python, to write Android apps.
Your comment doesn't describe any benefit for users. Maybe a benefit for some developers who consider ideological technology choices a benefit. But users gain nothing.
(comment deleted)
(comment deleted)
> Your comment doesn't describe any benefit for users

Read the question that was asked and then look at the address bar to see where it was asked. Most people on HN are familiar with Linux or are developers themselves.

But either way, I disagree entirely. On a platform like webOS or Maemo, users benefited greatly from running traditional Linux userlands. There were millions of users who got to enjoy a plethora of apps and the benefits of extensible, hackable hardware and systems.

Preware, for example, had thousands of apps, extensions, and scripts available to millions of users. Users were able to take full advantage of what their hardware and systems were capable of, instead of being limited to whatever Apple or Google allowed them to do with their APIs.

The platfom gets more and more siloed/hostile to interoperability
As LineageOS is just a rebuild of the Android open source bits it's still Google that dictates the overall direction.

Sure, LineageOS can patch things out, but keeping the patches working over time as Google churns out new Android versions is far from simple.

Even LineageOS hardcodes calls to Google servers (location, network portal detection). To get around that you can install LineageOS with MicroG, or use a true Linux phone.
So how would a Linux phone possibly gain momentum?

I have no idea how it solves any job to be done for almost anyone. Does it have the apps I want, including for my bank? Does it have a great camera? Does it have fantastic battery life? Right now, the answer to all of that is definitely not, and it becomes a chicken and an egg problem, where you don’t have the investment to build all that.

And don’t give me the obvious and trite answer of “privacy”. Because we have been bombarded with ”privacy” for years, and yet Google and Facebook keep raking in the cash and the users. I see no evidence the vast majority of people care at all. (And even then: prove to a user, or me for that matter, that a cobbled together Linux stack is in fact more secure than iOS. Or, explain how Linux magically protects me from all the ad trackers on the web.)

You may have a point, but Android and Apple phones are also, quite frankly, garbage. I open the maps app on my Android phone, and I get a bunch of ads littered around, for places like 7/11, even for locations that are closed! I have a 64gb phone and the map for the city I'm in could be quite easily downloaded, but nope, it must contain Google's malware.
There's a bunch of offline maps apps for Android, I use maps.me for example.
You can download maps in the maps app. I download a pretty large area because I drive a lot. Not that it takes away from your point, but at least there is that.
This is why I love the offline ad-free maps of OpenStreetMap. In underdevelop areas I may need to refer to Google to find a location, and when I get there, I upload the location with finer-grained details and now I can find the place again and help others.
I recommend Osmand and Mapy.cz as OpenStreetMap-based alternatives.

No competition for car navigation (live traffic data), likely worse for shop data, but clearly superior for basically anything else. Especially cycling/hiking.

There is also plenty of other OSM-powered navigation apps.

> And don’t give me the obvious and trite answer of “privacy”.

Note that small pool of people actually caring may be enough. See whoever buys Pinephone and Purism-Librem.

> Note that small pool of people actually caring may be enough.

Everyone heard about Facebook's data leaks, everyone knows Google collects tons of data. Their revenue show people don't care.

Exactly this. There are many predictable comments in this thread about why they think mass adoption of Linux phones won't happen. I even agree with them, but they are missing what I think is the point. I don't care if they take over the world; I want a means by which those of us that do care about privacy and openness and control can opt out.
Interesting situation here. Whats the name for oposite chicken-egg problem. You mention that linux phones do not support banking apps and google even being antonym for privacy, has still increasing user base. But we are in situation where you must use google to be able to use banking apps. Vicious cycle?

For banking aps to work you must install them from play store. To be able to use play store you must agree with google TOS. If google dicides your evil, you will not be able to use banking app anymore :(

> If google dicides your evil, you will not be able to use banking app anymore :(

It's like driving a car: there's a tiny probability to get killed, but everyone is driving nonetheless.

The difference is that when driving a car, the risk is from the fallibility of yourself and your fellow drivers, not from a single giant megacorp that can decide to reach down and mess with you.

(But by the way, we shouldn't accept car fatalities as inevitable either! They're far more likely still than they should be. Street design and infrastructure priorities can slow traffic down and encourage people to use safer forms of transportation when feasible. Just look at the Netherlands.)

Being good enough is enough. Linux on the desktop could be better, but for more than a decade it has been good enough. If linux phones became as usable as linux on the desktop, that would be good enough.
Depends what you're looking for I guess. Linux desktops can be highly configurable and give you an environment that's not attainable on any other OS. Think like tiling wms & polybar/rofi/customized terminals.

Unless you mean "how well is Linux able to create an experience like windows." Which isn't a metric I particularly care about, but probably means more to non-technical users.

I've tried and tinkered with all but the newest pinephone release. I sucks vs a similarly priced android phone but its working way more than I ever expected it to work this early on.

Hopefully we can get some solid modern hardware support in a linux handheld eventually. It would be nice if Qualcomm could open up a few things and make it easier for open source phone hobbyists to get things going.

The Pine64 community has been steadily growing and at least gives me confidence in what they can do with the older hardware the pinephone is working with.

> It would be nice if Qualcomm could open up a few things and make it easier for open source phone hobbyists to get things going.

Is there any incentive for them to do so?

A Linux smartphone is like a Linux car. If Linux is the important part to you, your priorities might be a bit off
I think the analogy is a bit off. I don't expect to mess around with my car the same way I do with my phone. A messed up software setup in a car can actually kill me instead of just having to restore from recovery in a phone. Purpose of phones have expanded greatly from just making calls and receiving messages to being in the center of our digital activities which means my expectations there have greatly grown and Linux fills the gap of freedom/flexibility. However, irrespective of the software, a car's overarching purpose is still getting one from point A to B; sure, great if I can also ssh into it but that is way lower down the usual list of things you expect to do with your car.
Why would it have to be someone's "most important priority"? That's such needlessly superlative phrasing.

I would choose a Linux phone because I want a platform that's not controlled by a single profit-drive company which is so huge they are essentially unaccountable for any harm they do to their users, developers, or even society at large. It's not the "most important priority" in my life or anything, it's just something I'd like.

It sure is needlessly superlative phrasing, @esperent. And in fact if you look closely you'll see that that phrasing was not actually used in the comment you replied to. I know it can be hard to see down to everyone else's level from on top of your high horse though.
On the topic of Linux phones, I have expressed my desire for more powerful hardware in the past. However, when I think about it, starting with modest specs means that things would have to be made to work properly on those. That means eventually when we move to more powerful hardware, the performance would be that much more better. Atleast that is how I imagine the silver lining to be.
Signal doesn't currently support them or allow third party clients to connect to its servers
This is false. They don't allow using the Signal name in third party client names. But third party clients are absolutely possible. The first one that comes to mind is Pidgin on the Punkt phone.
Smartphones = bunch of untrusted apps = security requirements

Is there an app store + readily available sandboxing solution that allows people to install some random guy's game on their phone without getting their credit card stolen?

Yeah, hate it if you want, but Ubuntu Snaps.
If you convince consumers to switch over to FOSS for ethical reasons like surveillance and avoiding influential algorithms then you have something compelling. But at the moment the world is glued to proprietary social media.

I'd love if users would flee Facebook, Instagram, TikTok, and Twitter. They are such simple concepts that can obviously be replicated, but those established companies already have the users at their control.

There needs to be focus on convincing users to move away from these services. There also needs to be more funding for social media alternatives. Rather than FOSS developer attention going into reimplementing Android apps from 2011 or God knows what these people in the Linux phone community are thinking.

Those are some pretty big steps before we even think of Linux for phones, assuming ethical reasons are the interest.

I don't understand this interest in Linux on phones. It doesn't make a difference for anyone outside of the tech hobbyist realm.

This is kind of anecdotal to Meego, WebOS, FirefoxOS and all the other forms of them that happened in the past.

I don't think that people will use the phone solely because it's Linux. They'll use it if it can solve their tasks at hand.

Personally I think that Linux will never take off if we won't create financial incentives to make and deploy apps, additionally to fix the mess that's user rights/permission management in GTK and QT.

Currently there are no working native alternatives on Linux, libhandy is still a joke for simple tasks like a fading sidebar (or even swipe gestures!) and QT can't be used for anything serious due to their license.

My hope for servo, FirefoxOS and WebOS was that there will be some day an alternative to Electron that's focussed on permissions and sandboxing, and that allows to be externally configured and is more modular on the environment (VM) level. Basically like a settings app on Android that can toggle GPS, toggle Networking access, toggle Camera access etc.

Layouting-wise CSS has won the masses. Everyone that tries to reinvent it for their own opinionated views has failed and given up (including me who spent over 6 years developing an isomorphic App Engine full-time). It's time to let go. The web has won and there's no point in denying it.

React has won most of the developer crowd because of React Native and convenience of staying in the same language and more importantly, being able to reuse the same code architecture.

I think in order for Linux to succeed there has to be a compile pipeline (and runtime?) that allows to deploy those apps easily. If that's not possible (due to whatever reasons) the platform will never really take off.

Privacy and Security and Openness is just no argument for the average user that doesn't care and just wants to get their tasks done.

"I don't think that people will use the phone solely because it's Linux. "

Of course they will. It is just that hardcore linux people are not enough, to bring enough money in.

" Privacy and Security and Openness is just no argument for the average"

And it actually is a argument for average users, it is just that their priorities to get their tasks done are higher, which is rational.

And since their tasks usually involve whatsapp and co. they won't be able to use a Linux phone.

I think you’re right. I don’t understand why more UI toolkits aren’t adopting CSS for layout, especially the newer CSS grid. It’s so much simpler than alternatives like TKinter.

I get the memory/performance issues with Electron. Those can be solved. I’m able to open large XML files in VSCode that simply crush other apps like Notepad and XMLSpy.

What is this idea that Qt can't be used? You can license with the community license under LGPL. If Qt can't be used with an open source license, then nothing LGPL can use open source commercially, but the point of LGPL is to not scare away businesses with viral copy-left code. Yes, you have to deliver your object files and a Makefile, et c. Also, you have to open source your Qt library edits, but who needs to do that for business reasons? Are Qt library edits the industrial secret of your business? Probably not. Since when is letting other people run the linking stage on your code tantamount to giving them the keys to your business?
> What is this idea that Qt can't be used? You can license with the community license under LGPL.

The Terms and Conditions on their website [1] say otherwise, especially "APPENDIX 4: SMALL BUSINESS AND STARTUP". No, sir, I'm not touching that library for anything I want to make money with.

[1] https://www.qt.io/terms-conditions/

> I think in order for Linux to succeed there has to be a compile pipeline (and runtime?) that allows to deploy those apps easily. If that's not possible (due to whatever reasons) the platform will never really take off.

I agree. An important difference to the situation a few years ago is the availability of actually viable cross-platform development frameworks like React Native, Flutter, Capacitor,...

If all I need to do in order to support a new niche OS is configuring one additional build target, I might just go for it. Otherwise, certainly not.

Linux desktop is nowhere due to the thousands of distributions and disparity in development effort. A linux phone is simply unthinkable. Biggest strength in android/ios is the centralized leadership and vision. This enables consumers to make an easy choice, which attracts developers, who all seek predictability and maximum exposure.

But even if the linux community centralizes around a singularity, it will still be no-compete, since android/ios have superior momentum. You can't race against Bolt when you have a late start and Bolt is already 5 meters from the finishing line.

What it would take is a paradigm shift. Apple sunk Nokia (and the whole mobile world) by innovating.

Android/ios are locked down ad platforms running on superior hardware that the user merely "rents" from the supplier. A device that features an unlocked OS that doesn't limit itself to its form factor is going to drown everything else. Android already has begun to do half of that - it has initial desktop mode support. Some manufacturers like motorola and samsung have their own awesome-looking take on desktop mode. It's only a matter of time consumers embrace this and throw their useless laptops. Current phones have as much or more ram than my last office PC, so think of just this: hook an usbc cable to a random monitor, presto - desktop computer in your pocket you can do work on.

Just take a look at this demo https://www.youtube.com/watch?v=QIh07q_9Ib0

> Linux desktop is nowhere

this is as untrue as "Year $YEAR will be year of Linux on desktop" was so far (posting from laptop running Linux)

> A linux phone is simply unthinkable

Linux phones exist already

> You can't race

It is not always necessary to win completely and crush competition to reach goal

Linux phone exists, but they are super niche product bought basically only by people who want Linux on phone specifically.

They are not competitive in general market.

Oh I agree. I was responding to "A linux phone is simply unthinkable" that is ridiculous and blatantly untrue.
>this is as untrue as "Year $YEAR will be year of Linux on desktop" was so far (posting from laptop running Linux)

This will be untrue when linux will have noticeable* share of installs. Not just you and some other tech guys who amount to grand total of 2-3% of desktop systems.

[*] - at least 10-15%.

Who cares if its marketshare is above some arbitrary number so long as there's enough interest to keep development going? It doesn't matter to me what other people are using, I find Linux desktops to be the most comfortable thing for me, so I use them!

If other people are satisfied with Windows and everything that goes along with it (forced auto-updates, ads, etc) - fine! You do you. I'm happy with what I have though.

I haven't touched windows as a software developer since around 2008, so I don't know what's going on in there really. So long as I can launch games in my steam lib I'm fine.

My main working OS was Ubuntu (~2006-2010) and Arch(20010-2013). Then I got tired of my Android phone and switched to iPhone and mac book. (if that matters somehow)

As for you question - you were saying, quote:

>this is as untrue as "Year $YEAR will be year of Linux on desktop" was so far (posting from laptop running Linux)

when answering to

> Linux desktop is nowhere

I was merely pointing out that your preferences has nothing to do with general situation. And the general situation is that Linux is almost nonexistent on desktop. Hence no 'Year $YEAR will be year of Linux on desktop"' being not true so far. The phrase was and is about linux taking some meaningfull portion of market for itself, not about a you using it. Obviously linux was on desktop since 90s

You do you, nobody is trying to take it away from you.

> you were saying, quote

I mean, you're not quoting me there, but... :)

> Hence no 'Year $YEAR will be year of Linux on desktop"' being not true so far. The phrase was and is about linux taking some meaningfull portion of market for itself, not about a you using it.

Eh, the phrase has always been ill-defined. It could be interpreted as talking about marketshare - but it could also be interpreted as the point where Linux is technically as or more capable than its competitors as a desktop OS. That point has come and gone.

(And really, the phrase tends to be used more as a potshot at Linux users than anything actually meaningful.)

> And the general situation is that Linux is almost nonexistent on desktop.

It is not the same as "Linux desktop is nowhere"

2% in total population is tiny but not "nowhere".

And in some populations (like programmers) use is much higher, 25% according to SO survey.

See https://en.wikipedia.org/wiki/Usage_share_of_operating_syste...

>And in some populations (like programmers) use is much higher, 25% according to SO survey.

Sure, and if you take even smaller fraction you may find numbers like 50% or higher. But what does it have to do with general situation we are talking about?

This sounds like those weird surveys: "9 out of 10 people said that quit smoking this yeah!" but after reading more you realise they were talking to people from a hospice or tuberculosis dispensary.

>2% in total population is tiny but not "nowhere".

Okay. That's your stance, I accept it. Mine is that 2% is nowhere.

Well i'm also posting from a PC running linux desktop. But i can deal with it. The vast majority of consumers can't and will not. Also, if i had to create a desktop application, i'd target windows/macos primarily, as most other developers do.

And even though those pure linux phones exist, they're hardly usable. Sure, it's just the beginning, given time it will evolve. But the problem of effort disparity will inevitably manifest itself again, and you'll get 1000s of distros to choose from and none will stand up to to that single android device.

> It is not always necessary to win completely and crush competition to reach goal

I agree. I like to run for the fun of it and don't care for racing. But if you're going to compete directly against android phone or a windows desktop, you have to play to win.

> Just take a look at this demo

Consumers didn't care about that. Windows had it in 2015: https://www.youtube.com/watch?v=hyVHCFsiq8c

Windows' failure means that consumers don't care about running a desktop without all the software that they have.

Windows software doesn't typically provide desktop builds on ARM, whereas on Linux, there's very little software that you can't take from AMD64 to ARM, especially if all you need is in the distribution's repository.

(comment deleted)
> hook an usbc cable to a random monitor, presto - desktop computer in your pocket you can do work on.

That's exactly what "Linux phones" already do pretty well.

Just take a look at this demo https://www.youtube.com/watch?v=9qB_5g2ZJYk ;)

While i haven't seen this particular demo, i've seen others. It is indeed awesome and the way to go.

I just hope effort this time around centralizes around a single os (distro), otherwise the linux desktop situation is going to repeat itself.

Of course. The cost of developing phones has been coming down, and the number of people who want strong privacy on their phones is increasing (and/or they are willing to pay more for it). Those numbers have finally crossed, and unless something changes, I think Linux phones will always have a niche market.
> The cost of developing phones has been coming down

To the point where you can't make money on hardware alone?

> I think Linux phones will always have a niche market.

If the enthusiasts are willing to pay a hefty price.

I don't understand the desire for a Linux phone as so described in the article as a daily driver.

The Android platform represents an enormous amount of work that encompasses a more secure base kernel, an unparalleled selection of applications designed for mobile usage and written in a memory-safe language, fantastic sandboxing and user privacy features leagues ahead of any desktop operating system, and great diversity in the hardware market.

While it's apparent that Android has significant downsides - de facto proprietary drivers, an environment of mostly closed-source applications, some Big G integration, and a general lack of long-term updates occasionally countering the work put into security (thanks, chip manufacturers: https://news.ycombinator.com/item?id=26593274), these are problems that can be solved. It doesn't make sense to throw the baby out with the bathwater.

Closed-source applications are more a moral problem than a security one thanks to Android's sandboxing, and a vibrant ecosystem of high-quality free-and-open-source Android applications (https://f-droid.org - Amaze, Notally, QKSMS, and Tasks are some of my favorites) makes them all but optional. Google's presence in the AOSP codebase is rather limited (mostly around notifications) and taken out altogether by custom ROMs like Lineage and GrapheneOS. Proprietary drivers remain as Android's biggest problem, perhaps alongside the manufacturers that ship locked-down phones with bloatware (looking at you, Samsung).

Why go the desktop-Linux-to-mobile route when you could fork Android, write drivers for the Pinephone / Librem 5, punch a hole to the base system for privileged applications, and have the best of both worlds with an order of magnitude less effort?

Because Android is Google's own property, it's not like a standard Linux distribution by any stretch of imagination.

I'm not even against proprietary apps (just against proprietary drivers of course), it's just that transforming Android to make it behave normally is just more and more work every year.

Some people (including myself) would prefer to have the same system they have on their desktop on their phone, with the added bonus of having convergence.

Shielding Android from the rest of the system as a "compatibility layer" just to run some apps or drivers makes tons of sens.

A compatibility layer for Android apps would really make it viable. I just don't want to fight my OS to be recognized and treated as its owner.

In that respect I really like how I can run Windows games on Linux via Proton and Steam; an otherwise good game can ship with all kinds of crap (like having their own launchers stuck in the system tray), but when I'm done the whole Wine-sandbox collapses and I'm back in a Linux desktop that does what I want. Something like that for the host of proprietary apps you are nowadays hard-pressed to avoid (I manage now, but it is not a tenable position) would be welcome. Ideally you could do all sorts of privacy preserving stuff at the sandbox layer.

>A compatibility layer for Android apps would really make it viable. I just don't want to fight my OS to be recognized and treated as its owner.

This is the real reason we need this. Without competition from free alternatives our phones will get locked down "for our benefit" harder and harder and it won't be done for our benefit.

More tracking, more of our data sold, more DRM, etc.

Sure, the stuff in the tray goes away, but Wine is not a sandbox. Software can still look into your filesystem and processes. You need Flatpak for proper sandboxing.
You mean Google always has dominant expertise when it comes to android, but it's still open source.

I would still rather prefer using learn that reinventing a whole mobile OS.

Hard to say if Google tries to complexify android to avoid rivals.

I often say google has the same situation of microsoft when it comes to drivers.

> but it's still open source

Tell that to Termux: https://news.ycombinator.com/item?id=25644964.

> reinventing a whole mobile OS

There is no reason to reinvent an OS. You can use desktop GNU/Linux on modern phones. You only need to tweak the UI (see Phosh). You will also have full computer in your pocket and ability to connect it to a screen and use all Linux apps.

> There is no reason to reinvent an OS.

Android is an awesome OS. I really don't see a good reason to reinvent one, seen the progress made by android.

> You can use desktop GNU/Linux on modern phones.

Yeah but no. A mobile OS is much more usable on a smartphone than a desktop one.

>A mobile OS is much more usable on a smartphone than a desktop one.

The point is that there should be no difference between "mobile" and "desktop". Mobile devices are capable of (almost) everything desktop does. Just connect a screen with keyboard and you have a "desktop". Now, you have thousands of apps already written for GNU/Linux.

https://source.puri.sm/Librem5/community-wiki/-/wikis/Freque...

Can you achieve this on Android?

What matters is the interface and UI, and the power usage. The android SDK is designed so that app developers have constraints that reduce power usage.

I agree that users should have more power over their hardware, but it would be at the risk of non power users letting malware infecting their device.

But I really disagree that desktop and mobile are similar.

Saving energy on a lithium battery requires more than just better batteries, it also requires developers to make apps that are very lightweight in energy, and that's why android is how it is, to prevent developers to release apps that drains battery and ruins the android experience and the brand.

And what would be the point of having linux apps on a mobile device? That doesn't really matters for users, it's the same problem with linux desktop and the quality of FOSS. What matters is having an OS where users can do what they want, but it's more complicated on android because... batteries.

Also, security is though problem that is solved with the google play service. Yes, it's centralized and users cannot do what they want, but the upside is security.

Personally, I just want it for completeness. With phone hardware getting powerful enough to run mid-to-high end games, I want to be able to carry around a phone that I can hook up peripherals to and use it just like I would use a desktop. The Android ecosystem is pretty good in its own way, but it's qualitatively different compared to the Linux ecosystem for my use case.

Windows and several popular Linux distros are moving to ARM anyway, so I feel like this is the ideal time to attempt carving out a space for people like myself.

Exactly, I would love a smartphone-size universal computing device, to use on the go or plug into desktop/laptop docking devices when needed.

The individual parts are all there. Phones are powerful enough, we have USB-C with displayport for docking, KDE/qt has (or used to have?) an alternate small/touch GUI setup, phones can throttle their CPUs up when placed in a dock with active cooling, every individual part of the puzzle is available today in some form.

Microsoft tried it and Samsung tried it, but both were too tied to their own proprietary ecosystems. I think it could work with a det of open and freely available standards.

> Microsoft tried it and Samsung tried it, but both were too tied to their own proprietary ecosystems. I think it could work with a det of open and freely available standards.

Sorry, but in what world has a new UI paradigm or physical form factor reached mass adoption via an open source project? Not knocking open source in general, it’s just that these are not the open source communities’ strengths in general. Meanwhile, single platform monolithic companies with end-to-end control and lots of financial resources tend to do much better here. Added to the fact that this was the basic thrust of the Ubuntu phone and (iirc) the Mozilla phone projects as well, and I just don’t see it. Maybe Apple will popularize the idea with an M1 (or M2, M3, etc) based iPhone (15?) that is truly powerful enough to pull it off and can run iOS and Mac OS side by side.

The problem with Microsoft's and Samsung's approaches is that they were too closed off, you didn't have the ability to install any software you wanted, unlike on a PC.

If you want to unseat laptops, you have to provide what laptops do, a universal platform for software, not a walled garden.

> I would love a smartphone-size universal computing device, to use on the go or plug into desktop/laptop docking devices when needed.

Are you aware that it's a thing already? https://puri.sm/products/librem-5

I know, however it also costs $800 for middling performance at best and is backordered probably until early 2022.

It's close and getting closer, though.

> for middling performance at best

I am curious, what do you need in terms of performance? It can play 3D games and show videos on a big screen.

> backordered probably until early 2022

This is indeed a problem. Pinephone (with a worse performance) also has convergence and should be more available.

> "I am curious, what do you need in terms of performance? It can play 3D games and show videos on a big screen."

Better real-world performance than my X220i, so at least able to play some games from my Steam library, play 1080p60 videos, multitasking, that sort of thing. I assume the Librem 5 can probably do all of this, although I'm highly skeptical of running the desktop version of Firefox on just 3GB RAM. As a do-it-all mobile device, I would also need better battery life than my current smartphone, so 1-2 days of normal usage.

As an aside, that X220i cost me ~$370 in 2018 and is a 2012 vintage machine, so not even close to current laptop performance. I appreciate what Purism are trying to do, but you'll certainly pay a price for being an early adopter.

One plus 6 support is looking pretty good. Give a few months and it may be a viable choice with decent specs.
(comment deleted)
Out of curiosity, if you could set up Android so that it launches Linux in a virtual machine when a monitor / keyboard is plugged in, would that meet your use case? Or are you looking for greater integration between mobile and the desktop?
Potentially, but you'd have to convince me that the performance hit and the added instability was worth it.

I actually use the opposite setup at the moment (virtualized Android apps on a Linux desktop). So I think Android would have to convince me that it's a worthy general purpose computing environment that I can supplement using the Linux ecosystem, but for the moment it's looking like the opposite is the case.

>Personally, I just want it for completeness.

You know, that's an interesting point. There's a lot to be said for using one as a desktop. I've got a Motorola Droid laptop thingie around here somewhere that turned a phone into a pc-like device and it was actually pretty cool. A few generations of speed improvements and it would be fine for most uses. It's nice to have a single non-cloud state for your stuff.

My main need is for a phone to do the following: be as private as possible, make calls, send messages, occasional browser use, hotspot. I'm tired of being dragged along with everyone else in terms of complexity.

That might be a generational thing. I can't remember the last time I ever used my phone as a phone.

Also, what you're calling complexity, I see as simplicity. In my ideal world, I wouldn't need to install three different versions of a web browser across three devices in order to get through my day.

> That might be a generational thing.

I'm sure you're right. I pre-date cell phones and video games and never got interested in either one aside from the technology. A phone seems like a poor substitute to a fast workstation with multiple screens and a keyboard (to me), but I can see the cost in mobile connectivity. Luckily, we can all choose our poison, although my own old man phone needs are not as well supported.

The interesting thing is to consider how your personal technology stack reprograms your thinking.

No GNU userland and a waterfall of IP issues !? Enough of a reason for me to be honest.
You haven't experienced the Nokia N900, have you?
Loved that phone... and its brothers

If anyone could have made it happen it was Nokia.

Yes, Android is mature and secure, but it's not private. No one seems to talk about this much, but there are a few Android "features" that had to be designed by sociopaths.

The main one for me is the complete lack of control of network traffic. Other than a VPN loopback app, which is pretty janky, there is no way to disable network traffic per app. Even with a VPN loopback, there is no way to only allow network traffic when then app is in the foreground. There is no way to set network traffic to block by default and ask the user for permission when network access is needed. These restrictions are ABSOLUTELY DEADLY for user privacy and I don't understand why everyone isn't screaming at the top of their lungs from rooftops about these problems.

It's quite obvious with a 2 seconds of thought that these deficiencies were intentional to maintain Google's advertising monopoly, but I don't want a crippled OS to support Google's abhorrent business model.

It's absolutely mind boggling. It almost makes me want to join the LineageOS project to close these loopholes.

By the way, my colleague has some crappy Huawei phone, which previously killed background apps [1], but this week received an update that changed the behaviour to simply disabling them from accessing the internet.

[1]: https://dontkillmyapp.com

Hmm, maybe it's time for a huawei. I have a oneplus and had the hardest time unlocking my Tesla for a while because OnePlus's OxygenOS kept killing the Tesla app in the background. Really stupid.
This is a simple but wonderful idea!

Hope more vendors follow. Google changing permission model to allow any app internet access was the stupidest decision made by a company in this millennium

Is there ANY OS out there that doesn't allow apps to the internet by default?

Seriously, you throw around things like "sociopaths" for a pretty standard and expected user behaviour in all OSes out there?

Wait, why is this a controversial stand?

Is it really that bad to not wanting a random torch app to not use all your monthly data on God knows what?

Because you're throwing jabs at Android while literally every other OS in existence behaves the same way regarding network access.
This thread is in response to why we need a Linux OS, which is because they are all bad.
Android is infinitely better than anything you can come up with Linux OS on mobile. It is much easier to "fix" Android's "issues".
> than anything you can come up with Linux OS on mobile

I don't understand how you can generalize this far. Using a full desktop OS on mobile with all desktop apps is undoubtedly better.

It is an idiotic idea because it makes my xmpp client unusable. It should be up to a user to decide what should work on a device and how, not forcing some undocumented behaviour upon a user 'for his own good'
Per app restrictions only make sense with a strong sandbox (like Android). You can otherwise trivially get around something like little snitch by asking a trusted application to do something for you.

Edit: Say you're playing around in Python repl. You enable it in your firewall. Now I just have to shell out to "python -c 'import requests; requests.post('my-innocent-app.herokuapp.com', ...)'". With a little more work I could do something like LD_PRELOAD.

> Android is mature and secure, but it's not private

Nitpick: you cannot have security-but-not-privacy.

If a system does not protect the confidentiality of your data from the eyes of the manufacturer it is breaching security.

Security is much more than being protected from attacks. A torch application that reads your contact list and location fits squarely into the definition of trojan/spyware/malware.

Further nitpick: >Secure from whom?

The only person who seems to benefit from the way the security model works on Android is App Developers/carriers/manufacturers/Google. The user abstraction on an Android device doesn't even line up with a human user of the device, but rather it lines up with applications and software on the phone. I have seen nothing that more obviously tuned fpr turnimg a general computing device into a passive scripted experience regurgitator than Android.

You do not get the ability to organize arbitrary data. You need an app. You don't have a consistent experience of a filesystem, shared across all programs. Instead, you have a myriad of apps that do everything they can to hide the implementation details from you.

This does not "help" computer literacy to be most people's first encounter with a computer.

> there is no way to disable network traffic per app.

Latest LineageOS can do that in the same place you can restrict background data, it has options for restricting mobile, WiFi and VPN data per app.

Android deviated from the rest of the Linux ecosystem for reasons that are irrelevant today and never tried to close the rift when it could. So no, I'm not thrilled about Android. Give me a system that uses Wayland, not SurfaceFlinger.
This. People seem to be overlooking the fact that Android is an utterly repugnant ecosystem to develop for, and we can do much, much better.
Same argument applies to Windows vs Linux. Same story.

Synergy opens amazing smartphone hardware to Linux — DCI-P3 color space, high refresh rates, variable refresh rates. Sandboxing, user privacy features, we need this on desktop too.

No? You can't fork Windows.
"Just use existing Windows kernel and drivers, there are a lot of Open Source applications" etc etc.

There is nothing special about Linux distribution, same could be done on top of NT kernel. But it is not. React OS reimplements kernel and userspace, in theory userspace could be used on top of Windows. There are a lot of Windows users yet no such thing.

Somehow Linux experience is much richer and safe. Xmonad and pacman.

There is something special about Linux distributions: The Linux kernel. In lots of areas it is indeed better than NT and it's stuff that matters to userspace, too (file system performance is one example, process spawning performance another).
How would you explain BSD than? And I've heard Linux 5.1 (2019) io_uring is similar to Windows NT 3.5 (1994) IOCP.
> The Android platform represents an enormous amount of work that encompasses a more secure base kernel, an unparalleled selection of applications designed for mobile usage and written in a memory-safe language, fantastic sandboxing and user privacy features leagues ahead of any desktop operating system, and great diversity in the hardware market.

but it's so freaking slow. I own a oneplus 8 pro and compared to my old Jolla it's an exercise in frustration, nothing in the UI is smooth.

> an unparalleled selection of applications

78% of which are competing chat apps (no kidding, I have to have ~8 different chat apps installed)

> designed for mobile usage and written in a memory-safe language, fantastic sandboxing and user privacy features leagues ahead of any desktop operating system,

I'll be honest I'd trade all that for "less lag" without even thinking twice about it

There's either something really wrong with your OnePlus or your eyes, if it is slow.
He compared it to a Jolla phone, which I assume runs Sailfish. If you're comparing Android to Android, you are missing the point. Slowness is from the software here.
> I don't understand the desire for a Linux phone as so described in the article as a daily driver.

So you are fine throwing your phone every 2 years or so once the manufacturer stops releasing updates?

Google and Samsung offer at least 4 years of support. This number will increase in the future as they decouple stuff from core OS.
Drivers are still tied to an old non-upstreamed Linux kernel, aren't they?
> The Android platform represents an enormous amount of work that encompasses a more secure base kernel, an unparalleled selection of applications designed for mobile usage and written in a memory-safe language, fantastic sandboxing and user privacy features leagues ahead of any desktop operating system, and great diversity in the hardware market.

It's also all Google's. At any time, for any reason, Google can arbitrarily decide that they don't want you to run software X, Y or Z. On your device. The situation is, frankly, untenable.

(Yes, you can often work around Google's arbitrary decision at the cost of inconvenience on your part. That still doesn't cut it. My device, my rules! Just like with my PC.)

Android is:

Incredibly heavy and slow

Very hard to hack on

A pretty mediocre OS (lots of functionality is just missing or poorly implemented.)

Uses a driver model that encourages closed drivers (this means it never gets updates after Qualcomm stops releasing updates to their BSP)

A tool used by Google to force computing to be the way they want.

Really the only nice things about Android is the sandbox (which you don't need often on Linux because all the software is community maintained anyway) and the sleep features (doze, which takes a very small amount of work to re-implement at least on OpenRC and push notifications but Firefox already has that anyway.)

I recently tried setting up an Android phone with LineageOS without any gapps. Google's integration into the Android libraries that are used to build almost all the apps out there is so deep that a lot of apps that I use regularly wouldn't even launch on the phone.

Basically, by controlling the API that apps target when they are built, Google has attacked the AOSP from 2 sides. First is from the developer side of things. App developers need to jump through many hoops to make an app that would fall back to working with Google's services running on the phone (LineageOS without Gapps and using some fake gapps implementation to keep the API from breaking).

The second attack that Google has made to the AOSP is from the end user's perspective. They have made it harder and harder to use AOSP without Google's services. Since it's so hard for user's to setup and use a phone without Google's services, they almost never take that option. (I personally, reverted to the OnePlus' Oxygen OS and ditched LineageOS). The end result being that user's just don't want to leave Google's Android garden and explore the wilderness of AOSP without Google.

I want a phone that's Android in the hand but when I plug it into a usb-c hub, it projects full a fat linux distro on my external monitor(s).

Though I love Linux, it's not because it's Linux - I just want to live the one device life. If IPhones could run MacOS on external monitors, I'd buy an iPhone.

Alternatively, a web-based OS (with desktop linux on a hub) would be awesome if all my apps were available as web apps - but they are not so I'd still need a mobile OS and a desktop OS for the usbc hub life.

Samsung implemented exactly what you want under the name Samsung DeX - https://beebom.com/install-linux-on-dex

However it seemed to not been interesting to the users because noone really used it and they cancelled the project.

Their phones (the Galaxy series) still do support projecting a desktop mode when you plug the phone into a USB-C monitor. They now run "just" Android apps though.

I hope they do. I crave a high speed pocket web browser that truly belongs to me.

I hate Apple so much for the abusive relationship they have trapped me in. Their phones are amazing but it’s morally corrupt not having access to the source code. We consumers, collectively, have a right to know what these things are doing.

I’m addicted to my phone and it contains my whole life. I believe that in the future we will look back in these times with horror at the thought that the vendor didn’t give us access to the whole stack.

(My current solution is to ween off Apple. I’ve just sold my 2016 MBP — the one with both the keyboard defect and the stagelight display defect. I’m 100% Google free though, so what do I do for a phone?)

What other devices in your life do you feel this way about (car, home appliances, television, …)? Or are those in a different category because they aren’t managing your data?
The car has a lot of software that feels needlessly out of reach. A maps update of the proprietary map system is ~$600. This is crazy.
Anyone who thinks Linux can gain a momentum on mobile should look at Samsung and Huawei efforts to get off Google. It seems almost impossible even if you already have a foothold in mobile industry.
I didn't know they were trying to de-Google. Would that have anything to do with user concerns about privacy?
Samsung announced Bada in 2010, back then not everyone new what Android is. Then there was Tizen. And Chinese had that tech export ban going on.
If anything, it's because they want access to all the data Google collects. None of them care about user privacy.