SPECIFIC ISSUE ENCOUNTERED
Severe pose tracking jitter on OPPO/Realme devices with Sony IMX766 sensor. ARCore's VIO (Visual-Inertial Odometry) continuously loses tracking and resets the map, causing AR content to flicker/jump erratically.
Root cause: Camera HAL layer errors related to DOL3 (Digital Overlap) HDR mode produce invalid exposure parameters (inf/nan values), which cause ARCore feature matching to fail on every frame.
VERSIONS USED
Android Studio: Android Studio Ladybug | 2024.2.1
ARCore SDK for Android: 1.44.0
Device manufacturer, model, and O/S: Realme GT Neo5, Realme UI 5.0 (Android 14)
Google Play Services for AR (ARCore): 1.44
Output of adb shell getprop ro.build.fingerprint: realme/RMX3706/RE58C2L1:14/UP1A.231005.007/T.RQ3.1234567:user/release-keys
STEPS TO REPRODUCE THE ISSUE
1.Install hello_ar_java sample on Realme GT Neo5 (or other OPPO/Realme device with IMX766 sensor)
2.Launch the app and start AR session
3.Observe severe pose jitter - AR objects flicker and jump continuously, even when device is held still
WORKAROUNDS (IF ANY)
None found. Attempted the following without success:
Reduce camera resolution to 720p or 480p
Lock display refresh rate to 60Hz
Disable depth sensor usage
ADDITIONAL COMMENTS
Camera HAL Error Logs (occurring on every frame ~30fps):
E vendor.qti.camera.provider@2.7-service_64: IMX766 ExposureInfo(Short, Middle, Long) -
Analog Gain(1.000000, 0.000000, 64.000000),
Digital Gain(1.000000, 0.000000, 1.000000),
Linecount(8, 0, 3262),
ISP Digital Gain(0.000000, 0.000000, 2.000680),
Exposure Ratio (LM, MS, LS) = (inf, nan, inf)
E vendor.qti.camera.provider@2.7-service_64: oppo_imx set wrong dolnum:-1
ARCore VIO Failure Logs:
W vio_fault_detector.cc: VIO is moving fast with speed (m/s): 0.58 but RANSAC failed to provide valid frame to frame translation by reporting degeneracy
I patch_estimator.cc: Failed to get valid matched features: NOT_FOUND: No matching features between frames.
W tracking.cc: Tracking error status: BOX_NO_FEATURES
I data_manager.cc: VisualInertialState is kNotTracking. Reset the map.
Analysis: The camera HAL's DOL3 HDR mode is misconfigured (dolnum:-1), causing Middle frame exposure to be zero and exposure ratios to compute as inf/nan. This produces degraded image frames that ARCore cannot extract stable features from.
Potentially affected devices: All OPPO/Realme devices using Sony IMX766 sensor (Realme GT Neo5, OPPO Find X5, Realme GT2 Pro, etc.)
ar_tracking.log
camera_params.log
SPECIFIC ISSUE ENCOUNTERED
Severe pose tracking jitter on OPPO/Realme devices with Sony IMX766 sensor. ARCore's VIO (Visual-Inertial Odometry) continuously loses tracking and resets the map, causing AR content to flicker/jump erratically.
Root cause: Camera HAL layer errors related to DOL3 (Digital Overlap) HDR mode produce invalid exposure parameters (inf/nan values), which cause ARCore feature matching to fail on every frame.
VERSIONS USED
Android Studio: Android Studio Ladybug | 2024.2.1
ARCore SDK for Android: 1.44.0
Device manufacturer, model, and O/S: Realme GT Neo5, Realme UI 5.0 (Android 14)
Google Play Services for AR (ARCore): 1.44
Output of adb shell getprop ro.build.fingerprint: realme/RMX3706/RE58C2L1:14/UP1A.231005.007/T.RQ3.1234567:user/release-keys
STEPS TO REPRODUCE THE ISSUE
1.Install hello_ar_java sample on Realme GT Neo5 (or other OPPO/Realme device with IMX766 sensor)
2.Launch the app and start AR session
3.Observe severe pose jitter - AR objects flicker and jump continuously, even when device is held still
WORKAROUNDS (IF ANY)
None found. Attempted the following without success:
Reduce camera resolution to 720p or 480p
Lock display refresh rate to 60Hz
Disable depth sensor usage
ADDITIONAL COMMENTS
Camera HAL Error Logs (occurring on every frame ~30fps):
E vendor.qti.camera.provider@2.7-service_64: IMX766 ExposureInfo(Short, Middle, Long) -
Analog Gain(1.000000, 0.000000, 64.000000),
Digital Gain(1.000000, 0.000000, 1.000000),
Linecount(8, 0, 3262),
ISP Digital Gain(0.000000, 0.000000, 2.000680),
Exposure Ratio (LM, MS, LS) = (inf, nan, inf)
E vendor.qti.camera.provider@2.7-service_64: oppo_imx set wrong dolnum:-1
ARCore VIO Failure Logs:
W vio_fault_detector.cc: VIO is moving fast with speed (m/s): 0.58 but RANSAC failed to provide valid frame to frame translation by reporting degeneracy
I patch_estimator.cc: Failed to get valid matched features: NOT_FOUND: No matching features between frames.
W tracking.cc: Tracking error status: BOX_NO_FEATURES
I data_manager.cc: VisualInertialState is kNotTracking. Reset the map.
Analysis: The camera HAL's DOL3 HDR mode is misconfigured (dolnum:-1), causing Middle frame exposure to be zero and exposure ratios to compute as inf/nan. This produces degraded image frames that ARCore cannot extract stable features from.
Potentially affected devices: All OPPO/Realme devices using Sony IMX766 sensor (Realme GT Neo5, OPPO Find X5, Realme GT2 Pro, etc.)
ar_tracking.log
camera_params.log