Given everything happening with Android, what is the current state of Linux phones and Linux phone development? I have a lot of C experience, how can I get involved?
AOSP is still the better OS. It is fully open source. It has a much better protection model. It is production ready and optimized. It has a working build system. It supports reliable updates.
I find the idea of Linux phones pointless. Instead of trying to create an app ecosystem that will never compete against proprietary-ecosystem optimized and well-isolated one, we can leverage it. I wouldn't want an OS where the banking app can peek into my browser. Desktop OSes are still like that and that's crap OS design in 2025. It has been crap since 90s. Linux being popular has significantly hindered OS innovation in open source world.
If you would like to help, I think helping projects like LineageOS or GrapheneOS is better. You can also try joining reverse engineered driver efforts for open source drivers like Freedreno. You can help porting device-specific kernel drivers to mainline. So we can boot whatever kernels we want on normal Android phones with Mesa OpenGL.
"A lot of C experience" doesn't really tell anything. Have you worked with cross-language systems? How much you know about ABIs? How about interface definition languages (IDLs)? Have you actually written a production driver for Linux systems? Have you implemented any system-level service that got deployed a number of nodes? You need to join somewhere and improve things marginally.
Do you behave internationally obtuse or do not really understand that "Linux" is often used for GNU/Linux systems and this is what meant by "Linux phone".
What makes AOSP a better and more meaningful target for a truly open source system is being also open source and having a much better userland implementation that is supported by specific kernel patches that isolate client programs from direct hardware access and from each other. Moreover it has better libraries for creating mobile apps. It has a better and established ecosystem full of experts, some of which already implement FOSS apps.
No GNU system has anything close and getting close is a huge engineering effort that you don't need to do.
What AOSP does is actually workaround or extend Linux kernel with a system layer that makes the runtime for apps look more like a microkernel. It is a much secure design for carrying a general purpose computer with GPS, Camera and Bluetooth on.
So why not just improve Apache-licensed AOSP? Port the closed drivers to open source ones and everyone can utilize all of AOSP's benefits, without being controlled by Google or phone manufacturers too (as long as you can modify the software). FOSS friendly phone vendors can always help with porting efforts and remove blockers.
I think what people would like is, if they were able to just run the same programs seamlessly on the phone. That's why porting standard (GNU/) Linux distros to mobile seams worthwhile.
Those programs and GNU userland are severely under-secured for a general purpose phone that has multiple privacy sensitive sensors. AOSP has better equivalents in all of performace, security and usability. It is Apache licensed.
As I mentioned if the core driver libraries for the userland are reverse engineered (like Freedreno driver in Mesa instead of closed-source Qualcomm stuff) and the kernel drivers are ported to mainline you'll have a better mobile OS than any GNU system can achieve in the same time frame.
If you still want your GNU environment, there are already ones that implement it like Termux.
It's ultimately a pointless endeavour because you don't have access to the source code or even the ability to binary patch and flash your own firmware on the most of the phone components. The modem in particular is a black box. Might as well stick with Android and run a Linux environment inside an app like Termux.
Pine64 announced recently that they drop the PinePhone Pro, but hope to continue with the PinePhone for 2 more years. To be honest there is not much of a community left when I last checked, and I dont remember when the PP was last in stock, only the convergence? package.
But there are a great series of tutorials from Lupyuen where he gets Apache Nuttx running on the PP. He fills in a lot of the missing documentation and magic smoke details.
I'm currently following the same reverse engineering process, but using Zig. The A64 is quite fun to play with, but I think the hardware might be better suited as a feature phone vs full linux. I'll let you know in 10 years time hehe.
To be fair, when I bought my Pinephone, I got the convergence one despite being unsure if I'd be able to use it as a daily driver. The price diff isn't much and well, I would rather have the slightly better specs. And I would assume most made the same choice. So I doubt there's much pressure to stock the lower spec model PP.
I haven't watched that video, but I've seen the comments from unhappy people over the years.
I don't know if we'll ever get the full story, but I imagine it was either that or go insolvent. I'm guessing they tied up all the preorder money, and the delays put them between a rock and a hard place.
They handled it poorly, but I think they're on top of everything now.
The pinephone hardware feels like a prototype due to the old A20 cpu (heat problems, poor battery life).
The lesser-known SHIFT6mq has an actual mobile chip and apparently works correctly as a phone under postmarketOS (only GPS, NFC and Camera missing): https://wiki.postmarketos.org/wiki/SHIFT_SHIFT6mq_(shift-axo.... There are pointers on the wiki to hack on the camera if you want to help the cause.
I'm a Librem 5 owner, but I haven't really been able to use it, due to the atrocious (unusable) battery life, and broad incompatibility with most of the things that I need to do with a phone.
I've been a proud Linux user since the 90s, so by rights I should be exactly the market they're trying to capture -- slightly paranoid, FOSS-idealogue, willing to trade off some (or even a lot of) usability for freedom (and these days, a degree of protection from that thing that is happening in the USA and elsewhere, which is no longer safe to call by its name).
Yet here are the things that I cannot do on my Librem 5 that I basically need to be able to do in order to subsist:
- Go for more than 5h without charging
- Google Maps. I know -- on my GrapheneOS handset, I have OSMAnd+ and OrganicMaps (installed via F-droid no less) but as it happens, I live in a city with a lot of bridges and even more traffic, and if I want to get anywhere without a +/- 1h variance due to traffic, I depend on live-traffic-informed maps.
- Signal. (note: It's been a year or two since I checked in -- is this available yet on Librem 5?)
- Parking apps. My city has invested heavily in integration against just one of these apps, and it happens not to run on Librem 5 (or, for that matter, GrapheneOS -- why does a _parking app_ want attestation? smh). This is becoming increasingly inconvenient as competing apps seem to be in retreat and I am getting used to circling, waiting for spaces that I can successfully pay for.
- Ability to run local government app, which is available for both Android and iPhone, but obviously not Librem. This was more urgent during the pandemic, when it was required for various things like crossing borders and proving Covid status, but it's still hard(er) to get service from some agencies without it.
I have my Librem 5 in a drawer with my other fun tinkering toys, like my Raspberry Pi collection and 5" touchscreen modules (and breakout boards etc.) I still have plans to install it in my car at some point (it would be a good fit for an always-charging scenario.) Every once in a while I take it out and admire it and dream about the possibility of a future without domination. Then I put it away again.
I'm still bitter that they never refunded me for my canceled pre-order, despite promising to at the time. It's been years and I never got any money back (or a phone, for that matter). I consider Purism to be an untrustworthy business as a result.
I had a pinephone pro that I got to pretty good working state on postmarketos. The phone was still a bit under powered but after lots of tinkering it could do most everything I wanted it to. Battery life was the biggest issue, I could get about 5 hours max out of it. It would also get a bit hot at times which while not a huge problem was annoying. Problem is I dropped it on a run and broke it right before they announced they are discontinuing it. So I'm trying to find a new one, but the options don't look super great. If you are willing to use an old downstream (android) kernel, then there are quite a few options, of which i like the FLX1 best. But that makes running some up to data apps harder. I'm having a hard time finding good options mainline options though. The pinephone is too underpowered for daily use. The latest shiftphone and fairphone seem promising but full mainline support still isn't quite there and they pretty pricey too compared to the ppp.
This pinephone project was the last thing I remeber looking into. Not sure where they are at now. But I think they have a number of OSS you can look to contribute to.
I find the idea of Linux phones pointless. Instead of trying to create an app ecosystem that will never compete against proprietary-ecosystem optimized and well-isolated one, we can leverage it. I wouldn't want an OS where the banking app can peek into my browser. Desktop OSes are still like that and that's crap OS design in 2025. It has been crap since 90s. Linux being popular has significantly hindered OS innovation in open source world.
If you would like to help, I think helping projects like LineageOS or GrapheneOS is better. You can also try joining reverse engineered driver efforts for open source drivers like Freedreno. You can help porting device-specific kernel drivers to mainline. So we can boot whatever kernels we want on normal Android phones with Mesa OpenGL.
"A lot of C experience" doesn't really tell anything. Have you worked with cross-language systems? How much you know about ABIs? How about interface definition languages (IDLs)? Have you actually written a production driver for Linux systems? Have you implemented any system-level service that got deployed a number of nodes? You need to join somewhere and improve things marginally.
What makes AOSP a better and more meaningful target for a truly open source system is being also open source and having a much better userland implementation that is supported by specific kernel patches that isolate client programs from direct hardware access and from each other. Moreover it has better libraries for creating mobile apps. It has a better and established ecosystem full of experts, some of which already implement FOSS apps.
No GNU system has anything close and getting close is a huge engineering effort that you don't need to do.
What AOSP does is actually workaround or extend Linux kernel with a system layer that makes the runtime for apps look more like a microkernel. It is a much secure design for carrying a general purpose computer with GPS, Camera and Bluetooth on.
So why not just improve Apache-licensed AOSP? Port the closed drivers to open source ones and everyone can utilize all of AOSP's benefits, without being controlled by Google or phone manufacturers too (as long as you can modify the software). FOSS friendly phone vendors can always help with porting efforts and remove blockers.
As I mentioned if the core driver libraries for the userland are reverse engineered (like Freedreno driver in Mesa instead of closed-source Qualcomm stuff) and the kernel drivers are ported to mainline you'll have a better mobile OS than any GNU system can achieve in the same time frame.
If you still want your GNU environment, there are already ones that implement it like Termux.
But there are a great series of tutorials from Lupyuen where he gets Apache Nuttx running on the PP. He fills in a lot of the missing documentation and magic smoke details.
For example: https://lupyuen.org/articles/dsi#initialise-lcd-controller
I'm currently following the same reverse engineering process, but using Zig. The A64 is quite fun to play with, but I think the hardware might be better suited as a feature phone vs full linux. I'll let you know in 10 years time hehe.
I haven't watched that video, but I've seen the comments from unhappy people over the years.
I don't know if we'll ever get the full story, but I imagine it was either that or go insolvent. I'm guessing they tied up all the preorder money, and the delays put them between a rock and a hard place.
They handled it poorly, but I think they're on top of everything now.
The lesser-known SHIFT6mq has an actual mobile chip and apparently works correctly as a phone under postmarketOS (only GPS, NFC and Camera missing): https://wiki.postmarketos.org/wiki/SHIFT_SHIFT6mq_(shift-axo.... There are pointers on the wiki to hack on the camera if you want to help the cause.
The Fairphone 5 is another good candidate for hacking: calls and camera are not working: https://wiki.postmarketos.org/wiki/Fairphone_5_(fairphone-fp...
I'm a Librem 5 owner, but I haven't really been able to use it, due to the atrocious (unusable) battery life, and broad incompatibility with most of the things that I need to do with a phone.
I've been a proud Linux user since the 90s, so by rights I should be exactly the market they're trying to capture -- slightly paranoid, FOSS-idealogue, willing to trade off some (or even a lot of) usability for freedom (and these days, a degree of protection from that thing that is happening in the USA and elsewhere, which is no longer safe to call by its name).
Yet here are the things that I cannot do on my Librem 5 that I basically need to be able to do in order to subsist:
- Go for more than 5h without charging
- Google Maps. I know -- on my GrapheneOS handset, I have OSMAnd+ and OrganicMaps (installed via F-droid no less) but as it happens, I live in a city with a lot of bridges and even more traffic, and if I want to get anywhere without a +/- 1h variance due to traffic, I depend on live-traffic-informed maps.
- Signal. (note: It's been a year or two since I checked in -- is this available yet on Librem 5?)
- Parking apps. My city has invested heavily in integration against just one of these apps, and it happens not to run on Librem 5 (or, for that matter, GrapheneOS -- why does a _parking app_ want attestation? smh). This is becoming increasingly inconvenient as competing apps seem to be in retreat and I am getting used to circling, waiting for spaces that I can successfully pay for.
- Ability to run local government app, which is available for both Android and iPhone, but obviously not Librem. This was more urgent during the pandemic, when it was required for various things like crossing borders and proving Covid status, but it's still hard(er) to get service from some agencies without it.
I have my Librem 5 in a drawer with my other fun tinkering toys, like my Raspberry Pi collection and 5" touchscreen modules (and breakout boards etc.) I still have plans to install it in my car at some point (it would be a good fit for an always-charging scenario.) Every once in a while I take it out and admire it and dream about the possibility of a future without domination. Then I put it away again.
I actually don't know what you are referencing.
This pinephone project was the last thing I remeber looking into. Not sure where they are at now. But I think they have a number of OSS you can look to contribute to.