distronews.com stable7.3.1
postmarketOS Blog

The road to daily-drivable mainline phones

postmarketos.org

Key points

The Nura project (formerly postmarketOS) has redefined its "main" device category and set up maintainer teams for three reference devices, with the aim of making mainline Linux phones usable every day by people who are not enthusiasts. The post presents this as the third part of that effort, alongside Duranium and hardware CI.

The new "main" category

  • Devices are sorted into "main", "community", "testing", "downstream" and "archived". "main" had been empty since the v24.12 release.
  • Under PMCR-0009, "main" now marks selected ports that are well tested in hardware CI and backed by strong maintainership, with the Nura team taking responsibility for keeping them there.
  • The change request drew 151 comments before it was merged.
  • Maintainers of devices in other categories may use the same requirements as a blueprint.

Technical requirements

  • Boot via UEFI, for example through a second-stage bootloader on phones.
  • Upstream kernels only, with a strict and minimal patch policy.
  • No dependency on forked device-specific packages such as alsa-ucm-conf.
  • A generic device package for the target architecture.
  • Result: the ports are essentially fully mainlined and usable with other distributions too. One UI-specific aarch64 image will flash on every "main" aarch64 device, and kernel security patches reach all of them at once through the generic kernel packages.

Feature requirements

  • The device must cover the most common uses. For a phone that typically means calls, SMS, mobile data, Wi-Fi, audio, battery charging, Bluetooth and camera.
  • The maintainer team may propose exceptions with reasons (for example a fingerprint reader with no driver); the Nura team decides whether the port is complete enough.

Maintainer teams

  • Each device needs a team of at least 5 people, the majority from the Nura team. A team can start smaller and grow.
  • Responsibilities include regular meetings, long-term commitment, kernel maintenance and regression fixes, triage of community issues and hardware CI regressions, documentation, keeping hardware CI wired and working, and manual testing.

How a device gets into "main"

  • Join or open an issue in the new-device-teams project.
  • For a new issue, the infrastructure team creates bridged Matrix and IRC channels and a pmaports label; if that has not happened within a week, ask in the devel chat.
  • Once at least two people are on board, start regular meetings and work through the requirements.
  • When everything is fulfilled, submit a merge request moving the device to "main".

Initial candidates

  • Fairphone 5, Motorola Edge 30 and Radxa Dragon Q6A, all based on the SM7325 SoC, which already has significant mainline support and working UART access.
  • The Radxa Dragon Q6A, a single-board computer, is expected to reach "main" first.

Funding and helping

  • Most work is volunteer-based, so there are no ETAs. Donations fund development and hardware CI equipment and can be directed to this project; grant applications are in progress.
  • Non-coding help is wanted as well: testing, organisation and issue triage.

Summary by DistroNews, based on the original post.

We have shown that running mainline Linux on your phone is a real possibility for highly invested Linux enthusiasts. Now how do we get from there to making it usable for everybody else who just wants a working phone? Two important segments of the road towards this destination are Duranium and Hardware CI. This blog post is about the third one: reference devices! Members of the Nura team have joined forces to build maintainer teams for three of the many devices Nura runs on to push them across the finishing line and make them suitable for everyday use with Nura. More on the actual workflow comes further below, let's start with defining the goal in detail. New "main" category We categorize devices into "main", "community", "testing", "downstream" and "archived". The "main" category was emptied with the v24.12 release. With PMCR-0009 we have re-evaluated what we want to have in the "main" device category. Here is the summary: Set new requirements for the “main” device category to highlight selected device ports which are well-tested in hardware CI and set up to stay in “main” for a long time through strong maintainership. Change the meaning of the “main” category to not only indicate that more features are working than in the “community” category, but also that the Nura team is highly invested in keeping the device in the “main” category and takes on responsibilities to make this likely. Maintainers of devices in other categories are welcome to use some of these new requirements for “main” as blueprint for their devices as well, in order to get similar reliability and maintainership improvements for their devices. Fully mainline After many discussions (the PMCR merge request had 151 comments), we have arrived at high quality requirements for ports in this category. Among others: Boot via UEFI (e.g. through a second-stage bootloader on phones). Must use upstream kernels with a strict and minimal policy for patches.

This is the opening of the story. The full text is on the original page.

Read the original at postmarketos.org