We didn't put and again more Trusted Contributors into the title of this monthly blog post just to keep it fresh… but we could totally have done that since again we have two more new TCs. Meaning we are at 11 in total! In other news, since the last monthly update it was somehow Plasma Mobile week with Bart's excellent blog post on Daily driving Plasma Mobile as well as having a wonderful conversation with Plasma Mobile lead developer Devin.
In addition, on the planning side of things, we have started to more heavily use milestones for planning big tasks. The goal of those milestones and their related issues is to properly document things that need to be done. It means that anybody from the community with interest in any of those things can just learn about what needs to be done, and take smaller or bigger tasks to contribute and move things forward. We hope that this will let us organise our efforts better, as well as providing transparency and driving contributions into bigger efforts that require coordination.
pmbootstrap 2.3.0 and feature freeze
After three months of work, we are happy to have released pmbootstrap 2.3.0! It has a lot of output improvements (more colors and clearer messages), as well as a greatly simplified "pmbootstrap status" command that you should totally try out. The APKBUILD variable parsing has been made faster and more accurate, and a lot of work towards systemd has been done.
This release also features Sphinx documentation support for the first time. For now it needs to be built locally, but soon a hosted version will be available to directly view it in the browser. We will probably move some of the pmbootstrap documentation from the wiki over into this as well. This will greatly improve the docs and allow for updating it at the same time as making code changes.
Now that this release is out, we will tackle a large refactoring of the code base with !2252. It will make future maintenance and development a lot easier by introducing a strongly typed chroot suffix. Rebasing this merge request is a lot of effort, so we decided to do a feature freeze until it is done (merge nothing but bug fixes to pmbootstrap that cannot wait until this is done).
Thanks to Newbyte, Oliver, Rob, Casey and everybody else who contributed!
So what's new?
New Trusted Contributor: Jane. She has done a lot of great contributions to postmarketOS and Alpine over the past years, such as fixing important bugs, maintaining the Phosh packaging for a while and doing the initial systemd bringup. We still have a lot to do regarding systemd (blog post with current status will be out soon), so having her as Trusted Contributor will probably help a lot with that!
New Trusted Contributor: Bryant. He has ported samsung-milletwifi and is working on mainline support. Beyond that, he has experience with project planning and coordination. The awesome postmarketOS community keeps growing and these skills are needed to keep us all coordinating effectively. Him coming onboard couldn't have come at a better time!
Speaking of helping people to get things done, we introduced Active Community Members to give more people the ability to triage issues and approve merge requests.
We have 5 new device ports: Huawei Maimang 5, Kobo Nia, SHIFTphone 8 (which is not even released yet…!), Realme GT 2, and Samsung Galaxy Core LTE. Thanks to all our device porters!
Motorola Moto G (1st gen) gained mainline support. Thanks Stanislav!
Multiple kernels were updated to the previous kernel release, 6.8, and others to the newly released 6.9 (or release candidates). Thanks a lot to all our kernel maintainers!
postmarketos-update-kernelandpostmarketos-update-depthcharge-kernelscripts have been merged into boot-deploy. This simplifies device packaging and allows other distributions to reuse them more easily. Thanks Newbyte!boot-deploy now has a more generic way to detect if run inside a chroot. This is a potential improvement of the whole integration across postmarketOS, and allows it to be better reused by other distros. Thanks Syboxez!
Use extlinux instead of Uboot scripts in the Kobo Clara HD and Tolino Shine 2HD and 3. This means these devices now use a standardised early boot process instead of the former custom one. Thanks Andreas!
A new release of postmarketos-tweaks has been tagged and integrated. Thanks Newbyte!
Device package versions were made consistent (!4994). This came after a lengthy discussion. Updated documentation is also available. Thanks Ferass, jenneron, Clayton, and Pablo! This was truly a team effort!
The "unmaintained" section of devices has been renamed to "archive". This should help with the confusion around whether unmaintained device ports should be moved there or not. They shouldn't, the purpose of this directory is for devices with a (close to) mainline kernel, to have an additional downstream kernel packaged that should not be used except for doing further mainline bringup. In the process, many downstream kernels have been fixed to build again. Thanks Newbyte!
fat32 and fat16 boot partitions can now be mounted from
/etc/fstab. And we have also hardened some of the boot options. Thanks Pablo!GNOME UIs now all use GNOME Calendar by default, since it is fully adaptive and connects to GNOME Online Accounts. This allows for having WebDAV calendars synced globally, which was the missing feature for pulling the plug. Thanks Joe and Pablo!
The generic x86_64 port was moved to community! As we don't have an installer, the installation experience is still far from perfect, but this makes it easier to flash and install postmarketOS on any x86_64 machine, be it a laptop, tablet, or any other type of device. Several members of the Core Team are already daily driving this! Thanks Clayton!
It is now much easier to switch between pipewire and pulseaudio, basically
apk add postmarketos-base-ui-audio-pipewireor pulseaudio instead. Thanks JustSoup!The out-of-the-box experience for testing and developing the libcamera and pipewire stack has been greatly improved. This includes having necessary packages installed by default, the stack updated to latest versions, and devices in main having the necessary kernel config options enabled. You can follow the progress here. With the merge of the Software ISP in libcamera, it becomes a lot more feasible to support camera functions in non-camera specific apps, e.g. QR-code scanners, Firefox, messaging apps, etc. This is what makes this development especially exciting. Thanks Robert, Arnavion, Newbyte, and Pablo!
systemd work has continued at a steady pace. We now have a separate Matrix and IRC channel for systemd + postmarketOS, and put some thought into labelling related issues as well as creatingmilestones. As mentioned above, we'll publish a more detailed blog post about the current status soon. Thanks Bart, Bryant, Casey, Clayton, Ferass, Jane.
There is now support for running Moonlight in place of a traditional user interface. Moonlight is an open source client for Nvidia GameStream, letting you stream games remotely from another device. It also has a corresponding open source server implementation called (Sunshine). Thanks jenneron!
twemoji font is now installed by default in new installations. It is smaller than other emoji fonts and guarantees that every UI package will have emoji support. Thanks Rob!
Sensor support for xiaomi-beryllium (!5099): light, proximity and accelerometer senser could be made working all at once with amazing team work from Rob, Dylan, Joel, Richard. This is huge, thank you so much!
And what's next?
The v24.06 release is around the corner! The timeline has been set accordingly, and related infrastructure work as been started. If you want to get your hands on it before everybody else does, and help out with testing, make sure to join the Testing Team and the Release Party Channel. (This one won't have systemd just yet.) Thanks, Oliver!
If you want to peek through the crystal ball regarding what comes after systemd, there have been some ideas for a long time to create an immutable/composable version of postmarketOS. It is finally written down in #62 to kick off the discussion. Just like the systemd stuff, this will be optional. Thanks Casey!
Friends from the wider Linux Mobile scene as well as a few postmarketOS developers have decided to meet up at FrOSCOn, 2024-08-17 and 18 in Sankt Augustin, Germany. The event is free, if you are in the area, consider hanging out! An application has been sent to have a FOSS on Mobile devroom again like last year. We might also have a stand where we show some demo phones. If you plan to go (and maybe even want to help out?), join the postmarketOS events chat.
Help wanted
As always, we are happy to have people join the fun. We get so much done because we have people like you who are reading the blog posts we write, but then also decided to start contributing by sending their first patches to improve something in postmarketOS. If you're looking to get into the coding side of things, check any issues labeled as help wanted. Otherwise we always need help with testing (see request-for-test) and improving our documentation.
If you appreciate the work we're doing on postmarketOS, and want to support us, consider joining our OpenCollective.