Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/devices/blueline/README.md
Fimeg bde961c6f2 saf: one spine — device, state, and work under the index
PAF becomes saf/device (history kept), STATE.md dissolves
into saf/state.md with the dated era archived, the substrate
SAF moves up from souveraine, and every agreement points at
saf/INDEX.md and nowhere else. one map, nothing to remember
2026-08-18 09:47:30 -04:00

58 lines
2.6 KiB
Markdown

# blueline — Pixel 3 (SDM845)
Casey's daily driver. **A reprovision costs him his live system**, so reaching
for fastboot is a regression, not a fallback. Cold boots are his, at the device;
a warm reboot poisons TZ/remoteproc state.
**This page is a pointer, not a record.** The canonical per-subsystem spine is
[`../../saf/device/`](../../saf/device/) and it stays that way — one owner, one path.
| subsystem | record |
|---|---|
| audio, calls, mic | [`saf/device/audio.md`](../../saf/device/audio.md) — read it before touching a mixer |
| display, panel, DPU | [`saf/device/display.md`](../../saf/device/display.md) |
| modem, bearer | [`saf/device/modem.md`](../../saf/device/modem.md) |
| MMS | [`saf/device/mms.md`](../../saf/device/mms.md) |
| sensors, SLPI | [`saf/device/slpi.md`](../../saf/device/slpi.md) |
| touch | [`saf/device/touch.md`](../../saf/device/touch.md) |
| grip / squeeze | [`saf/device/edge-sense.md`](../../saf/device/edge-sense.md) |
| board, boot, kernel | [`saf/device/platform.md`](../../saf/device/platform.md) |
## Reaching it
```sh
ssh -i ~/.ssh/ani casey@172.16.42.1 # USB tether
ssh -i ~/.ssh/ani casey@10.10.20.234 # home wifi, via VPN
Pixel3Arch/tools/phone-triage.sh [host] # thirty-second triage
```
`10.10.20/24` is reachable **only** through WireGuard and it does not
autoconnect after a reboot. The phone does join foreign networks; pass the
address rather than hunting for a cable.
## Delivery
`pacman -Syu` from the Gitea repo, kernel included. **Do not flash.** The three
paths that reach this device are enumerated in
[`../../START-HERE.md`](../../START-HERE.md) §5, and picking the wrong one is
why things silently never update — `rootfs-overlay/` lands on a flash only, and
this phone does not flash.
## What the d10 proved about this body
Bring-up on a second board found three places the base assumed one phone. All
three are blueline-visible and two were invisible here:
- **`blueline-screen-toggle`** is the DPMS executor by name, and it ships only
in `rootfs-overlay/`. Panel power belongs in viewtop, which owns the CRTC and
runs on both.
- **`brightnessctl set 10`** is an absolute. 10/255 here is a dim panel; 10/2047
on the iPhone is black. Fixed in `souveraine eb0292c` as a percentage.
- **`hyprctl`** is still asked for windows, monitors, layers, animations and
workspaces. It is dead under viewtop on both bodies — blueline merely still
has the binary lying around, so the failure is silent here.
## Open, per the task index
Fingerprint piece 1 (`44`), rear IMX363 (`46`), haptics chip identification
(`45`), auto-brightness actuation (`47`), the colour path (`61`).