Lets Android AppSupport 15 store a lockscreen PIN, so apps that refuse to run without one (Rail Planner, banking apps, some corporate apps) become usable. ## What's going on On AppSupport 15 the gatekeeper HAL binary already ships inside the system image, at `/system/bin/hw/android.hardware.gatekeeper@1.0-service.software`. Nothing starts it, and `android.hardware.gatekeeper@1.0::IGatekeeper/default` is missing from the VINTF manifest, so registration is refused and the service aborts in a loop: ``` Service android.hardware.gatekeeper@1.0::IGatekeeper/default must be in VINTF manifest in order to register/get ``` `gatekeeperd` never gets a HAL, and Settings won't let you set a PIN. ## What this package does Adds the two missing pieces — nothing else: - an init `.rc` that starts the service, including the `interface` line. That line matters: without it `hwservicemanager` can't start the service on demand (`ctl.interface_start` fails) and `gatekeeperd` blocks waiting for a HAL that never appears, which can leave Android apps unable to launch. - a VINTF manifest fragment declaring `IGatekeeper/default`. Two text files, no binaries, no APK, no overlay. ## Usage Install, restart Android AppSupport, then: Settings → Android AppSupport → tap "Android version" 5 times → Security → Screen lock. The PIN is only visible to Android apps. It does not affect the SailfishOS lockscreen. ## Notes - Tested on Jolla Phone (2026) / jp2601, SailfishOS 5.2.0.17, appsupport15-system-unprivileged 15.0.0.17.5. Other devices and AppSupport versions are untested. - No version dependency, so it installs anywhere — but it will only do something where the HAL binary exists and the manifest entry is missing. - Conflicts with `appsupport-lockscreen`, which ships the same `.rc` path. - Clean removal: `rpm -e appsupport15-gatekeeper`. No scriptlets, nothing left behind. - Your PIN lives in `/data/misc/gatekeeper` inside the container and isn't touched by installing or removing this. ## Credit This builds directly on nick8325's appsupport-lockscreen (https://openrepos.net/content/nick8325/appsupport-lockscreen, source at https://codeberg.org/nick8325/appsupportkeyguardstub), which does the same thing for AppSupport 13. The difference on 15 is that the stub Keyguard APK and RRO overlay aren't needed — only the service needed wiring up.
| Attachment | Size | Date |
|---|---|---|
| 8.55 KB | 22/08/2026 - 21:00 |
- Initial release for AppSupport 15 / SailfishOS 5.2 - init .rc with interface declaration for on-demand start - VINTF manifest fragment for IGatekeeper/default
Comments
projectmoon
Sat, 2026/08/22 - 21:26
Permalink
Also would this allow biometrics in AAS?
aviarus
Sat, 2026/08/22 - 21:34
Permalink
i don't think so but ididn't test
projectmoon
Sat, 2026/08/22 - 21:12
Permalink
What are the implications of using this vs when a system update comes? Like will it break the lock pin?
aviarus
Sat, 2026/08/22 - 21:20
Permalink
Short answer: the PIN itself is safe, but the package may stop taking effect after an update. The PIN is stored inside the AppSupport container under /data/misc/gatekeeper, which isn't touched by this package — it only ships two text files under /opt/appsupport/vendor/. So a system update won't wipe your PIN. What can happen is one of these: Jolla fixes this upstream. If a future AppSupport release adds the VINTF entry itself, you'd get a duplicate IGatekeeper/default declaration. Worth removing the package in that case. The /opt/appsupport/vendor/ tree gets recreated by an update. RPM would still own the files, but they could be overwritten or removed. If Android suddenly refuses your PIN after an update, reinstall the package and restart AppSupport. AppSupport 16 arrives. The package has no version dependency (deliberately, so it installs regardless), so it would still install but likely do nothing if the HAL layout changes again. Removal is clean — rpm -e appsupport15-gatekeeper, no scriptlets, nothing left behind. One caveat worth stating: this is based on nick8325's appsupport-lockscreen work. The difference is that on AppSupport 15 the gatekeeper HAL binary already ships inside the system image — it just never starts, because the interface isn't in the VINTF manifest and the init .rc is missing. So no stub Keyguard APK or RRO overlay is needed here, just the two files. Tested on jp2601 / 5.2.0.17.