The people behind OpenMoko are amazing, and the tech they built for that still lives on in other projects like the Linux Kernel ist truly creative and trailblazing stuff.
Yes, it's nice to see that pmOS is already enabling experimentation into such things as graffiti-like gesture input. ISTR that people used to be quite proficient w/ the old graffiti system when it was around, so this might turn out to be the most usable input system on these devices, at least for power-users, and until wholly-open voice-recognition systems become viable.
I used this setup daily on a geeksphone keon for about a year. I liked it quite a bit. Sadly the screen got broken and 2G service was getting bad. :) I hope to bring this fun experience to another phone with pmos. After the modem starts working I can pull together what I had before for texting and contacts and push it to the shelli repo.
I also experimented quite a bit using pocketsphynx for voice recognition and espeak for synthesis. Some things worked pretty well if I kept the set of recognizable things small, which I liked anyway.
The libhybris support that's mentioned near the end is the most interesting part, IMHO. In principle, that should ultimately be enough to run a postmarketOS-based userspace (and of course, a Debian Mobile based one, or any other distro of your choice) on any device supporting GSI ("Generic System Image")/Project Treble, dispensing with Android or AOSP altogether. Thereafter the only thing that the pmOS project needs to concern itself with is kernel support (bringing the mainline kernel and free driver support to more devices) and older devices that have not been "Treblized" already by the OEM or by the AOSP modding community. It's not as simple as one single image being sufficient for everything, because even GSI's come with a few variations (IIRC, 32- vs. 64-bit, and A+B boot partition scheme vs. A only) but it's very close!
Added: I've noticed that Alpine seems to have dispensed with ARMv6 architecture support altogether in the upstream. Unfortunately, this cuts off a lot of the oldest AOSP devices from support - devices that used to run quite well with CyanogenMod, and that ought to still be usable in some way, if perhaps not in a truly general-purpose sense given how limited some of them are (512MB RAM/512MB "internal" storage, etc.). Is there any hope of pmOS picking up this support?
> Added: I've noticed that Alpine seems to have dispensed with ARMv6 architecture support altogether in the upstream. Unfortunately, this cuts off a lot of the oldest AOSP devices from support - devices that used to run quite well with CyanogenMod, and that ought to still be usable in some way, if perhaps not in a truly general-purpose sense given how limited some of them are (512MB RAM/512MB "internal" storage, etc.). Is there any hope of pmOS picking up this support?
In theory it would be possible to keep armv6/armhf around in postmarketOS even if Alpine dropped it. But right now we don't have the resources to do that (and if we had, it would make more sense to help out in Alpine to keep the architecture alive there, if they are interested).
You can't achieve this without support from the free, mainline kernel, which I've also addressed in my comment; downstream kernels, by and large, depend on these proprietary blobs. Mainline kernel support is also hard; the LG Nexus 5, which is the "flagship" device for pmOS, still doesn't support mobile calls properly.
It just makes sense to split the job and work on the kernel vs. userspace bits independently. Compare with e.g. cyanogenMod or LineageOS; running a non-AOSP userspace gives you something that will run as smoothly as iOS does today, and that (barring kernel or driver bugs, of course) can be updated indefinitely.
There was a lot of progress on the codec part by opendata27 but as you can read in the blogpost, he dissapeared sadly.
The same audio codec is also used for a bunch of sony phones with the same soc (like the Sony Xperia Z2) and Sony does contribute to the mainline kernel so there's hope there.
Is there any specific list of things that still has to be done before voice calls are more or less functional for the N900? I looked around the Gitlab but couldn't seem to locate anything. The wiki[0] mentions a requirement of "libcmtspeechdata" but there doesn't seem to be any other information beyond that.
Yes, I had intended on spending this month on the audio codec for nexus 5 but was deterred by the modem not working. I want to split my time between reverse engineering mediatek baseband and getting a pmos daily driver going with the shelli UI. So hope to come back to the audio codec in about a month. Hopefully somebody comes along and does it before me! :p ;)
To my understanding armhf/armv6 is still supported; there was a time when armv7 was introduced where armv6 was dropped and restored shortly after. There was interesting thread in mailing list called "Should we drop armhf (armv6) support with 3.10 release?" but as for now they haven't decided yet if they want to drop it in 3.11 or keep it longer
libhybris is a complicated issue. It can easily be a crutch that sabotages the most key promising quality of the project -- of sustainability of the devices, due to maintainable mainline open source. People can argue about tradeoffs of compromises, but we've seen numerous earlier projects be killed by compromises like that. I'm currently thinking the best bet for PostmarketOS is to try to attract programmers who are committed to the mainline open source goal.
Wow, I remember booting up your port on my XE to run a Minecraft server on my Google glass during a vacation; thanks for all your hard work making pmOS better!
That's awesome! More stuff is in the works too, I plan to start working on a UI for pmOS on Glass. For such an interesting piece of hardware, it's so sad to see it just waste away :)
(I just had to dig it up to see what you mean with "nearly two years", but given that this two years post is late by a month, and you started your porting work before making that pull request, I can see why you would write that now :) )
Cool. This is really shaping up nicely. I have to admit that when I first heard of it, I thought it's probably just one of those projects I'll never hear from again. Really happy to be proven wrong!
There have been many Linux handheld projects that died. I think PostmarketOS has the right idea with emphasizing mainline Linux (and GNU-ish userspace), and no closed bits, on many popular and affordable devices.
One of the things it needs now is more people to follow through, and spend significant time on getting some of the devices (e.g., Nexus 5) perfect, like how Linux was originally gotten working well with various PC devices.
We do spend quite some time on the Nexus 5 because it's quite near being fully functional on pmos. The issue is that the parts that don't work yet are usually the hardest to fix.
Same issue with the Nokia n900 which has very good mainline support but is doomed with powervr graphics
So it's mostly the devices running on mainline. those all have some issues to work out but are pretty close to functional.
At the same time a lot of work is being done to package desktop environments so you can actually do stuff on the ported phones. due too the way pmos is set up this means that once it works on one device then it works on all of them (except for hardware limitations, or lack of 3d acceleration)
A lot of the devices are devices that only one person is working on which means that not a lot of stuff works mostly but it can be used to develop software on top of postmarketOS.
It's a good question, and I think the one that the majority of people in the world would ask when hearing about this project. But, though that functionality will undoubtedly become part of the sales pitch, I posit that postmarketOS is actually more about running desktop linux on your phone than it is about being a phone.
I suggest to familiarize yourself with the project first. That is, play around with it in qemu, flash it to a device if you have one or start your own port (porting is quite feasible, as one can see from the steadily increasing count of booting devices). Then work on what interests you most, and if you need some inspiration, take a look at the gitlab issues that are tagged with "help wanted". (Some are also tagged with "easy", which is obviously a good start.)
I've never contributed to what I consider to be a major FOSS project like this, but you've certainly got me seriously considering it. This is awesome and IMHO a very important project. Stuff like TenFourFox, which, if it wasn't so developed, I'd probably contribute to as well.
Anything that re-invigorates life into old devices like this is not only fun from a tech angle, but also good for the environment.
Would it be reasonable for PostmarketOS to support the OLPC XO-1? It has physically robust, capable hardware, and a great deal of technical information is available, but the semi-maintained software stack for it is based on an obsolete Fedora build. Is it too far away from the touch devices PmOS tends to target?
It would be very feasible, as long as you know where the kernel sources are (and since there is a Fedora build for it, this should not be a problem). Just follow the porting guide and it will show up as new device in pmbootstrap: https://wiki.postmarketos.org/wiki/Porting_to_a_new_device
Regarding touch-friendlieness: users can also pick user interfaces that are not optimized for touch input during the installation, such as xfce4, mate, i3wm.
FWIW I maintain a port of Debian stable for my XO-1 with IceWM and it's extremely resource-light on the aging OLPC hardware. I'd be happy to throw up the build scripts on GitHub if anyone is interested.
Doesn't the XO-1 have only 256MB RAM? That's definitely enough to boot Debian Stretch and get to a desktop, but I'm skeptical that it's useful for any real work.
(Of course, keeping hardware in use even as software requirements increase is kind of a hard problem; Debian itself used to have its own projects - Emdebian 'Grip' and 'Crush' - to try and address that issue with a broadly Alpine- or pmOS-like approach, but these were abandoned a long time ago unfortunately. The whole "embedded" Linux space is a bit of a mess, and a broad, community-led project like Debian could have a positive impact there.)
I would absolutely be interested! There was a great deal of experimentation with alternate distros when the XO-1 was first released, but virtually everything from that era has succumbed to link-rot.
Speaking in general about alternative systems for phones and tablets, I have a few obscure tablets I'd like to free of Android and repurpose for more useful tasks, but they're either too old or unknown to be supported. Is there any tool that would help to identify their hardware and possible more famous clones, then suggest the right image to be tested on these devices without bricking them in the process?
The only way I know of is checking the info in the about phone/about tablet menu and googleing for the magic strings like the build number and kernel version. also if it happens to be an allwinner tablet then you can just look at pictures of tablets at the sunxi wiki.
Phone calls do not work yet, and since we get asked about this all the time, it is in the header of the homepage now - on every page.
> Is there a reference phone that I can be sure will work?
We have two featured devices on the homepage, the Google (LG) Nexus 5 and the Nokia N900. But even for those two we can't guarantee that they are always working, in fact with the Nexus 5 we have quite a lot of breakage lately with one of the reasons being a mesa update that broke the freedreno driver. For the PinePhone devkit we started publishing reference images, which you can expect to not have major issues such as not being able to boot (as mentioned in the blog post).
EDIT: and of course: contributions welcome! if you are passionate about getting phone calls working with let's say the N900 on postmarketOS and have some time to spare, and you are not afraid of learning something new and having a lot of fun in the process, then have at it. Especially with the N900, there is a lot of groundwork available to build upon.
I came back after some hours and realised... postingg a truly open linux distro on mobile phones is basically like using linux on pcs in the later 90s or early 00s...
It's off-topic but I just wanted to say that I love that their entire screen header simply states an easy-to-read definition of postmarketOS because I literally read the headline and said "Just what is postmarketOS? I see it come up from time to time."
I wonder if it's annoying to people who are already familiar with the project.
I tried pmOS on the Nexus 7 2013 (flo) and it's crashy and glitchy everywhere. I've got a debug port via the headphone jack, but without someone else to assist me I'm not going to get very far.
also, the demo with gesture typing on the console is pretty cool: https://postmarketos.org/static/video/2019-06/nexus5-shelli-...