Public bug reported: Impact: The OV02C10 camera sensor on Lenovo Yoga Slim 7x is completely unusable due to system hangs, I2C timeouts, and severe color corruption.
Affected Hardware: - Device: Lenovo Yoga Slim 7x (Snapdragon X Elite / x1e80100) - Camera sensor: OmniVision OV02C10 (RGB, 2MP) - Platform: Qualcomm Camera Control Interface (CCI) Ubuntu Version: Ubuntu 25.10 Symptoms: 1. System Hangs/Crashes (Critical): - System hangs or kernel oops during camera initialization or usage - "master 1 queue 0 timeout" errors from CCI/I2C - Hangs persist across camera app launches (Cheese, qcam, PipeWire) 2. Initialization Failures: - Camera fails to probe or initialize - Regulator supply errors in dmesg 3. Color Artifacts: - Severe green/incorrect color tint in all images - Cannot be corrected by white balance adjustments - Raw Bayer pattern mismatch Root Causes: Issue 1 - System Hang (Critical): Race condition in ov02c10_remove() where resources are freed before sensor power-off, causing use-after-free errors when Runtime PM or PipeWire/WirePlumber interact with the device. Additionally, internal sensor reset timings are too aggressive for reliable hardware initialization. Issue 2 - Color Pattern: Driver reports incorrect Bayer pattern (SBGGR10 or SGBRG10), but the physical sensor layout on this device is SGRBG10, causing color channel misalignment. Issue 3 - DTS Configuration: Missing regulator supplies for RGB sensor and camera privacy LED not configured. Fix: A patch series of 4 commits addresses all issues: 1. DTS: Fix regulator supplies for RGB sensor - Adds missing vdda/vddd supplies - Fixes camera initialization failures 2. DTS: Enable Camera Privacy LED - Configures GPIO 110 for privacy indicator 3. Driver: Update Bayer pattern to SGRBG10 - Changes MEDIA_BUS_FMT_SBGGR10_1X10 → MEDIA_BUS_FMT_SGRBG10_1X10 - Fixes severe green color cast 4. Driver: Fix race condition and relax reset timings - Reorders cleanup in ov02c10_remove(): disable Runtime PM *before* freeing resources - Increases reset timing: 5ms assert, 20ms post-delay (was 1ms/2ms) - Fixes system hangs and "master 1 queue 0 timeout" errors Testing Results: - Camera stable across repeated sessions (no hangs/crashes) - Proper initialization on every boot - Sharp images with correct orientation - Color accuracy significantly improved (green tint eliminated) - Userspace color tuning still needed for perfect white balance (libcamera YAML) Configuration Requirements: Kernel config: CONFIG_VIDEO_OV02C10=m Userspace packages: libcamera-tools libcamera-ipa gstreamer1.0-libcamera Pipeline: libcamera 'simple' pipeline with SoftISP (Software Image Signal Processor) Reference: Camera stack setup for X1E: https://github.com/alexVinarskis/linux-x1e80100-zenbook-a14#camera-configuration Complete Technical Details: Full description, patches, and optional YAML tuning file available at: https://bugs.launchpad.net/ubuntu-concept/+bug/2138706 Patches attached as lenovo-yoga-slim7x-camera-fixes.zip ** Affects: linux (Ubuntu) Importance: Undecided Status: New ** Tags: arm64 camera kernel lenovo-yoga-slim7x ov02c10 qualcomm snapdragon-x-elite x1e80100 ** Patch added: "Patch set containing 4 commits to fix OV02C10 camera functionality on Lenovo Yoga Slim 7x (Snapdragon X Elite): DTS: Fix regulator supplies for RGB sensor (Fixes initialization failures). DTS: Enable Camera Privacy LED (GPIO 110). Driver: Update Bayer pattern to SGRBG10 (Fixes severe green color cast). Driver: Fix race condition in remove() and relax reset timings (Fixes system hangs and "master 1 queue 0 timeout" errors)." https://bugs.launchpad.net/bugs/2138756/+attachment/5940098/+files/lenovo-yoga-slim7x-camera-fixes.zip -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2138756 Title: [ov02c10] Camera unusable on Lenovo Yoga Slim 7x - system hangs, I2C timeouts, color artifacts To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2138756/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
