It has been just over 1 month now since I have decided to leave my $dayjob at Igalia to work full-time on postmarketOS (announcement here), and I thought it might be fun to share some of the things I have done in the first month!
Lenovo Thinkpad X13s port
One of the first things I started working on was cleaning up the Thinkpad X13s port, since I plan to use this aarch64 laptop full-time from now on as my main system. I added firmware to fix some Bluetooth range/reliability issues, and added firmware for initializing the video decoder (venus) on the Qualcomm SOC. Word in the
#aarch64-laptops IRC channel is that by enabling the video decoder, laptop battery life is improved by several hours since it enables clock gating on some interconnect, or something. I have noticed a bit better battery life, though I've not been able to get HW decoding working with VP9 and h265 so I may poke around with that a bit later. Also on my todo list is enabling the WWAN modem. It shows up in ModemManager, but is not able to establish a data connection for some reason. Otherwise, it has been great running postmarketOS on my main system, and it being a small, light aarch64 laptop 😁
x86_64 device support (device-generic-x86_64)
I would like to make it easier to run postmarketOS on everything, including boring x86_64 systems that can already run many other distros just fine out of the box. Why? Because I believe that it will lower the bar for folks wanting to play around with the distro, and make it easy for OS and application developers to "daily drive" it on hardware they have. The last bit is interesting, I think, because until now we've been so focused on phones... and if you wanted to daily drive pmOS then you had to do it on your phone, and that can be a bit rough if you have completely reasonable expectations for your phone. By making pmOS easy to install on boring hardware, developers can focus on making OS and/or application improvements without having to deal with cranky hardware compatibility issues or forcing themselves to make difficult trade-offs about their smartphone usage.
Anyways, I've cleaned up the device "port" for x86_64 systems quite a bit, and have submitted more changes to support OEM-specific configuration for these systems. My goal is to eventually move
device-generic-x86_64 to the "community" category, and start generating images for our website.
There's a bit of humor here too with all of this work I am doing, since I no longer really use an x86_64-based system 😅 for development... I'm hoping it helps someone else though!
One of the outcomes of the x86_64 stuff above was to finally get around to adding
pmb_recommends support for any package in pmaports (patch). For those who have never heard of this,
pmb_recommends is our way of basically having optional dependencies, similar to what some other distros (like Arch Linux) support. It's handled only by pmbootstrap, apk ignores it, so it's only used when building new OS images. I'm excited about this patch though because it'll allow a bit of refactoring in our UI meta packages e.g., by reducing duplicated lists of dependencies.
One concern I have heard from family about the decision to work full-time on postmarketOS was that I would spend too much time working. This stuff is like candy to me, seriously, so their concern is definitely reasonable. I've been trying to prioritize time with them over anything related to pmOS, and been trying even harder to keep to it 😅 I felt this was important to bring up since it might explain a time when I am not on chat or whatever. Of course my family is my highest priority ! 😁
@jenneron has started implementing support for kernel kconfig fragments in pmaports, this is going to greatly simplify how we manage kernel configuration and enforce config requirements in our packaging repo. I'm helping him to test stuff, providing feedback, etc but honestly mostly just trying to stay out of his way since he is on a serious roll here and I think it's really great that he stepped up to make this happen. We've been wanting something like this for years!
I'm also thinking about refactoring our UI meta packages once the
pmb_recommends improvement lands, and finally get some GNOME desktop pmOS images that include more useful stuff OOTB than what you get today in those images.
I plan to attend FOSDEM 2024, so please come say "hi" at the Linux on Mobile stand!
Let me know if you think these types of "what I have been working on" posts are interesting, and I may do more in the future 😅
If you'd like to support my work on postmarketOS, please consider sending a donation our way on our shiny new Open Collective page.
Talk about this post on Mastodon!