But you pay 750$ for a 3GB quad core phone; I've got these specs on a 300€ OnePlus One five (six?) years ago.
Sure, replaceable battery and open hardware are a _very_ good thing, but the value/$ of these phones are horrendous. That's not to defend OnePlus or any other manufacturer, but when I can get a high end Samsung or Xiaomi device with 4 times the specs at every corner for the same price or less and simply install Lineage on it.
I definitely support the effort and I love that they finally got the design modern, but those prices are hard to swallow, even for someone pretty privacy-focused.
They're serving a niche market, which will always come at a cost. Your Samsung, Xiaomi, ASUS, OnePlus or even Google device will not be running a mainline Linux kernel with wholly open drivers (ala x86) unless you get very, very lucky with your hardware choice (even the pmOS folks admit as much). You don't want to be stuck running a downstream LineageOS kernel with random patches and userspace binary blobs; it's a recipe for your device getting harder and harder to support and being dropped altogether, even by the ROM-development community.
> Your Samsung, Xiaomi, ASUS, OnePlus or even Google device will not be running a mainline Linux kernel with wholly open drivers (ala x86) unless you get very, very lucky with your hardware choice.
Only half true. There is a lot of activity on linux-arm-msm, and mainlining is much easier than it would have been a few years ago. Snapdragon 845 has great support (3d accel, modem, all that) and if your specific phone isn’t ported yet, you just need a hundred lines or so of board-specific config.
Personally I’ve been mainlining my Xiaomi Redmi Note 8T, with an SDM665, a phone released Nov ‘19. It’s only taken a work week or so to boot pmos and get a shell over usb, the drivers are already all there. It would be a lot faster if this weren’t my first time ever doing kernel dev.
Yeah, it’s a lot of engineering effort, but it’s well within the scope of an evening-hacker community project.
Yes, of course you can have a "lucky" platform that ends up getting more support from hobbyists and OEM's alike. The SD845 gets used (in an overclocked version) for ARM laptops, that's why there's a lot of interest in having it work "properly" and even be usable as a comparatively "free" platform. Most Snapdragon chips do not get the same level of support.
As I said in my reply, I have been porting my phone which has a 665, an SoC released 2 years after the 845, and it's a pretty smooth process. Each SoC has a different topology and vendor quirks, but they use the same few drivers and interconnects (glink, rpm, smd, etc). Many of the drivers I am using are for components more recent than the 845, upstreamed by Linaro and Qcom folks.
These phones are primarily about user-freedom, privacy and my ability to do whatever I want with a device that I've purchased, without restrictions imposed by the OEM.
Also, honest question; What do you actually 'use' the latest specs for? These Android/iOS phones are basically all about media consumption, something that has been sufficiently performant for years. You have great hardware, but no software to take real advantage of it.
On the other hand, the Linux phones can do so much more on the software side that if they do become successful enough for a second/third... generation with more powerful hardware, it would be much more noticeable than a paper spec bump.
> What do you actually 'use' the latest specs for?
Increasingly inefficient consumer software!
If everyone else were stuck on old hardware it might stop being a problem, but when you're lagging behind everyone else's hardware you're going to notice it.
> Also, honest question; What do you actually 'use' the latest specs for?
Browsing, chatting, navigating and some smaller task. Don't get me wrong, the hardware specs aren't _bad_ and 3G are okay now, but this phone costs as much as all three smartphones I've owned combined and I don't think this will be enough 5+ years in the future, which would by my expected lifespan of this device. Adding to that are the singular speaker and, by todays standard, rather weak camera offering.
Again, don't get me wrong: I'd love to buy one of those and support their (absolutely great!) cause. It's simply hard to justify the investment, when 700$ are a lot to me.
AT&T and Verizon, two of the largest mobile data conglomerates in the US, have stated their intentions to shut down 3G service in favor of 5G by February 2021 and December 2020 respectively.
I think that quote refers to the 3 gigabytes of RAM of the Librem 5 that was mentioned higher up in the chain, not the 3G wireless technology:
> But you pay 750$ for a 3GB quad core phone
Both Librem 5 and the Pinephone support LTE, although no 5G.
You are entirely right that phones which don't support LTE will have major usability regressions very soon so when you buy an older model phone you should really watch out to buy LTE capable ones.
Basically I'm using Firefox, K9 for email, WhatsApp and Telegram to chat with friends, OSMAnd to plan and record bicycle tracks. Phone and camera. Plus mandatory banking apps or I won't be able to do home banking.
If I buy a Linux phone I'd have to keep using my Android phone probably as my primary device. And I've been using Ubuntu laptops as my only working devices since 2009 so I'd love to use an Ubuntu phone. Unfortunately it lacks at least half of the apps I need.
The one app among those you list that will always need a stock Android install is your home banking app. Everything else is either open (including Telegram) or will most likely be runnable in Anbox, which is a high priority for all Linux-on-mobile projects.
> The initial proof-of-concept was done on an Ubuntu Touch based device. Since then Anbox has evolved quite a bit, making desktop devices its main development focus. However, recent experiments show that Anbox still runs fine (with a few tweaks and lifted confinement because of older kernel versions) on mobile devices based on Ubuntu Touch.
and the link to Ubuntu Touch is
> 410: Page deleted. Ubuntu for mobile is no longer supported
as we all know. I guess other companies could be working to make Anbox run on their hardware but I'm not expecting anything in a short time. However I could use Anbox on my desktop for a few apps.
I have more than one bank. Work and personal and separation of risk. Of course they have a web interface but almost all of them also need their app for two factor authentication and authorization. The EU directive of about one year ago.
Only one of them lets me still use a hardware key but they won't replace it when it will run out of battery.
I wouldn't be surprised if OP had truly mandatory banking apps.
I use Revolut, which has no web interface.
My main bank does have a web interface, but because they've made a complete mess of implementing PSD2, they also require you to use their app on a non-rooted device to confirm any web login.
Any Android phone can do so much more on the software side.
One just needs to treat them as Java based OS that happens to allow native code for high performance 3D graphics, real time audio and integration of C and C++ libraries.
Can they? You cannot reasonably run any mainstream compilers, editors etc. on Android phones. Nor can you develop Android apps on them, (without something like Termux), nor do a gazillion other things you can do on your PC. They're at best crippled pocket computers, whereas something like the PinePhone runs mainline Linux and can run KDE Plasma/GNOME etc.
Does Android have more simple podcast apps and the like? Sure. But Android's well over a decade old, while mainline Linux on phones is just getting started.
This topic is about Termux, an app that aims to provide a Linux environment on Android.
I can treat it as a "Java-based OS", but then I don't get the benefits of real Linux so am not sure what the advantage is.
My dumb phone was also "a Java based OS", iOS is just an "ObjC/Swift based OS" etc. The only thing this mindset does is to ignore the restrictions by giving into them and am honestly not sure why would one do that.
> Just because one cannot use GNU/Linux command line it doesn't make it less usable.
Sure it does, this very topic is about an app that does precisely that. If one doesn't need that, they didn't need Termux and thus of course this whole topic does not apply to them.
Except Linux kernel on Android is heavily modified, nowadays it even has a microkernel like architecture thanks Project Treble and Modular System Components, where only ISO C, ISO C++ standard libraries and the Android Native APIs are guaranteed to exist across devices.
Android 12 could be released with Windows, NuttX, BSD, Fuchsia kernel and hardly anyone that has kept using Java or NDK official APIs would hardly notice other than OEMs.
Anyone looking at it as Linux is only fooling themselves.
GNU/Linux has lost its mobile OS/desktop opportunity. Every major company will just pick the Linux kernel, tailor it at their own will and place their beloved userland on top.
And on the servers I give it like 10 years more for it to be made mostly irrelevant for managed runtimes being deployed on cloud environments running on type 1 hypervisors.
> Android 12 could be released with Windows, NuttX, BSD, Fuchsia kernel and hardly anyone that has kept using Java or NDK official APIs would hardly notice other than OEMs.
Agreed. However this whole conversation concerns Termux, an app that made it possible to run some "desktop-grade" GNU/Linux tools on Android. This is despite the fact that the kernel itself is far from mainline, which however is rather unfortunate.
> GNU/Linux has lost its mobile OS/desktop opportunity.
People keep saying this, but depending on how you look at things, it both never had it and never lost it.
never had it.) because OEMs were only ever preinstalling PCs with Windows and thus Linux was always at a massive, massive disadvantage. Changing the OS is for the majority of users an unthinkable obstacle and am not even sure the majority of them are aware it is something that could be done.
Keeping the above it mind,
it never lost it.) because for the users that were willing/able to overcome the first obstacle, Linux was and remains a feasible desktop OS for at least 15 years. I know, I've been Linux-only everywhere for longer than that. It's never going to be #1 on the desktop, but it doesn't need to be. If we were to measure everything that way, all music genres besides Pop and Hip-Hop are basically useless because they never reach the top of radio music charts.
> Well, mainstream music is usually timeless, while less known genres just fade away when the generation that brought them up is gone.
Hardly true. It's just they don't have the massive marketing machine of radio mainstream behind them, so they tend to have their dedicated fanbase and that's that.
> GNU/Linux had its opportunity with OpenMoko, Maemo, netbooks, Steam machines.
> OpenMoko & Maemo were fine Linux phones and many still swear by them to this day, but you seem to discount the power of marketing. Is not that your casual users knew about Maemo and just didn't like it. They don't even know it exists. Technical merit only gets you so far.
Also, given the above, there's nothing that is different about the current situation that is preventing the PinePhone/Librem 5 to claim that niche. I don't know why you have a hard cutoff for the opportunity there as being 'missed' and now nothing can be done.
> Termux can provide a similar experience via Java/Kotlin, ISO C and ISO C++ implementations instead of relying in Linux specific calls.
That's a metric ton of more work than I imagine the team has time for.
Termux can do a lot of things. but with a hostile upstream venodor it's going to take a lot more effort than it would take to switch to a Linux phone for a better experience, at least in this regard.
> I don't know why you have a hard cutoff for the opportunity there as being 'missed' and now nothing can be done.
I guess, because after all these years GPL seems to have lost steam, with GCC and the Linux kernel being the only GPL relevant pieces that are still around.
With efforts like Fuchsia, ARM mbed, Linux Foundation's own Zephyr OS, Amazon's RTOS, BSD adoption as basis for game console's OSes showing the direction where this will be going.
So most efforts to have a pure GNU/Linux device are bound to not survive long enough to keep a sustainable business.
> because after all these years GPL seems to have lost steam
I don't see how. The non-GPL efforts you mention are all in places where it hardly was GPL before or if it was, it was packaged in such a way that it hardly mattered.
Game consoles always used BSD because game companies are notoriously proprietary and don't care about free software, but they never did, so hardly any change there.
Android's kernel is GPL which does help as there's an ongoing effort to mainline more and more Android patches, but from an end-user perspective, because the userland is not GNU and Google never actually cared about Android as FLOSS a kernel change for Android doesn't mean much unless Android's current patches are mainlined and hardware OEMs start producing mainline-linux HW, at which point a differnt kernel would indeed be a loss for Linux, but as of now, nothing would fundamentally change, because it never meant much to began with.
> So most efforts to have a pure GNU/Linux device are bound to not survive long enough to keep a sustainable business.
If so, this has nothing to do with the GPL.
Say the Librem 5 ran a BSD kernel. How would it suddenly become mainstream without Samsung's marketing budget?
If anything, the GPL is doing better than ever precisely because the issues around privacy are becoming more mainstream. I have family members asking about alternatives to iOS/Android that were not asking these in the OpenMonoko days, which gives me hope.
On the desktop, we now have Microsoft contributing GPL'ed code, which is something. Companies like NVidia do too nowdays.
I suspect what you may be perceiving is that unicorn SV startup libraries on GitHub tend to not be GPL and that's true, but I don't think they'd be releasing any code otherwise, since they don't care about free software in the first place, so in that sense it's at least a compromise.
"First hardware kill switches; first replaceable cellular modem and Wi-Fi/ Bluetooth (on M.2 cards); first smart card reader (for 2FF OpenPGP card); first running 100% free software; only current phone to offer convergence as PC without special hardware"
“It's also one of the few phones to have hardware baseband isolation - making you immune to IMSI catchers and other cellular-based attacks.”
In addition, because all software is free, "Respects Your Freedom" certification [0] from Free Software Foundation is expected [1]. Tentative recommendation has been given [2].
Sounds like you value the open/libre aspect at $0. Not everyone feels the same way: Those phones are for people who value the replaceable battery and libre stack at $x where x > 0.
Sure, there's a market for these phones and I absolutely do not speak for everyone :)
Still, I can get a Samsung Galaxy A20e for 150€ right now, which has about the same specs (actually slightly better) and spend two hours to get Lineage on it.
My point is, I do value my privacy a lot, even to the point of running my phone without GApps (which drops a lot of features), and I think these projects are absolutely awesome, but with their current offering those phones are simply not a general solution to someone with a budget.
> A PinePhone/Librem 5 will also always be capable of running emacs/golang etc. which is not easily doable on Android if termux isn't possible anymore.
So can a phone running Lineage. The thing blocking termux is a config file; any phone that isn't locked down can handle it.
You're not getting all of the openness for free, but you can get a lot of it for free.
I think it's important to point out that you'll always rely on proprietary blobs and generally hostile hardware that way.
For now it's a config. As these things progress and get more locked down with each release in the name of security, it's going to be harder and harder and I don't want to scramble the moment it is practically impossible. I'd rather push for a free, open, libre hardware now so that the polish is there when there's no alternative.
I have certainly seen a much longer lag between a phone release that is not a Pixel and it being rootable+able to run Lineage compared to the Cyanogen days.
I've also noticed that nowdays, few phones are able to run more than one newer major Android version ahead because the OEM will simply not release the firmware needed to run newer versions and Lineage doesn't have the capacity to update/release their own firmware rebased against the latest Android, (I am talking about things such as the radio firmware, OnePlus is a famous example I know of).
These phones are for people willing to push the boundaries of free software and early adopters. This is for the people who ran early GNU stuff in the 90s, not the ones who said, "well, I can get a more polished toolset from <insert commercial vendor here>"
Unfortunately, by doing so you'll always rely on proprietary hardware blobs and hostile vendors who will make it harder to patch whatever you want to patch with each release in the name of "security" and will never offer anything close to an actual GNU/Linux experience on a phone.
I also don't see how a process that requires rooting, patching etc, is any more prone to mainstream adoption than an actual Linux phone.
The thing is, if one wants to move a cause somewhere, it may require some inconveniencing at the start for the long-term vision to pan out.
Working with GCC was surely a bit painful at the start of the 90s, but it was worth it for the goal of having a free software stack on the desktop and now it's time to do the same for the phone.
Linux phones are nice since they provide things like mainline kernel support which is important for the long term, but many cheap Android devices can be modded to run custom firmware. (The PostmarketOS is working on providing "baseline" Linux installs for those devices.)
I am a big fan of PostmarketOS, but that being said, you still need to patch the Mesa libraries to get hardware acceleration working on an old Nexus 7. They want to do a lot more work, but it's difficult with all these garbage/trash ARM devices out there.
If Google gave a shit about e-waste, they'd mandate UEFI+ARM like Microsoft did with their phones (except without the locked bootloader). Trying to get drivers to load an work on every ARM variant is a nightmare compared to x86.
I am still surprised Google gets almost no flack for this. Chromebooks are particularly bad offenders. They're basically disposable laptops with an incredibly short lifecycle, where even browser security updates end when Google decides a laptop has left support. It's ironic Chrome is supported many years longer on any given Windows PC than any given Chromebook.
Google loves claiming to be environmentally friendly, but disposable computing is practically their default mode now.
Not sure what's "bad" about Chromebooks, seeing as you can unlock them and install standard firmware. Then your only obstacle to using them as you would any other laptop is OEM hardware that's sometimes not supported by the mainline kernel, and a mildly non-standard keyboard. Android is a lot worse than that, many devices are not even OEM unlockable in the first place.
They might be unlockable, but at that point they're disposable to a business or school environment.
A PC shipped with Windows 7 in 2009 can run Windows 10 for free and the latest release of Chrome, supported officially by Google. If you upgraded from XP or Vista, many of those PCs can still run current Chrome just fine. The max life of a Chromebook as a Chromebook is like six years.
You would unlock them after they've reached EOL w/ their supported OS, for the sake of resale value and thus reuse. It's not much of course, but it's better than a lot of mobile hardware.
> they'd mandate UEFI+ARM like Microsoft did with their phones (except without the locked bootloader)
I approve, but is that sufficient? UEFI gives you a better booting situation, but I thought you still needed device tree or something to handle device enumeration? Or does UEFI do that?
EDIT: In an attempt to answer my own question, I dug up https://elinux.org/Device_Tree_What_It_Is#UEFI which implies that UEFI can replace device tree and give you an actual uniform platform. If I'm getting that right, then that does look like the best possible solution.
> but that being said, you still need to patch the Mesa libraries to get hardware acceleration working on an old Nexus 7.
Why are these patches needed? If the issue is that graphics has to rely on a proprietary binary, then that's sad but not something that Mesa can do much about. If no non-free code is required, it should be possible to push these patches upstream and make the support official.
Also worth noting that one of Google's long-term goals is to make Android bootable on mainline. They've been slowly upstreaming the patches they built into Android's base kernel, and their Treble roadmap involves further isolating the hardware drivers, to enable running a generic kernel across devices.
Yes and AIUI, libhybris is working on supporting those userspace hardware drivers on a non-AOSP install. The postmarketOS folks would rather do without using downstream code/drivers/firmware at all and keep everything upstream based, but some devices will need this and it might also be useful for quick bring up on new devices.
Given that you guys don't list Linux APIs as something that one can count on as stable NDKs APIs, require us to manually write JNI wrappers to access 90% of OS features, no not really.
It could be running BSD or Windows and we would hardly notice.
Depends how much the Chocolate Factory Oompa-Loompas are willing to actually offer a C and C++ development environment comparable to other GNU/Linux variants.
Better ask Willy Wonka if it is ok to do so, and by Android 20 we might eventually get it, if it takes as much as sorting out header files, build tools, native dependencies, gcc and clang support and finally listening to game developers as presented at GDC 2020.
1 - https://www.pine64.org/pinephone
2 - https://puri.sm/products/librem-5