intel / intel/ipu6-camera-bins
IPU6 Camera HAL: OV01A10 Sensor Works (V4L2/GST) but Image is Overexposed/Untuned (ISP Failure). Ghost Devices Persist.
- Dominant language
- C
- Stars
- 33
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
I am reporting an issue where the IPU6 camera stack is failing to load the necessary ISP tuning data for my platform, resulting in poor image quality, enumeration conflicts and unusable camera in apps like zoom, firefox ...
-----
## 1\. System Environment
* **Device:** Dell Precision 5490 (High-end Laptop)
* **CPU:** Intel Core Ultra 7 165H (Meteor Lake)
* **OS:** Ubuntu 24.10 (Questing)
* **Kernel:** 6.17.0-7-generic
* **Sensor:** OmniVision OV01A10 (Crucial detail for ISP tuning)
* **HAL Package Version:** `ipu6-camera-bins` (Current version from the OEM PPA)
-----
## 2\. Detailed Problem Description and Impact
The kernel driver for the IPU6 loads successfully, and the camera sensor is physically functional (verified using the legacy V4L2 fallback in applications like Cheese).
The Libcamera HAL stack is now partially functional. Testing with gst-launch-1.0 libcamerasrc ! videoconvert ! autovideosink confirms that video streaming is successful, but the resulting image is severely overexposed/whitewashed, confirming that the default, uncalibrated ISP parameters are being used.
This failure to locate the specific tuning data for the OV01A10 forces the HAL to use uncalibrated fallback parameters, resulting in the overexposed image quality.
Furthermore, applications relying on the Libcamera API (Zoom, Firefox) still enumerate ~20 non-functional dummy IPU6 video devices. These ghost devices persist even after purging HAL packages and deleting Libcamera configurations, strongly suggesting a hardcoded enumeration conflict originating from the HAL or the bins packages.
-----
## 3\. Evidence and Logs
### 3.1 Kernel Module Status (Proof of Hardware Detection)
The hardware is correctly detected and initialized by the kernel.
```
❯ sudo dmesg | grep ipu6 | head -n 20
[sudo: authenticate] Password:
[ 8.314366] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 19.405364] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 19.442784] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 19.490821] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 19.490832] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
```
### 3.2 HAL/Libcamera Error (Proof of Missing Configuration)
The critical warning shows the HAL failing to find the required configuration file, forcing the use of the uncalibrated parameters, which leads to the image quality issue.
When running: `gst-launch-1.0 libcamerasrc ! videoconvert ! autovideosin`
```
WARN IPAProxy ipa_proxy.cpp:177 Configuration file 'ov01a10.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml'
[...Video stream successfully opens, displaying a whitewashed image...]
```
-----
## 4\. Request for Action
We request that the contents of the ipu6-camera-bins repository be reviewed to ensure that the ISP tuning data and proprietary binary blobs required for the OmniVision OV01A10 sensor on Meteor Lake hardware are present and locatable by the ipu6-camera-hal to enable proper color and exposure handling.
Contributor guide
Assessment
This issue has not been assessed yet.