Core Team Meetings

From postmarketOS

Monthly meeting of the Core Team to move postmarketOS forward. Important discussion results are written down in this wiki page.




  • launched opencollective:
  • discussed what server to order, to replace the current, not so reliable one
  • switch to osk-stub instead of squeekboard -> decided to wait at least after fosdem to decide
  • discussed how to make ping of device maintainers for releases feasible -> CODEOWNERS (pmaports!4940)


  • discussed voting rules for team members / trusted contributors (see updates in team members), and how to make a proper application process for TCs in general (-> will probably follow up with a blog post about it)
  • discussed applying the new wiki theme -> yes
  • discussed disabling wiki talk pages -> yes, disable them
  • talked about logbookd, we probably want this but let's revisit after v23.12 is out
  • talked about placing /tmp in RAM -> yes, follow up in a pmaports issue
  • went through open v23.12 issues


  • discussed current state of CI / automated device testing
  • RNDIS -> NCM: decided to change the default to NCM, now that it is easy to override deviceinfo variables (pmaports!3670)
  • discussed how to improve accessibility (pmaports#2321)


  • to save disk space: decided removing all images of a release when the release is considered unsupported (they can be built again from pmbootstrap if needed, binary packages are not deleted)
  • decided to ask Pablo to join the core team
  • discussed current state of CI / automated device testing


  • Martijn stepped down from the core team
  • discussed how to handle pmOS infra from now on, made plans for moving legacy VMs to the new server
  • discussed automated device testing
  • discussed making a monorepo for unl0kr, ondev2, recovery to make development easier ->


  • decided to do a new megapixels release 1.7.0
  • discussed automated device testing
  • new shirts



  • discussed upcoming hackathon
  • v23.06: discussed shipping gnome mobile: possibly, depending on how it goes at the hackathon
  • v23.06: went through open issues
  • v23.06: discussed dropping pinetab unless we find a new maintainer



  • discussed forking gtk+4.0 (pmaports!3894)
  • discussed getting community more involved in testing devices -> plan to organize it and mention in next release blog post (pmaports#1824)
  • discussed staging branch feature for bpo
  • discussed MR to improve commit title checks pmaports!3131 and merged it


  • add Pablo as Trusted Contributor
  • discussed relocating /etc/deviceinfo (pmaports#1836)
  • Alexey requested to be Trusted Contributor instead of Core Team Member
  • discussed coreutils MR (pmaports!3868)
  • discussed pbsplash


  • discussion about RO rootfs / OTA update mechanism: use a different project name for it, so it's not directly part of pmOS but who wants to can work on it and extend it
  • add Jenneron as Trusted Contributor
  • follow up on moving to sourcehut:
    • give the transition more time since we didn’t start right away with testing sourcehut and the review UI is not there yet
  • grant application ideas
  • leaving twitter for good: yes, try to set up a poster of mastodon posts to twitter (that ideally just posts the mastodon link) so the move is more noticeable than if we just shut off the account (actually setting that up may take some time)
    • looked into it and was too much effort, we decided to just stop posting there (announcement)
  • removed "certified brands" from wiki (wiki#72)
  • FOSDEM stickers
  • improving install instructions in the wiki
  • decided on removing inactive device maintainers


  • disk space problems on bpo
  • using superd for userspace services (pmaports!3712)
  • v22.12: went through issues, release name
  • require devices in main/community to have install instructions on their wiki page (-> wiki page updated)
  • put OP6 into main for the release? (and OP6T, Pocophone F1, SHIFT6mq?) -> release too close, can do it in a service pack
  • put samsung-grandmax into the release (community?) -> release too close, can do it in a service pack
  • discussed dropping the Librem 5 from main category due to not having two active maintainers. we prepared to do that for v22.12, but a new maintainer showed up and now we have two again!


  • discussed reducing exynos4 kernel for p4note (pmaports#1785)
  • discussed pinephone initramfs breakage bug (pmaports#1618)
  • v22.12: timeline, went through open issues
  • fosdem talks
  • openrc-settingsd should use chrony (openrc-settingsd#1)
  • discussed whether to change the default branch name, decided to leave as-is
  • discussed apk interactive not working well with pmbootstrap, should be fixed in pmbootstrap


  • started setting up riscv64 during the team meeting, now it's supported in edge
  • started a workflow for issue triaging (WIP) -> Triaging
  • pmaports issue template: removed "Other" UIs long list, replaced with "fill in" thing
  • discussed providing nightly dev packages for Plasma Mobile -> we would like to implement this, but due to time concerns we can't commit to it right now
  • use semver for device packages? -> nope
  • CI check for pkgrel, pkgver: discussed ideas implemented in pmaports!3615
  • pipewire: can we switch to it before v22.12 is out? nope, too close; v23.06 would be reasonable;
    • what are the blockers? Some sdm845 bugs are currently being ironed out
  • shirts: renamed "The other OG" to "Classic", as we already have OG in another shirt title and it was kind of overused there
  • support WSL qemu in pmbootstrap? rather not


  • discussed who to propose for commit rights in alpine, see
  • discussed whether to provide pre-built images for gnome shell on mobile in pmOS edge -> yes, as it's fine with upstream; discussed to adjust postmarketos-welcome


  • updated Device categorization, replaced "coming soon: all of them must have automatic kernel upgrade working" with "All of them must have automatic kernel upgrade working" and clarified it
  • kernel configs:
    • decided to make guidelines for how a kconfig for linux-postmarketos-* kernel should look like
    • decided to move kconfig checks out of pmbootstrap's config/ to pmaports.git (#2165)
    • decided to add ability to enforce a specific kconfig check for community/main devices (#2166)
  • added -i to apk add comments in Terminal_cheat_sheet
  • discussed replacing the official pmOS logo with this variation but decided against it, too much going on right now, not worth it. instead we can make it an option for the pmOS boot splash, so the users can switch to it if they want. the default would still be the official logo for consistency.
  • Minecrell decided to step down from core team member to trusted community member


  • investigated pmaports#1618 together
  • updated pmaports#1133: enable zram by default -> yes
  • talked about removing mirrors from github, decided to do it


  • got rid of wiki badges for discord/github etc, we don't want to endorse these proprietary platforms
  • discussed finishing up PPP -> community (pmaports!3238)


  • went through remaining tasks for v22.06
  • reconsidered approach to service packs, as announced here
  • added a bot to /r/postmarketOS to point people with Sxmo questions to their IRC channel and ML (as suggested by Sxmo team), and while at it, added messages to point at the pmOS issue tracker as well.


  • Discussed what to do about changes
    • Apply for "GitLab for Open Source" to get some more time
    • In the long run probably move to something else, more research needed.
  • Discussed "How to change versions when changing a package multiple times in one MR?" (pmaports#1463)
  • Should we have an announcement channel for new blog posts, podcasts etc. @room pings instead of posting into the main channel?
    • We considered this but decided against it. postmarketOS notifications is on topic for the postmarketOS channel. We have subchannels if one does not want to take part in the general discussions, like the porting channel. So we'll keep these notifications in the main postmarketOS channel instead of making yet another channel.


  • Discussed how to finish up linux-postmarketos.git storage issues (postmarketos#47)
  • Decided to not put links to comments at the bottom for future blog posts
    • Started doing that with v2.12 SP4


  • New team members: Caleb, Newbyte
  • Voting process for new team members: from now on, a new team member requires unanimous votes
  • status arm builder:
    • boots up fine
    • dependency: getting EU datacenter up for sourcehut


  • Discussed how to systematically move a proper release upgrade process forward, result in pmaports#1432
  • Decided to move kernels from main/ to device directories (device/main, device/community), result in pmaports!2882
  • Release process:
    • Decided to shorten the release process timeline from 6 to 3 weeks, so in winter it doesn't collide with the holidays around new year
    • Decided to have a proper feature freeze, so it's less testing effort and the shortened timeline actually works
    • Decided to really focus on upgrading from one alpine release to the next one in a release, try to avoid creating features specific for a release during that timeframe. This also helps avoiding a long release timeline. Either implement features over the time leading up to the release, or have them in service packs.
    • Ollie will update the process in the wiki and add a new timeline some time soon before the next release
    • Better description for edge/stable:!157


  • Discussed enabling the thing to enable creation of MRs via patches sent to mailing lists. We decided to enable it as experiment for now, may consider disabling it again in the future if it should become too much maintenance effort (apparently right now it will create a second MR when submitting v2 of patches, so we may end up having lots of duplicate MRs that we need to close; and maybe it has other unintended side effects).


  • Try to add X-Purism-FormFactor to all mobile app desktop files?
    • Problem is that this is not a real standard with "X-Purism" infront
    • Martijn found a way to override it in a dconf setting, so we don't need to modify all the .desktop files. Let's go with that!
    • Related: add StartupNotification=True? This is a standard, so yes, add it where it is missing if we see it. Note that GTK sets this automatically.
  • Went through v21.12 milestone


  • New team structure, introducing Trusted Contributors
  • Adopted Alpine's CoC as the pmOS CoC
  • New requirement for moving devices to community category (in Device categorization):
    • 2021-11 and later: track record of upgrading the kernel, device kernel or SoC kernel must at least have been upgraded through 3 kernel releases
    • MRs for moving devices to community that have been opened before we added this don't need to follow the rule yet.
    • This will prevent situations like "newly added device/SoC goes straight to community" and we can be somewhat sure that maintainer will not disappear after initial work is done.
  • Discussed whether we want to add wlroots with powervr patches to pmaports -> no


  • Discussed improvements for using pmbootstrap non-interactively:
    • resultig new pmaports#2072: non-interactive version of "pmbootstrap init"
    • discussed that we do want to have a way to supply a password programmatically, without the ugly yes "password" | pmbootstrap install hack. See pmaports#1908 and !2125 for moving this forward.


  • decided to drop support for using osk-sdl with directfb, so it can be dropped from sdl2 as dependency. directfb has long been unmaintained upstream. In practice, this means only mainlined devices / devices with DRM working instead of only framebuffer will be able to use osk-sdl.
    • On demand, somebody could work on a simple cryptsetup text prompt (cryptsetup luksOpen) in case DRM is not available. That might help with some of the convertibles that run postmarketOS... though some of them are already using mainline and therefore have a DRM backend. So if somebody wants this, please open an issue in pmaports.
    • EDIT: actually not everybody is in favor, so we'll discuss it again next meeting. it's not urgent.


  • Discussed and agreed on adding "No vendor lock-in" to our principles
  • Discussed how to improve device testing before new postmarketOS releases, decided to create a new release-party channel and to coordinate there. Ollie created this timeline for new releases and we agreed together with device and UI maintainers that we'll use this moving forward.


  • our aarch64 build server (will build binary packages natively in sourcehut builds to avoid issues with qemu!) has arrived at Martijns, he's setting it up now :) (see related mastodon posts etc)
  • qemu: doesn't have network with UI=none since networkmanager isn't in postmarketos-base anymore
    • use e.g. pmbootstrap install --add=networkmanager for now, see this new note
  • on-device installer: decided to remove sshd prompts for all UIs
    • already implemented, see here
  • decided to drop the "packaging" label in pmaports (it was more useful when pmbootstrap and pmaports were in the same repository). it's removed now.


  • Discussed what to do about's new measures to prevent cryptomining abuse (they require validating new accounts with a credit card or debit cart or else they can't use CI)
    • Understandable measure to prevent CI abuse, but very inconvenient for users
    • Decided to wait and see if this becomes a problem at all (do we get lots of MRs without CI?), and if it's the case, come up with a solution then.
    • One solution could be asking our friends from alpine if we could use their runners.
  • How do we get that awesome alpine-qa bot?


  • Came up with a workflow for creating a service pack (new wiki page), created v21.03.1 branch and issue (see Releases)
  • Decided which packages should be in postmarketOS and which ones should be in Alpine and moved some already (but didn't go through all of them in order to spend not too much time on it)
  • Replace Device Wishlist wiki page with organization repository (postmarketos#39) -> not worth it
  • We want to do quarterly finance reports (listing how much we receive in donations, how we spend it). Ollie will look into it.
    • UPDATE 2022-04-24: Talked to NLNet about this, not worth the effort right now.
  • Decided to disable charging-sdl in the initramfs as it's broken (pmaports#1064)


  • When pushing changes in gitlab, approvals are currently disappearing. This is annoying, because then one needs to look through the log to figure out who approved it. The argument for keeping it as-is was, because the approvals were really done at a certain time with certain commits pushed, if new commits get pushed, it is a different patch. The counter argument to that is, that keeping the approvals still makes it easier to see who has approved in the past, and the person who merges the commit still needs to review the patch again and must make sure that nobody pushed garbage to it right before merging / after previous approvals. We decided to try "keeping approvals after push" for one month in pmaports and pmbootstrap, and then see if we keep it that way.



  • News strategy: now that we have many types of media, where do we discuss which type of content? Rough template for the future:
    • blog posts: mostly cover postmarketOS stable, user-facing stuff
    • podcasts: cover postmarketOS edge too, more development faced stuff, and in more detail, stuff happening upstream
    • mastodon / twitter: post new blog posts + podcast episodes, short posts about interesting stuff happening in edge
    • reddit: post new blog posts and podcast episodes
  • Roadmap for 2021
    • January: v20.05.1 service pack
    • March: v21.03 release based on Alpine 3.13
    • Later this year: v21.xx release based on Alpine 3.14
    • See new Releases wiki page and related milestones for details
  • How long do we want to keep MRs open?
    • let's configure a bot that does:
      • warning after 1 month of inactivity
      • close after 2 months of inactivity
    • until we have a bot, manually close issues with 2 months of inactivity



  • We talked about when/if features should be backported to stable. Backporting every feature 5 days after it was merged to edge is too much effort. The solution we came up with is creating a monthly dot release with interesting features backported. All backports in one merge request, test them together, then merge. We'll do the merge request for these dot releases at the beginning of each team meeting, and if somebody wants to suggest something to backport just let us know in the chat or issues.
  • pinetab will be moved to device/community
  • pinephone will be moved to device/main


  • We're going to use the CODEOWNERS feature of Gitlab on demand, e.g. for shared kernels or specific packages a user is interested in
  • We're changing how we approve MR's, see the updated rules page
  • New features to edge that should also appear on the master branch will be backported after a week or so, at least 5 days


  • To move a device to the community directory will require it to run a close to mainline kernel just as with the main directory
  • The PinePhone will use a forked version of Megi's branch. We won't use p-boot though
  • We're going to have minimal kernel configs in pmaports.git and use shared fragments pmb#1824
  • Megapixels will be the default photo taking app in Phosh


  • Write down results of this meeting and future meetings in this public wiki page.
  • Decide on principles of postmarketOS: about postmarketOS#Principles
  • Decide first iteration of guidelines for packaging patches
    • Apply GTK+ patches to master too (pmaports#690). Most importantly, because stable should be a snapshot of master.
  • Do not merge back libhybris/Halium related patches as they cost us significant maintenance effort without benefit. If somebody wants to have it, they should create their own aports repository (and binary packages if desired), like Sxmo is doing it currently. We would also accept some integration into pmbootstrap, like an additional question in "pmbootstrap init" that makes it easy to use this 3rd party repository.
  • Mastodon: PureTryOut got access to the account, in order to make it more active (see Infrastructure Maintainers)
  • We discussed if we want to keep the "two approvals before merge" rule (see Team guidelines). We do want to keep it, the benefits of better review are worth the increased time until a MR gets merged.
  • Get all devices from community into stable -> new issue: pmaports#724