postmarketOS in 2025-07: Fairphone 6, apk3, /usr merge, immutable, new plasma camera

August 03, 202523 min. read

The Fairphone (Gen 6) lying on a table filled with pmOS stickers, showing a mastodon post about PCBs arriving

Let's start with this amazing photo that Luca took of the Fairphone (Gen. 6) showing the brand new postmarketOS port. Like with Fairphone 4 and 5 before, he published it on release day of the new Fairphone, this time along with 59 (!) patches to upstream Linux! Below the phone you can see a new sticker pack that Ranny, dikasp, Oliver and Luca made for the upcoming FrOSCon 2025 event and many events after (!65, !66, until they run out, of course)!

Organizational

apk3

Immutable postmarketOS

Terminal showing sysupdate list running on postmarketOS

Clayton has been heavily working on a proof-of-concept for the optionally immutable version of postmarketOS, which will rule out whole classes of errors for end-users that can currently happen when upgrading the package based systems. He recently showed a demo video of the update process for the first time. The implementation is done with the following:

If you are curious about immutable postmarketOS, you can join the new Matrix/IRC room.

As part of this effort, there have been multiple patches making it into pmaports (!6565,!6602). Thanks Clayton, Casey, Aster, Pablo and also NLnet/NGI0 for funding a lot of this work as part of the daemons project!

/usr merge

"We are ready to merge /usr in postmarketOS!" — when we announced that on Mastodon with a link to our edge post, there was some confusion about what the /usr merge actually is. So for this monthly blog post, let's explain it first!

The /usr merge is where everything under /bin, /sbin, and /lib are moved into their respective /usr subdirectories. Then, for compatibility sake, the root-level directories are made into symlinks to their /usr counterparts. Doing this, as Pablo explains it, "simplifies the system hierarchy, and removes a common source of annoying-to-debug issues. It aggregates all vendor supplied system resources in a single place. So it can be very easily mounted read-only or over the network, backed up, etc.". Besides that almost every other Linux distribution is doing it, systemd requires it (we currently patch this out in pmOS), and it will be needed for immutable postmarketOS.

In postmarketOS, /usr merge is reaching its final implementation stage where we are recommending experienced edge users to do the switch. We are also preparing to automatically switch all remaining edge users over to merged /usr on 2025-08-27. The transition has been tested for some months now, so in theory users shouldn't notice anything different after merging. If you would like to help testing before the final merge period or just want to try out the newest stuff, follow the steps for testing.

The msm-firmware-loader was upgraded to use /run instead of /lib/firmware to comply with the usr-merge and prevent potentially being under a read-only directory where the script would fail to mount the msm-firmware (!21, !6824, !6825).

All of this wouldn't have been possible without the tireless work of the whole team (!6754, !2637) and beyond, so thanks to Pablo, Clayton, Ariadne, Aster, Achill, Brady, Bartłomiej, Jane, Oliver, Rob, Barnabás and everybody else who helped out!

Hardware testing automation

Five green PCBs laying near or on top of each other. One is flipped over, showing the postmarketOS logo and some data on the PCB.

Our hardware testing automation project has seen some exciting progress:

pmbootstrap

New device ports

We are excited to announce that the following devices have been ported:

New generic ports

Kernel packaging

As usually here is the long list of kernel packaging related merge requests. The list below only has the names who made the merge request, but our thanks also go out to everybody who contributes in the git repositories that are packaged there, or who contributes in another way such as testing or reviewing. Without you this would not be possible!

systemd

pmaports

Plasma Camera taking a photo of a plush dog on a keyboard
  • Plasma Camera 2.0.0 has been released, which "ports the application to use libcamera as the backend for interfacing with cameras, finally allowing for it to be used on Linux mobile devices (such as the OnePlus 6)." Following this change, the Plasma based UIs were adjusted to use Plasma Camera instead of GNOME Snapshot in new installs (!6780). Furthermore a config for the Google Pixel 3a has been added (!6791). If you want to learn more about this and/or see more of the cute dog plush, read "A libcamera port of Plasma Camera" and "Plasma Camera Porting to libcamera". Thanks Devin, Andrew, Bart!

  • Phosh now uses the more feature-full Stevia on-screen-keyboard instead of squeekboard (!6596, !6605). See the edge post if you want to keep using squeekboard. Stevia supports word completion, character popover and a lot more. We configured Stevia to show arrow keys in the terminal (!6609). Thanks Guido, Achill, Stefan, Oliver!

  • The Samsung Galaxy S9 has been moved to the community category of devices (!6493), and has continued receiving maintenance updates (!6638, !6692). Thanks Dzmitry!

  • Modem has been enabled for the MSM8917 (!6774). Thanks Barnabás!

buffybox

Vladimir has continued improving our low-level suite of graphical applications that is buffybox and cleaning up the project.

Big improvements:

…as well as small but important fixes:

Thanks Vladimir for the patches and Johannes for all the reviews!

Artwork and homepage

A compilation of sticker-like minimalist design of a robot-bunny mascot in green, white and dark gray colors. One proudly posing with one leg resting on a rock with a computer-backpack. Second one shouting "everyone is welcome" and holding a lgbtqia+ flag, Third pointing at a white board saying "less rough edges with every release", Fourth with a mic and headphones recording a podcast and Fifth on a toy train pulling assortment of devices displaying postmarketOS, said train is driving on rails made of words "daily driving on the mainline".

Misc

Events

Anjan at FOSSY showing postmarketOS running on a Pixel 3a and SHIFT6mq as well as Clayton's Pinebook Pro running an immutable install of pmOS.

Ranny has been working on maker chips for DEF CON 33: "They are a 3d printing enthusiast thing basically, incidentally also poker-sized, but 3d printing people make them to exchange, kinda like art cards or hex stickers. The intro to this video goes a bit more over them if you're more curious."

  • This weekend FOSSY 2025 has been going on in Portland, OR USA (July 31st - Aug 3rd). Thanks to Clayton and Anjan for representing postmarketOS there with a table and for co-organizing the mobile track! Clayton: "someone had a vizio TV that broke last week, so they ripped out the boards and brought them to me yesterday and asked if I could install pmOS on it 🤣"

  • DEF CON 33 is coming up from Aug 7 - 10th in Las Vegas, NV USA and we will be represented by Ranny who writes: "If there are people going who would be willing to lend their postmarketos device to show off at the table, that'd be really well appreciated! Also if there are any volunteers to run the table a few occasional moments here and there, that'd also be amazing! [...] If so let me know either by replying/DM'ing me here, or write in the relevant issue on gitlab or contact through my email."

  • FrOSCon 20 will happen from Aug 16 - 17th in Sankt Augustin, Germany, with two talks "Bringing distros to Android phones with U-Boot and EFI" (Casey) and "postmarketOS - Digital Independence in Your Pocket" (Luca) back-to-back, a FOSS on Mobile stand where we collaborate with our friends from Mobian and Phosh as well as a FOSS on Mobile project room (what exactly will happen there is undecided as of writing, but probably spontaneous hacking sessions, lightning talks and/or bring your own device and we try to flash something). If you are coming and want to show something in the devroom, there's a CfP. For discussions join #froscon-linux-mobile.

Help wanted

This blog post was written by Oliver, Pablo, Aster, Ranny. Header image by Luca.