This is a follow-up to my earlier post: https://lemmy.sdf.org/post/12809764

(I re-used the photo as it was quicker and because the UI still looks the same, anyway, five months later.)

Time for an update on where I got with the Pixel 3a / 3a XL so far:

I Am Getting There.

There isn’t that much missing anymore. Will probably soon try this out as my daily driver, just did not yet have the time to configure all the applications I need. :)

This Works

  • booting
  • display
  • touch
  • modem
  • plymouth
  • battery/charging
  • mobile data
  • wifi
  • torch
  • suspend
  • SMS (only receiving was tested, but I don’t have reason to believe sending wouldn’t work)
  • vibration (udev rule needs to be added to the corresponding package)
  • audio (ALSA config not packaged, but I’ll get to that…)
  • Bluetooth™ (mac address has to be set after each boot, one single command, should probably package a script, still thinking about the right path)
  • eSIM (supported, but needs a bit more testing)
  • camera (front camera buggy, back camera works but patches not in git yet)
  • GPS (needs some improvements to accuracy)

This Does Not Work (Soon)

  • USB host mode
  • call audio (requires packaging q6voiced to get audio from the modem, but of course VoIP would already work)
  • full disk encryption (no installer images yet, once the other stuff is done this will magically be there)

This Has An Unknown Status

  • Fingerprint Sensor
  • NFC (no idea what software I could use for testing, but should work, does so on pmOS)

This Is Missing And Will Come Later

  • accelerometer
  • magnetometer
  • ambient light sensor
  • barometer

The Main Issues That Prevail

  • A systemd unit with a hard-coded value, that has to be manually edited for now
  • ALSA config not yet packaged, has to be manually copied for now
  • few things to do for kernel packaging and then submitting that to Mobian
  • no call audio yet, as the daemon (q6voiced) is not yet packaged, but can be manually added for now (I’m considering just using VoIP until I can get to that :D)
  • simple script that brings up Bluetooth has to be added somewhere

Other than that, I cannot think of anything else that would be missing.

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.#

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

      Started writing, but then got sidetracked… by making audio calls work. :)

      Will post the link here soon, just want to verify there are not too many dumb mistakes in it, do not want to fruatrate anyone with terrible docs. :D

    • erebion@lemmy.sdf.orgOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 months ago

      Okay, just wrote an Ansible Playbook to roll out the workarounds, including call audio, which I just got to work, I’ve also tried to get Bluetooth working, but the udev rule is still broken.

      https://git.erebion.eu/forgejo/erebion/sargo-temp

      There are also some hastily written steps for building an image. :)

      Let me know what things are unclear, I will improve this.

      EDIT: Only tried using call audio via headphone jack and did not notice that internal speaker and mic currently do nothing, so I have to amend my to do list by just another bug. :D

      EDIT 2: The mic patch has not yet been pushed by the kernel dev and the ALSA config needs changes, but then audio calls with built-in speaker and mic will work. :)

      • thejevans@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 month ago

        I just started playing with this. I got as far as attempting to build the image in your mobian-recipes repo. It failed with this:

        2024/08/13 15:30:32 ==== Install base packages ====
        Hit:1 http://deb.debian.org/debian trixie InRelease
        Get:2 http://repo.mobian.org trixie InRelease [28.6 kB]
        Get:3 http://deb.debian.org/debian trixie/main Translation-en [6149 kB]
        Get:4 http://deb.debian.org/debian trixie/non-free-firmware Translation-en [4796 B]
        Err:2 http://repo.mobian.org trixie InRelease
        2024/08/13 15:31:08 apt |   The following signatures were invalid: EXPKEYSIG 951D61F2BC232697 Mobian Project <admin@mobian-project.org>
        Reading package lists... Done
        2024/08/13 15:31:31 apt | W: GPG error: http://repo.mobian.org trixie InRelease: The following signatures were invalid: EXPKEYSIG 951D61F2BC232697 Mobian Project <admin@mobian-project.org>
        2024/08/13 15:31:31 apt | E: The repository 'http://repo.mobian.org trixie InRelease' is not signed.
        2024/08/13 15:31:31 apt | N: Updating from such a repository can't be done securely, and is therefore disabled by default.
        2024/08/13 15:31:31 apt | N: See apt-secure(8) manpage for repository creation and user configuration details.
        2024/08/13 15:31:31 Action `recipe` failed at stage Run, error: exit status 100
        
        • erebion@lemmy.sdf.orgOP
          link
          fedilink
          arrow-up
          1
          ·
          30 days ago

          Try git pull and see whether the updated fork works now. If not, I will have a closer look.

          Also, I’ve just built it successfully. Make sure there are no left-overs from a previous run which failed.