Compare commits

...

2 commits

Author SHA1 Message Date
erebion
c8a5b8ab79 add workaround: wireplumber config, makes the speaker (louder one) work 2024-08-25 17:19:11 +02:00
erebion
8b54989191 update status of project 2024-08-25 17:18:27 +02:00
4 changed files with 69 additions and 7 deletions

View file

@ -10,6 +10,8 @@ Mobian Recipes does not have the changes merged, as the kernel is not yet part o
Take my temporary fork of Mobian Recipes instead, for now: https://salsa.debian.org/erebion/mobian-recipes/-/tree/erebion/sargo-build?ref_type=heads Take my temporary fork of Mobian Recipes instead, for now: https://salsa.debian.org/erebion/mobian-recipes/-/tree/erebion/sargo-build?ref_type=heads
Make sure you check out my branch `sargo-build` which includes a couple of workarounds for changes which are not yet in the repos, but will be soon.
The fork will be maintained until there are official Mobian images for the Pixel 3a. The fork will be maintained until there are official Mobian images for the Pixel 3a.
## Compiling the Kernel ## Compiling the Kernel
@ -33,9 +35,11 @@ DEB_HOST_ARCH=arm64 dpkg-buildpackage -a arm64 -us -uc -rfakeroot -b -Pcross,noc
Now build the image: Now build the image:
```bash ```bash
./build.sh -t qcom -s -u mobian | tee mobian-build.log # -s for SSH, which we need later ./build.sh -t qcom -s -u mobian -c -R myverysecretlukspassphrase | tee mobian-build.log # -s for SSH, which we need later
``` ```
Do not use `myverysecretlukspassphrase` as your passphrase and replace it, obviously. :D
(If you replace `mobian` with your own username, you will have to use that one for SSH later, of course) (If you replace `mobian` with your own username, you will have to use that one for SSH later, of course)
Wait. It takes a while. Wait. It takes a while.

View file

@ -36,6 +36,16 @@ Rolling out the workarounds for audio requires installing packages from the repo
Roll out audio workarounds: `./audio.sh` Roll out audio workarounds: `./audio.sh`
Note:
- You might have to switch SIM slots if your SIM card is not recognised.
- Command: `mmcli -m 0 --set-primary-sim-slot=1`, options are `1` or `2`
- Note that this reboots the modem, therefore it will be `-m 1` and then the next time `-m 2` until you reboot and this makes it go back to `-m 0`.
- The kernel does get updates from the repos yet, so watch the git repo to find out when there are new releases so you can compile it again and install the `.deb` file.
- Feed: https://salsa.debian.org/erebion/sdm-670-linux/-/tags?format=atom
- Watch the RSS feed for this repo to learn when there is something new:
- Feed: https://git.erebion.eu/forgejo/erebion/sargo-temp.rss
## Project Status ## Project Status
### To Do List ### To Do List
@ -49,7 +59,7 @@ Roll out audio workarounds: `./audio.sh`
#### Issues To Solve To Get Official Mobian Images #### Issues To Solve To Get Official Mobian Images
- Remove hard-coded value in the `droid-juicer` systemd unit (needs someone who knows Rust, **help wanted**) - Remove hard-coded value in the `droid-juicer` systemd unit (done, but not yet in repos)
- https://gitlab.com/mobian1/droid-juicer/-/issues/4 - https://gitlab.com/mobian1/droid-juicer/-/issues/4
- Combining SDM670 kernel patches with the Mobian qcom kernel (To Do List entry above, **help wanted**) - Combining SDM670 kernel patches with the Mobian qcom kernel (To Do List entry above, **help wanted**)
@ -80,7 +90,7 @@ For those I will remove the workarounds once the changes are in the Mobian repo
- booting - booting
- display - display
- touch - touch
- modem - modem <- You might have to switch to the other slot if it does not work: `mmcli -m 0 --set-primary-sim-slot=1`, options are `1` or `2`. Note that the modem could also be a different number, maybe try `-m 1` if it is not found as the command will reboot the modem and then it changes.
- plymouth - plymouth
- battery/charging - battery/charging
- mobile data - mobile data
@ -90,21 +100,23 @@ For those I will remove the workarounds once the changes are in the Mobian repo
- call audio - call audio
- vibration - vibration
- Bluetooth™ - Bluetooth™
- eSIM - full disk encryption
- eSIM (provisioning tool not yet packaged and has to be compiled and installed manually)
- SMS (only receiving has been tested, but I dont have reason to believe sending wouldnt work) - SMS (only receiving has been tested, but I dont have reason to believe sending wouldnt work)
- audio (ALSA config not packaged, but can be manually added using the playbook in this repo) - audio (ALSA config not packaged, but can be manually added using the playbook in this repo)
- full disk encryption (works, will document that soon) - camera (some sort of bug and it does not work currently, but the support is there)
- camera (patches not pushed to my device-specific kernel)
### This Has An Unknown Status ### This Has An Unknown Status
- Fingerprint Sensor - Fingerprint Sensor
- GPS (needs some improvements for better accuracy)
- NFC (should work, does so on pmOS) - NFC (should work, does so on pmOS)
### This Does Not Work Yet (Soon™) ### This Does Not Work Yet (Soon™)
- GPS
- Speaker (the loud one, the other one for calls works... this means that you cannot annoy others with loud music yet, sorry :p)
- USB host mode (no Kernel support yet, but apparently this is being worked on) - USB host mode (no Kernel support yet, but apparently this is being worked on)
- Verified Boot (first need to do research)
### This Is Missing And Will Come Later ### This Is Missing And Will Come Later

View file

@ -33,6 +33,26 @@
args: args:
chdir: /usr/share/alsa chdir: /usr/share/alsa
### Wireplumber Config ###
- name: "Copy Wireplumber Config"
ansible.builtin.copy:
src: 51-qcom-sdm845.conf
dest: "/usr/share/wireplumber/wireplumber.conf.d/51-qcom-sdm845.conf"
owner: root
group: root
mode: u+rw
force: true
register: wireplumber_config
- name: "Restart Wireplumber on config change"
ansible.builtin.systemd_service:
name: wireplumber.service
state: restarted
scope: user
become_user: "{{ ansible_env.SUDO_USER }}"
when: wireplumber_config.changed
### Remove Remnants Of Previous Playbook Versions ### ### Remove Remnants Of Previous Playbook Versions ###
- name: "Deactivate systemd unit if it exists, ignore errors if it does not" - name: "Deactivate systemd unit if it exists, ignore errors if it does not"

View file

@ -0,0 +1,26 @@
monitor.alsa.rules = [
{
matches = [
{
# Matches all sources
node.name = "~alsa_input.*"
},
{
# Matches all sinks
node.name = "~alsa_output.*"
}
]
actions = {
update-props = {
audio.format = "S16LE"
audio.rate = 48000
api.alsa.period-size = 4096
api.alsa.period-num = 6
api.alsa.headroom = 512,
# session.suspend-timeout-seconds = 0
# dither.method = "wannamaker3", # add dither of desired shape
# dither.noise = 2, # add additional bits of noise
}
}
}
]