This is a follow-up to my earlier posts:

https://lemmy.sdf.org/post/12809764 https://lemmy.sdf.org/post/19600671

We’re Getting Closer.

It’s just small stuff left that needs a bit of piecing together, though I’ve now been daily driving my port for the past two weeks already.

This Works

  • booting
  • display
  • touch
  • modem <- You might have to switch to the other slot if it does not work: mmcli -m 0 --set-primary-sim-slot=1, options are 1 or 2. Note that the modem could also be a different number, maybe try -m 1 if it is not found as the command will reboot the modem and then it changes.
  • plymouth
  • battery/charging
  • mobile data
  • wifi
  • torch
  • suspend
  • call audio
  • vibration
  • Bluetooth™
  • full disk encryption
  • eSIM (I’m working on the packaging for the tool you need to provision it)
  • SMS
  • audio (ALSA config not packaged, but can be added manually)
  • camera (have taken a few photos, but the kernel driver is still work in progress and sometimes it just does not work)

This Has An Unknown Status

  • Fingerprint Sensor
  • NFC (should work, does so on pmOS)

This Does Not Work Yet (Soon™)

  • GPS
  • USB host mode (no Kernel support yet, but apparently this is being worked on)
  • Verified Boot (first need to do research whether this is actually feasible)

This Is Missing And Will Come Later

  • accelerometer
  • magnetometer
  • ambient light sensor
  • barometer

Project Status

To Do List

Done List

Misc Issues

  • ALSA config for the device has not been upstreamed yet
  • Issues with 5 GHz wifi
    • Can be worked around by forcing the phone to only use the 2.4 GHz band, for example using nmtui, the network settings of GNOME/Phosh are bit too simplistic for that
  • No idea how to get the call audio on Bluetooth, meaning you will have to hold the phone or use a cable, for now

(This is a non-exhaustive list)

Low Priority

Other than that… Everything should be there. It’s definitely usable already.

Just a few smaller quirks to iron out and two packages to get into the repo.

The Sources (Use The Source, Luke)

Thanks For All The Fish

Huge thanks to be sdm670-linux project and flamingradian who runs the project (just one person!) to make sure the Kernel works on those devices! :)

I don’t know how Kernel development works, so I would have never started porting without this project.

Find that here: https://gitlab.com/sdm670-mainline/linux

Questions Accepted / Ask Me Anything About The Project

I will gladly answer all questions, I hope that more people will start porting if it becomes clear that this is not arcane magic. It’s mostly just arcane. And a community of friendly people that try to be helpful.#

  • sunstoned
    link
    fedilink
    English
    arrow-up
    12
    ·
    4 months ago

    Amazing work! I’m very excited to see mobile Linux reach a usable state for every day processing. Thank your for your time and energy. It is valuable and going to good use.

    Why the Pixel 3a? Is there anything special about it (or not special, which might mean my old 3XL is good for more than gathering dust?)

    How can I get involved? I know my way around C and would love to pitch in.

    • erebion@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      5
      ·
      3 months ago

      Yup. It definitely is now ready for everyday use, though there are still a few smaller issues I’ve got to fix. But nothing that stops me from using it now.

      The only thing special about the Pixel 3a is that I had it already. Maybe it is special in that it is now the smallest Linux phone that is supported by a mainline kernel AND which is actually usable as a phone (for some other phones audio does not work, for example). Some might call a headphone jack something special… or an eSIM, as there are not many Linux phones with an eSIM.

      To get involved, I recommend joining the Moban Development Matrix room: #mobian-dev:matrix.debian.social

      Pretty sure we can find something where skills in C would be helpful.