Upstream bug tracking: LineageOS/issues#853
Follow the upstream report for investigation and resolution status.
A reversible Magisk or APatch module that corrects repeated crop metadata scaling on the OnePlus 15T (PLZ110) and OnePlus 15 with the listed LineageOS builds. It fixes the mismatch between preview and still-photo magnification on independently opened physical rear cameras, including the crop-size failure at 10×.
Maintainer-tested on the OnePlus 15T. A OnePlus 15 user confirmed working main and telephoto correction with APatch in v1.0.2 (#10). Ultra-wide correction remains unsupported.
Only the listed build identities are supported. Other builds are rejected, even if their version names look similar.
| Device | LineageOS |
|---|---|
| OnePlus 15T / PLZ110 | 24.0-20261011-NIGHTLY-fairlady24.0-20261014-NIGHTLY-fairlady24.0-20261015-NIGHTLY-fairlady24.0-20261022-NIGHTLY-fairlady24.0-20261029-NIGHTLY-fairlady24.0-20261105-NIGHTLY-fairlady |
| OnePlus 15 / CPH2745, CPH2747, CPH2749, PLK110 | 24.0-20261014-NIGHTLY-infiniti24.0-20261021-NIGHTLY-infiniti24.0-20261028-NIGHTLY-infiniti24.0-20261104-NIGHTLY-infiniti |
| Component | Supported configuration |
|---|---|
| Build ID | CP2A.260605.016 |
| Camera paths | OnePlus 15T: physical rear camera IDs 2 (main) and 3 (telephoto)OnePlus 15: physical rear camera IDs 2 (main) and 4 (telephoto); ultra-wide 3 is not corrected |
| Root manager | Magisk 30.7, tested; newer versions must pass the same checks. APatch 11039 or newer (Action support), reported working on a OnePlus 15 by a user (#10) |
The installer and runtime also verify the exact original camera service and camera-library hashes. See profile.json. KernelSU is not supported by this package.
- Download the module ZIP from Releases, not GitHub's source-code ZIP.
- Install it in Magisk → Modules → Install from storage or APatch → APModule → Install, then reboot. Under APatch, use a full reboot, not Soft reboot, after installing, updating or removing any module; a Soft reboot that applies module changes turns the correction off with a fault.
- Close camera applications. Open this module in Magisk or APatch and tap Action to enable correction.
- Tap Action again to pause. The requested state is retained across reboot.
flag=1 means enabled; flag=0 means paused. verified=0 means this camera-service process has not yet processed a matching result. changed_id2 and changed_id3 (changed_id4 on the OnePlus 15) count corrected main and telephoto results. An initial activation may restart the camera service; pausing/resuming the same accepted process does not.
First installation stays paused. Updates retain your enable request. Magisk and APatch check for module updates automatically. If you installed a beta, install 1.0.0 manually once to join the update channel.
Remove the module in Magisk or APatch and reboot (a full reboot under APatch) to return to the original system image. The module uses a temporary file bind and never writes the system partition.
To restore immediately, close camera applications and run:
su -mm -c 'sh /data/adb/modules/camera2_native_zoom_fix/control.sh restore'A fault disables correction and blocks automatic retry. System or library updates require a newly validated profile. Read architecture and recovery before clearing any fault state.
- Corrects guarded crop metadata for independently opened physical rear main and telephoto cameras: IDs
2and3on the OnePlus 15T,2and4on the OnePlus 15. - Covers zoom rounding at 10× and supported photo/preview capture intents.
- Preserves the original mapper call and return value.
- Uses native code backed by a verified file; requires no added SELinux rules, Frida, Zygisk or Vector.
Automatic lens selection through logical camera 0, application lens selection and application post-processing are outside this module's scope. This is not a universal camera or image-quality fix.
See the development workflow, building and testing and release setup. A release ZIP contains a small native patch; the installer reconstructs the camera service from the verified original already on the device. Complete system/vendor binaries, photos and diagnostic logs are not distributed.
Please fork and PR if you want to contribute.
Licensed under Apache-2.0.