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

  • @erebionOP
    link
    33 months ago

    You won’t have to wait for very long.

    Let me know if you’d like a writeup of the way I currently build the image out of the linked sources and what files (temporarily) need manual fixes, in case you want to try it out. Could still take a while to get the kernel and the call audio daemon ready for Mobian and to get it included, but other than that… Pretty close _

    If you exclude the time your PC does compiling and works for you, then it is probably 20 minutes work to get an image currently. :)

    I also have an Ansible role which does the few fixes I need for now, like that one systemd unit. I could publish that as well in case others want to be alpha testers and tell me about any issues they notice.

    I should probably also create a repo with a temporary issue tracker until there are official images. 🤔

      • @erebionOP
        link
        4
        edit-2
        3 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
          link
          fedilink
          22 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
          
          • @erebionOP
            link
            22 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
              link
              fedilink
              2
              edit-2
              2 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

      • @erebionOP
        link
        33 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