Temporary fixes that make Mobian work on sargo
Find a file
2024-08-23 02:56:16 +02:00
ansible cleanup Ansible tasks, drop permissions for cloning the repos, use systemd override instead of 2nd unit for droid-juicer 2024-08-23 02:56:16 +02:00
.gitignore Initial commit 2024-07-16 17:44:34 +00:00
IMAGE.md update project status and cleanup docs 2024-08-23 01:04:11 +02:00
LICENSE Initial commit 2024-07-16 17:44:34 +00:00
README.md update project status and cleanup docs 2024-08-23 01:04:11 +02:00

sargo-temp

Temporary fixes that make Mobian work on sargo.

Please note that the MIT license does not apply to qcom-firmware.

What to do

Build Image

Instructions can be found in IMAGE.md in this repo.

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

Project Status

To Do List

  • Make installer images work on this device
  • Have droid-juicer run on installer images
  • Make sure my q6voiced package no longer includes a hard-coded config for this device
  • Create an ITP for tinyalsa and q6voiced and get both into the repos (use the workarounds from this repo to get working call audio for now)
  • Combine SDM670 kernel patches with those in the Mobian qcom kernel
    • Patches are already being upstreamed by the sdm670-linux project, maybe that's already done before I start working on it xD

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)
  • Combining SDM670 kernel patches with the Mobian qcom kernel (To Do List entry above, help wanted)

Done:

  • New release of qcom-phone-utils required so that my patches are available from the repo

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)

(This is a non-exhaustive list)

Low Priority

  • add udev rule for the vibration motor to the right package
  • fix udev rule for the Bluetooth workaround in this repo
  • create/find script/tool that brings up Bluetooth & then package it
    • for now this repo contains a simple script specific to this device and a udev rule, but something is wrong with the udev rule. Run /opt/bluetooth-mac.bash to get Bluetooth working, repeat after reboots

This Works

  • booting
  • display
  • touch
  • modem
  • plymouth
  • battery/charging
  • mobile data
  • wifi
  • torch
  • suspend
  • call audio
  • vibration
  • Bluetooth™
  • eSIM
  • 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)
  • full disk encryption (works, will document that soon)
  • camera (patches not pushed to my device-specific kernel)

This Has An Unknown Status

  • Fingerprint Sensor
  • GPS (needs some improvements for better accuracy)
  • NFC (should work, does so on pmOS)

This Does Not Work Yet (Soon™)

  • USB host mode (no Kernel support yet, but apparently this is being worked on)

This Is Missing And Will Come Later

  • accelerometer
  • magnetometer
  • ambient light sensor
  • barometer

The Sources (Use The Source, Luke)

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 dont know how Kernel development works, so I would have never started porting without this project.

Find that here: https://gitlab.com/sdm670-mainline/linux