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)
- My efforts of packaging a device-specific kernel: https://salsa.debian.org/erebion/sdm-670-linux (which will be used until all patches are part of upstream Linux and we can finally use a regular mainline kernel)
mobian-recipes
, which is used to build images: https://salsa.debian.org/Mobian-team/mobian-recipesdroid-juicer
, which retrieves some important files from some partitions: https://gitlab.com/mobian1/droid-juicer- https://wiki.postmarketos.org (lovely folks, thanks for sharing everything you found out the hard way :D)
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.#
Just type in a few commands and you'll have an image you can flash.
I've got a detailed description of what to do: https://git.erebion.eu/forgejo/erebion/sargo-temp