- Shell 84.7%
- Python 15.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
image / image (push) Successful in 1h45m14s
iio-sensor-proxy 3.9's own rules tag fastrpc-adsp with ssc-light and ssc-compass, and pmOS's 90- rule adds ssc-accel and ssc-proximity. On this image nothing serves the SSC registry (no hexagonrpcd), so the libssc compass discover() probes it for 100 s in a nested main loop, from find_sensors() in the daemon's name-acquired handler, before the per-type delayed-invocation arrays exist. A ClaimProximity dispatched in that window (Plasma sends one at every daemon start) hits g_ptr_array_add(NULL) and driver_set_polling(NULL): the client is registered, polling never starts, every later claim is treated as "already active", and ProximityNear stays false with HasProximity true. A second claim in the window dereferences the NULL array in the claim handler and the daemon crashes, which is the boot-time crash the restart drop-in was papering over. Clear the tags on the fastrpc devices after both rules. The daemon then skips the probe, starts in under a second and polls on claim. Verified on the dev phone 2026-09-24 with the near-level DTB (near level 25, combined-stable's DTS carry): no assertions or crash at boot, and monitor-sensor logged one "Proximity value changed: 1"/"0" pair per hand pass. The near level itself comes from that kernel; without it the daemon declines the sensor before any of this matters. |
||
| .forgejo/workflows | ||
| aports | ||
| .gitignore | ||
| apk-resign.py | ||
| build.sh | ||
| check-aports.sh | ||
| install.sh | ||
| README.md | ||
| registry-fetch.py | ||
fp6-img
Flashable postmarketOS images for the
Fairphone 6/6+, built nightly from the
Catcrafts milos-linux
combined-stable kernel branch, with
imsd (userspace VoLTE)
preinstalled.
Maintained by Jorijn van der Graaf (TheMightyCat) at Catcrafts.
What works
Everything on the combined-stable branch: display, touch, wifi, cellular
data, NFC (reader), speaker audio, microphone, IMU, magnetometer, barometer,
ambient light/proximity, fingerprint unlock through
fingerprintd, plus
VoLTE calls (both directions) through imsd.
Flashing
Download fp6-img.tar.xz from the latest release and unlock the bootloader
(Fairphone's official process).
Install: with the phone in fastboot mode,
tar xf fp6-img.tar.xz
cd fp6-img
./install.sh
Two images are published per release, same kernel and packages, different
shell: fp6-img.tar.xz boots Plasma Mobile (calls through Plasma
Dialer), fp6-img-phosh.tar.xz boots Phosh (calls through GNOME Calls,
via imsd's imsd-ofono backend). Pick one; the install steps are identical.
install.sh erases dtbo, flashes the rootfs, RAM-boots the kernel, writes the boot partition from
inside Linux where the bootloader's NV-wipe cannot see it, then reads the modem
NV back and reports the result. The bootloader never writes boot.
Default login: user / 147147 (same as official postmarketOS images).
Never re-lock the bootloader with a custom image installed.
VoLTE configuration
imsd is installed but needs your carrier's P-CSCF address:
# /etc/imsd.env
PCSCF=<your carrier's P-CSCF IPv6 address>
Find it via android adb using adb shell dumpsys telephony.registry, then
systemctl restart imsd (the service is enabled at boot and waits for this
file to exist). See the
imsd README for the full
variable reference and carrier assumptions.