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
      3
      ·
      4 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
      3
      ·
      edit-2
      4 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
        2
        ·
        3 months 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
          2
          ·
          3 months 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.

          • thejevans@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            3 months ago

            I’ve got further now. I was able to get a rootfs image, but the boot image build failed because for some reason that script can’t see that tomlq is installed even though the initial script can see it just fine.

            build log

            EDIT: I installed tomlq with pipx