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.
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.
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?
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)
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.
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.
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.
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.
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.
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.
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.
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").
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.
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.
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.
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.
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 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.
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
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.
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.
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.
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.
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.
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.
> 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.
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).
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.
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.
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'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 :-(
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.
> 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.
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.
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.
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.
> 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.
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.
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.
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 :(
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.
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.
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?
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 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.
> 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.
>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.
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.
> 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 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.
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.
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.
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.
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.
>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.
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 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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
"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).
> 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
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.
> 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.)
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.
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?
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.
490 comments
[ 4.6 ms ] story [ 323 ms ] threadhttps://developer.android.com/ndk/guides/stable_apis
So, what is Android? Does Linux run the Android userspace, or does Android run the Linux kernel...
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.
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.
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)
It’s not a desktop Linux OS, of course. But it’s still Linux.
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
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...
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.
[1] https://lwn.net/Articles/706374/
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/
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.
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.
Just another example on how Linux die hards try to make juice out of lemons, to pivot Linux dominance on consumer devices.
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.
BTW, a Pinephone running WebOS is very tempting. WebOS was so much ahead of its time it’s still ahead of ours.
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?
Though it was cool installing/running VS Code on it
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").
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.
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).
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.
Going to buy the Sony 10 II once they release support for it.
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.
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.
It costs $800, not $1500.
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.
Now that you mention it, ActivityPub itself wouldn't be bad for this!
You just need to coalesce timer wakeups, which Linux supports already at the kernel level AFAICT.
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.
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.
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.
https://xmpp.org/extensions/xep-0352.html
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.
> 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”.
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.
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.
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.
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.
Using niche open SoC will make the device slower and/or more expensive. The mass market cares about price and performance.
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.
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.
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
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.
Nobody, eh? Not one person?
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.
It is Linux but not in any real way. It could just as easily be not-Linux.
* 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).
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.
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.)
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.
I wish Nokia had continued developing the Maemo OS.
https://maemo-leste.github.io/
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.
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...
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.
> 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 :-(
This is exactly how it works with Pinephone now, and it works really well.
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.
Edit: Maybe Google Maps, but that's it.
A web browser?
Contacts app?
These are essentials for the phone.
What about an RSS client?
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.
I actually run mutt on Android already (yay termux), so should be fine.
> A web browser?
What's wrong with Firefox or chromium?
Many would need UI to be rewritten from scratch.
Thunderbird
>A web browser?
Firefox/Chromium
>Contacts app?
kAddressBook
Interface totally unacceptable on mobile.
> Firefox/Chromium
Android has both
Person who advocates for Firefox on Android doesn't even know that it is already there.
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.
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.
Sure, LineageOS can patch things out, but keeping the patches working over time as Google churns out new Android versions is far from simple.
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.)
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.
Note that small pool of people actually caring may be enough. See whoever buys Pinephone and Purism-Librem.
Everyone heard about Facebook's data leaks, everyone knows Google collects tons of data. Their revenue show people don't care.
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 :(
It's like driving a car: there's a tiny probability to get killed, but everyone is driving nonetheless.
(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.)
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.
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.
Is there any incentive for them to do so?
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.
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?
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.
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.
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 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.
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 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.
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
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
They are not competitive in general market.
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%.
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.
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.
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.)
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...
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.
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.
Consumers didn't care about that. Windows had it in 2015: https://www.youtube.com/watch?v=hyVHCFsiq8c
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.
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 ;)
I just hope effort this time around centralizes around a single os (distro), otherwise the linux desktop situation is going to repeat itself.
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.
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?
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.
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.
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.
https://flatkill.org/
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.
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.
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.
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?
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.
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.
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.
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.
If you want to unseat laptops, you have to provide what laptops do, a universal platform for software, not a walled garden.
Are you aware that it's a thing already? https://puri.sm/products/librem-5
It's close and getting closer, though.
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.
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.
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.
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.
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.
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.
If anyone could have made it happen it was Nokia.
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.
[1]: https://dontkillmyapp.com
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
Seriously, you throw around things like "sociopaths" for a pretty standard and expected user behaviour in all OSes out there?
Is it really that bad to not wanting a random torch app to not use all your monthly data on God knows what?
I don't understand how you can generalize this far. Using a full desktop OS on mobile with all desktop apps is undoubtedly better.
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.
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.
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.
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.
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.
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.
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
So you are fine throwing your phone every 2 years or so once the manufacturer stops releasing updates?
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.)
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.)
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.
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.
https://maruos.com/
https://github.com/maruos/maruos
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 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?)