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.
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.
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.
> 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.)
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.
> 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.
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.
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'
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.
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.)
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.
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?