erebion
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. :)
exciting episode, many interesting topics
Now… I’d love to read a How To.
It is to Android apps what WINE is to Windows programs, while Waydroid is to Android apps what something between Docker and a VM would be to server software.
Actually, Waydroid is not too dissimilar from running, for example, an Ubuntu Desktop system in a Docker container on a Debian desktop system, just so you can use snap packages… Instead of installing snapd on Debian. (Not that I want snapd.)
Waydroid is more like an Android container appliance that runs a full Android system, while ATL, as the name Android Translation Layer suggests, translates functions and API calls, used by Android apps, into the appropriate methods of doing things on a regular GNU/Linux system (in contrast to an Android Runtime/Linux system), thereby being much more efficient, more comfortable to use and having the potential of integrating into the system really well.
No idea, but you could of course install Waydroid on Mobian. I hope Android Translation Layer (https://gitlab.com/android_translation_layer) will at some point get to a state where it is usable as the superior Waydroid alternative for many people.
Also, I keep some notes up to date over on my Forgejo instance: https://git.erebion.eu/forgejo/erebion/sargo-temp
Oh, I don’t mind questions. :)
Help: A lot via the Mobian Ports ( #mobian-ports:matrix.org ) Matrix room and the postmarketOS offtopic ( #offtopic:postmarketos.org ) Matrix room.
Sources: Not much there yet. As soon as there are official builds for the Pixel 3a, I will start writing docs. I already have a lot of notes on what I had to do. But first I need to have someone merge the Kernel patches, as I don’t know C, which makes resolving merge conflicts really hard, it turns out. Once that is done, there are just a few smaller merge requests left and builds will appear magically.
The whole process is not that difficult if there are already Kernel patches available. In the case of the Pixel 3a, I only had to clone the sdm670-mainline repo ( https://gitlab.com/sdm670-mainline/linux-patches ) , compile the kernel (two commands) and get a .deb, which I used with mobian-recipes ( https://salsa.debian.org/Mobian-team/mobian-recipes/ ) to build an image. I then wrote a config file for droid-juicer ( https://gitlab.com/mobian1/droid-juicer/-/merge_requests/4 ) which tells it what files on the vendor and modem partitions it should get, then those are copied to /usr/lib/firmware/updates/
.
That was easy as dmesg
will just tell you what files it cannot load because they are missing. Just find those, write the config, run droid-juicer
, reboot… boom. Display, Wifi, LTE and so on working.
Then smaller stuff like udev rules for vibration and an initramfs hook ( https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/blob/debian/latest/initramfs-tools/hooks/qcom-firmware?ref_type=heads ) so that firmware files get integrated into initramfs and components start to work early during boot.
The most difficult part would be merging the Kernel patches with other patches and resoving the merge conflicts… At least to me, as I don’t know C.
If there are no mainlining efforts for a phone yet, then I don’t know what to do, as that requires a Kernel dev.
For the Pixel 4a you mentioned, there is a postmarketOS port. So this should be doable. ( https://wiki.postmarketos.org/wiki/Google_Pixel_4a_(google-sunfish) )
That’s all not that hard, my main difficulty was finding out what to do. Everything I did so far would be an afternoon of work, if I had just found the necessary information much quicker. Instead I spent two weeks, of which 95 % was finding info, lol.
Just join the Mobian Matrix room, we should be able to help you, even though I know far less than the others there…so far. :p
I do hope that’s helpful and I’ll happily try to answer more questions. :)
Kernel mainlining effort for the SoC in thr Pixel 4a: https://github.com/sm7150-mainline/linux
No idea, but you could of course install Waydroid on Mobian. I hope Android Translation Layer (https://gitlab.com/android_translation_layer) will at some point get to a state where it is usable as the superior Waydroid alternative for many people.