Draft: Add 10 Sony devices based on a single shared -next kernel

The SoMainline team has always been active in mainlining and most notably upstreaming support for all recent (2016+) Sony phones. In this process however, while we've definitely been experimenting with various consumers of the kernel such as Android trees, Void packages and postmarketOS configurations, we've never published or contributed polished versions of these for the wider audience to enjoy all our efforts on the kernel side. Despite promising this on the few times that I met the awesome folks/maintainers behind pmOS!

That hopefully ends now with this MR adding 10 Sony devices to the postmarketOS device repository. The focus has been on getting minimal but consistent device packages written for all phones in this MR, while also recollecting our Linux kernel patches that enable at least these components:

  • Boots to console
  • Available on USB
  • Working display
  • Working touch
  • Working GPU (firmware via pmOS)

After all, not to say that we haven't stalled on our mainlining efforts some times. After first fixing and later bringing advanced display use-cases to the Qualcomm DPU driver for example (which has been enjoyed by many other mainlined phones thus far), our final panel+DTS patches never made it upstream yet. Enabling a much wider audience to run postmarketOS "out of the box" on their Sony devices should incentivise us/me to focus on finishing what we have already spent so much time on.

And on that I stalled again. This PR represents the state of my planned pmOS contribution in February, right after merging !7819 (merged) and rebasing one last time. There are quite a few critical points on which it hinged:

  • Will the pmOS community accept a temporary vendor-specific kernel? Nothing that the only divergence from -next at the time of writing is my display panel series + DTS.
  • Can we preempt that problem altogether by just using a -next kernel (not having display for some time, so that I can instead spend time getting those patches landed)?
  • Boil down the organic/growing defconfig (we've been appending to this one since 2020) so that it's still functional for all Sony devices but also acceptable upstream - kconfig fragments were just being worked on earlier this year so I postponed this.
  • Can I include more of the devices already available to me (list below)?
  • Where do we "leave" or provide firmware, given that Sony only distributes it as part of their ODM images? Suggesting every user to "extract" it themselves is cumbersome.
  • What other "trivial" (kernel) patches does SoMainline still have laying around that would already be useful to include (mostly a distraction when attempting to do things incrementally)?
  • Confusing standards in existing (qcom) pmOS packages, like whether to use soc- packages or opencoding it; same for firmware packages?
  • Updating wiki pages.
    EDIT: This turns out harder to do after some pages have been "excessively modified".
    EDIT2: It's been quite tricky to keep those pages in sync, each of them has as different "style" and set of parameters. Guess we'll get to unifying that whenever this MR is closer to merging and more of the questions have been cleared up.

So I'm finally opening this MR: get the visibility out to the community and hope that you're able to help out with these problems (even so much as suggesting what direction to take!) while I rebase and bring these patches 7 months into the future; surely some things changed in that time.

Devices in this series:

This list was determined based on the panel-driver series I was/am working on finalizing and resending; all other devices still have to wait a little bit.

Devices not in this series, but intended to be added later.

These already have mainline driver/DTS presence and/or are available to me for testing:

  • Xperia X (suzu). Initial mainline target, has many outstanding patches but got fried in a -next rebase with regulator changes. (replaces existing downstream pmOS port)
  • XZ Premium (maple)
  • XZ1 (poplar)
  • XZs (keyaki)
  • XZ2 Premium (aurora)
  • XZ2 Compact (apollo) (don't have this one)
  • XA2 Ultra (discovery) (needs merging with existing pioneer config/firmware/kernel)
  • 10 Plus (mermaid)
  • 1 IV (PDX223)
  • 5 IV (PDX224)
  • 10 IV (PDX225)
  • 1 V (PDX234)
  • 10 V (PDX235)
  • 5 V (PDX237)
  • 1 VI (PDX245)
  • 10 VI (PDX246)
  • 1 VII (PDX256)
  • 10 VII (PDX257)
Edited by Marijn Suijten

Merge request reports

Loading
Loading