184 lines
7 KiB
Markdown
184 lines
7 KiB
Markdown
# sargo-temp
|
||
|
||
Temporary fixes that make Mobian work on sargo.
|
||
|
||
## If you've previously used the instructions from this repo
|
||
|
||
If you've previously used the instructions from this repo, you should do the following:
|
||
|
||
- Migrate to the official Mobian kernel packages so you get updates without manually compiling new kernel versions all the time
|
||
- Apply my workaround script to get rid of workarounds that are now obsolete
|
||
- Note that call audio is still missing in Mobian for the Pixel 3a, for now you can just keep using the audio workarounds from here until the Mobian Project has a better solution
|
||
|
||
### Migrating to the official Mobian kernel package
|
||
|
||
If you have previously used a self-compiled kernel, you might want to switch to the kernel provided by the Mobian project:
|
||
|
||
```
|
||
apt update
|
||
apt install sdm670-support
|
||
reboot
|
||
```
|
||
|
||
This should also be far more stable than the last version that I pushed to my temporary repo. :D
|
||
|
||
### Build Image
|
||
|
||
The sdm670-specific kernel is now available from the Mobian repos, it is no longer necessarily to build it yourself.
|
||
|
||
The image can now be built as follows:
|
||
|
||
```
|
||
git clone https://salsa.debian.org/Mobian-team/mobian-recipes.git
|
||
cd mobian-recipes
|
||
git checkout wip/tiol/sdm670images
|
||
./build.sh -t sdm670 -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
|
||
|
||
For now you'll still need the workarounds in this repo to get call audio to work.
|
||
|
||
Please note that the image will contain SSH Host Keys, please do not share it for security reasons.
|
||
|
||
### Flash image
|
||
|
||
First flash the image. Boot the phone.
|
||
|
||
Connect via SSH: `ssh mobian@10.66.0.1`
|
||
|
||
Accept the host key.
|
||
|
||
Note: If you built the image with a different username, you will have to set that in `ansible/ansible.cfg`.
|
||
|
||
### Roll out workarounds using Ansible
|
||
|
||
You have to have `ansible-playbook` installed.
|
||
|
||
Go to the Ansible folder: `cd ansible`
|
||
|
||
Roll out workarounds: `./workarounds.sh`
|
||
|
||
Reboot phone via SSH.
|
||
|
||
Connect to wifi.
|
||
|
||
Rolling out the workarounds for audio requires installing packages from the repo, so we need an internet connection.
|
||
|
||
Roll out audio workarounds: `./audio.sh`
|
||
|
||
Note:
|
||
|
||
- You might have to switch SIM slots if your SIM card is not recognised.
|
||
- Command: `mmcli -m any --set-primary-sim-slot=1`, options are `1` or `2`
|
||
- Watch the RSS feed for this repo to learn when there is something new:
|
||
- Feed: https://git.erebion.eu/forgejo/erebion/sargo-temp.rss
|
||
|
||
## What to do
|
||
|
||
## Project Status
|
||
|
||
### Issues on Debian Salsa
|
||
|
||
Various issues can be found on Salsa: https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/?sort=created_date&state=opened&search=sargo%2Fbonito&first_page_size=20
|
||
|
||
### To Do List
|
||
|
||
- Make installer images work on this device
|
||
- Have droid-juicer run on installer images
|
||
- Solve call audio (this repo contains a script that builds packages of Tinyalsa and q6voiced and installs those, but this is not the solution that Mobian will adopt)
|
||
|
||
#### Issues To Solve To Get Official Mobian Images
|
||
|
||
To Do:
|
||
|
||
- Wait for the Merge Request that adds the buld to CI to get merged
|
||
|
||
Done:
|
||
|
||
- New release of qcom-phone-utils required so that my patches are available from the repo
|
||
- https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/4f77281197c6ba1cfc1a82596157d00e8a7e014b (firmware folders)
|
||
- https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/9aa29a1d0bd2327e9c74317d516a8aeecf820304 (fixes bootimg generation with LUKS)
|
||
- https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/commit/3ddb192b5c78b444065f23647b373ad66ce3617d (fixes on-screen keyboard for LUKS passphrase)
|
||
- Remove hard-coded value in the `droid-juicer` systemd unit
|
||
- https://gitlab.com/mobian1/droid-juicer/-/issues/4
|
||
- Make sure my `q6voiced` package no longer includes a hard-coded config for this device (known solution, need to implement)
|
||
- add udev rule for the vibration motor to the right package
|
||
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/3
|
||
- upstream: https://source.puri.sm/Librem5/feedbackd/-/merge_requests/139
|
||
- Wireplumber config
|
||
- https://salsa.debian.org/DebianOnMobile-team/qcom-phone-utils/-/merge_requests/6
|
||
- sdm670 Kernel
|
||
|
||
For those I will remove the workarounds once the changes are in the Mobian repo
|
||
|
||
#### Misc Issues
|
||
|
||
- ALSA config for the device has not been upstreamed yet (can be added using the Playbook in this repo)
|
||
- Some people have issues connecting to 5 GHz wifi and/or dual 2.4 GHz/5 GHz wifi, while for others this works perfectly fine
|
||
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/6
|
||
- Can be worked around by forcing the phone to only use the 2.4 GHz band, for example using `nmtui`, the network settings of GNOME/Phosh are bit too simplistic for that
|
||
- Currently no way to switch cameras, only one is usable at a time, requires change in Wireplumber
|
||
- https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/670 <- someone is working on that
|
||
- Currently camera is fixed to the closest focus with no way to set photos, so you can only take macro photos :D
|
||
|
||
Solved:
|
||
|
||
- Bug in Pipewire that causes issues with the camera: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4227
|
||
- create/find script/tool that brings up Bluetooth & then package it
|
||
- https://salsa.debian.org/Mobian-team/devices/kernels/qcom-linux/-/issues/5
|
||
|
||
(This is a non-exhaustive list)
|
||
|
||
### This Works
|
||
|
||
- booting
|
||
- display
|
||
- touch
|
||
- modem
|
||
- plymouth
|
||
- battery/charging
|
||
- SMS
|
||
- mobile data
|
||
- wifi
|
||
- torch
|
||
- suspend
|
||
- call audio
|
||
- vibration
|
||
- Bluetooth™
|
||
- full disk encryption
|
||
- eSIM (provisioning tool not yet packaged and has to be compiled and installed manually)
|
||
- audio (ALSA config not packaged, but can be manually added using the playbook in this repo)
|
||
- camera (currently only one camera works at a time, image quality is still not anywhere near Android, driver is work in progress)
|
||
|
||
### This Has An Unknown Status
|
||
|
||
- Fingerprint Sensor (idk?)
|
||
- NFC (should work, does so on pmOS, but untested)
|
||
|
||
### This Does Not Work Yet (Soon™)
|
||
|
||
- GPS
|
||
- USB host mode (no Kernel support yet, but apparently this is being worked on)
|
||
- Verified Boot (first need to do research whether this is actually feasible)
|
||
|
||
### This Is Missing And Will Come Later
|
||
|
||
- accelerometer
|
||
- magnetometer
|
||
- ambient light sensor
|
||
- barometer
|
||
|
||
### The Sources (Use The Source, Luke)
|
||
|
||
- `mobian-recipes`, which is used to build images: https://salsa.debian.org/Mobian-team/mobian-recipes
|
||
- `droid-juicer`, which retrieves some important files, such as firmware, from some partitions: https://gitlab.com/mobian1/droid-juicer
|
||
- postmarketOS wiki: 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 did and still does an awful lot of work 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
|