Bug 2355032 - ov02c10 IPU6 camera on Dell Latitude 7440 shows upside down image [NEEDINFO]
Summary: ov02c10 IPU6 camera on Dell Latitude 7440 shows upside down image
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 42
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
Assignee: Hans de Goede
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2333347
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-03-26 10:51 UTC by andsky
Modified: 2025-12-01 16:00 UTC (History)
20 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
redhat: needinfo? (hans)
hdegoede: mirror+


Attachments (Terms of Use)
Dmesg log (110.05 KB, text/plain)
2025-03-26 10:52 UTC, andsky
no flags Details
lsusb output (484 bytes, text/plain)
2025-03-26 11:15 UTC, andsky
no flags Details
i2c-devices (2.19 KB, text/plain)
2025-03-26 11:16 UTC, andsky
no flags Details
spi-devices (399 bytes, text/plain)
2025-03-26 11:16 UTC, andsky
no flags Details
kernel.txt (115.18 KB, text/plain)
2025-03-26 11:17 UTC, andsky
no flags Details
acpidump (3.99 MB, text/plain)
2025-03-26 11:26 UTC, andsky
no flags Details
kernel-IPU6 log (122.66 KB, text/plain)
2025-03-26 23:27 UTC, andsky
no flags Details
kernel-IPU6 log (116.17 KB, text/plain)
2025-04-15 13:08 UTC, andsky
no flags Details
dsdt.dsl (4.32 MB, text/x-csrc)
2025-06-16 08:55 UTC, andsky
no flags Details
dmesg log (111.37 KB, text/plain)
2025-06-16 08:57 UTC, andsky
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker FC-1700 0 None None None 2025-05-29 09:35:32 UTC

Description andsky 2025-03-26 10:51:19 UTC
Use camera with a webcam app. Open cheese or https://mozilla.github.io/webrtc-landing/gum_test.html. No playback.
No device found.
NotFoundError: The object can not be found here.

2. What is the Version-Release number of the kernel:
6.14.0-63.fc42.x86_64

Reproducible: Always

Comment 1 andsky 2025-03-26 10:52:21 UTC
Created attachment 2082049 [details]
Dmesg log

Comment 2 andsky 2025-03-26 11:15:13 UTC
Created attachment 2082051 [details]
lsusb output

Comment 3 andsky 2025-03-26 11:16:13 UTC
Created attachment 2082052 [details]
i2c-devices

Comment 4 andsky 2025-03-26 11:16:41 UTC
Created attachment 2082053 [details]
spi-devices

Comment 5 andsky 2025-03-26 11:17:21 UTC
Created attachment 2082054 [details]
kernel.txt

Comment 6 Hans de Goede 2025-03-26 11:20:12 UTC
Looking at your dmesg this line seems to be the problem:

Mar 26 10:48:44 kernel: int3472-discrete INT3472:01: INT3472 seems to have no dependents.

Which is a problem I've not seen before.

Please run:

sudo dnf install acpica-tools
sudo acpidump -o acpidump.txt

and then attach the generated acpidump.txt here. Then when I can make some time (this may be a while) I'll take a look at your ACPI tables and see if I can figure out where that error is coming from. Likely the dependents list will be dynamically generated though, making this difficult to debug.

Comment 7 andsky 2025-03-26 11:26:21 UTC
Created attachment 2082055 [details]
acpidump

Comment 8 Hans de Goede 2025-03-26 11:44:41 UTC
Thank you for the acpidump, after asking for that I realized that the:

Mar 26 10:48:44 kernel: int3472-discrete INT3472:01: INT3472 seems to have no dependents.

message might be normal on devices which use the iVSC glue chip, so I checked on my own iVSC test laptop and this indeed is normal and your laptop indeed is using the iVSC chip. So this is not the problem.

Your laptop appears to be using an ov02c10 (OVTI02C1) sensor which is not yet supported in the mainline / Fedora kernels. Getting support added for this is being tracked in bug 2333347 (and is almost ready to go upstream).

I need to build a test 6.14.0 kernel for some other user with some IPU6 related patches, I'll also add in the ov02c10 driver to that test kernel and then ask you to test. Then we can confirm that the missing sensor driver is the problem.

Comment 9 andsky 2025-03-26 18:39:47 UTC
(In reply to Hans de Goede from comment #8)
> Thank you for the acpidump, after asking for that I realized that the:
> 
> Mar 26 10:48:44 kernel: int3472-discrete INT3472:01: INT3472 seems to have
> no dependents.
> 
> message might be normal on devices which use the iVSC glue chip, so I
> checked on my own iVSC test laptop and this indeed is normal and your laptop
> indeed is using the iVSC chip. So this is not the problem.
> 
> Your laptop appears to be using an ov02c10 (OVTI02C1) sensor which is not
> yet supported in the mainline / Fedora kernels. Getting support added for
> this is being tracked in bug 2333347 (and is almost ready to go upstream).
> 
> I need to build a test 6.14.0 kernel for some other user with some IPU6
> related patches, I'll also add in the ov02c10 driver to that test kernel and
> then ask you to test. Then we can confirm that the missing sensor driver is
> the problem.

Thank you so much. Just let me know when the kernel is ready and I will definitely test it.

Comment 10 Hans de Goede 2025-03-26 20:56:49 UTC
I have prepared a test-kernel with the following patches:

1. 2 hi566 power-on sequence fixes (not posted upstream yet)
2. ov02c10 support https://lore.kernel.org/linux-media/20250319145927.70534-1-hdegoede@redhat.com/
3. ov02e10 support https://lore.kernel.org/linux-media/20250325-b4-media-comitters-next-25-03-13-ov02e10-v2-2-4d933ac8cff6@linaro.org/
4. Lattice / usbio handshake pin support https://lore.kernel.org/platform-driver-x86/20250325161340.342192-1-hdegoede@redhat.com/

This should make the camera on the laptop from this bug work, please give the test kernel a try:

https://koji.fedoraproject.org/koji/taskinfo?taskID=130775742

Here are some instructions for directly installing a kernel from koji:

https://fedorapeople.org/~jwrdegoede/kernel-test-instructions.txt

Comment 11 andsky 2025-03-26 23:27:09 UTC
Created attachment 2082126 [details]
kernel-IPU6 log

I got around to test the kernel and sadly it didn't work on my laptop. It's the same behavior as before. I have attached the kernel logs. Let me know if you need anything else.

Comment 12 Ondrej Dolak 2025-03-28 20:46:37 UTC
Hi,

I have Dell latitude 7440 2in1. The camera is working with 6.13 kernel and the rpmfusion IPU6 stuff but it is very unstable. I'm using it mostly with Teams.

- Chrome - it doesn't work (with pipewire flag)
- Firefox - it works but it often crashes (blackout). It could be caused by Teams but I'm no sure.
- qcam - works
- Kamoso - sometimes works, sometimes crashes

Using 6.14 ipu kernel

- Firefox + gum test - works but the picture is upside down
- qcam - works - picture is upside down
- Kamoso - works - picture is upside down

Comment 13 Hans de Goede 2025-04-15 11:13:25 UTC
(In reply to andsky from comment #11)
> Created attachment 2082126 [details]
> kernel-IPU6 log
> 
> I got around to test the kernel and sadly it didn't work on my laptop. It's
> the same behavior as before. I have attached the kernel logs. Let me know if
> you need anything else.

Thank you for testing. I'm not seeing any lines like these:

Dec 18 12:55:03 li-4c4c4544-0033-4a10-8056-b2c04f4a3634.ibm.com kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
Dec 18 12:55:03 li-4c4c4544-0033-4a10-8056-b2c04f4a3634.ibm.com kernel: intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0

in your log, while I do see the ivsc and sensor drivers loading, so these should show up.

I guess that at some point you may have installed the rpmfusion drivers which used to blackist the intel-ipu6 module ?

Please check if you have a '/etc/modprobe.d/ipu6-driver-select.conf' file and if yes remove it and then boot the test kernel again and see if qcam works ('sudo dnf install libcamera-qcam').

Comment 14 andsky 2025-04-15 13:08:36 UTC
Created attachment 2085062 [details]
kernel-IPU6 log

Hi!
Thank you for the suggestion. I have been messing around trying to get the camera to work so of course that file was present. I deleted it and now the camera is working. The picture is upside-down though. The camera seems to work briefly in gumtest using firefox before picture is disappearing. Qcam and camera apps doesn't seem to crash though.

I have attached my kernel log if you need to take a look? Do I need to create a new bug report about the picture being upside-down? When will the fixes in the custom kernel end up in main fedora?

Comment 15 Ondrej Dolak 2025-05-20 15:04:17 UTC
I've tested the camera based on update in #2333347. The behaviour is exactly the same as described in https://bugzilla.redhat.com/show_bug.cgi?id=2333347#c27 + the picture is still upside-down. Workaround is to flip it in OBS and use OBS virtual camera instead. Anyway thanks for the progress, good job!

Comment 16 Hans de Goede 2025-05-23 22:29:30 UTC
(In reply to Ondrej Dolak from comment #15)
> I've tested the camera based on update in #2333347. The behaviour is exactly
> the same as described in
> https://bugzilla.redhat.com/show_bug.cgi?id=2333347#c27 + the picture is
> still upside-down. Workaround is to flip it in OBS and use OBS virtual
> camera instead. Anyway thanks for the progress, good job!

Thank you for testing.

The ov02c10 sensor patch has now landed upstream:
https://git.linuxtv.org/media.git/commit/?id=44f89010dae0eff6aabb9c14fb4b1001542498b4

And I've backported this to the Fedora kernels starting with kernel-6.14.6-300.fc42.

The colors being washed out and/or the image possibly being a bit over or under exposed is expected behavior ATM, this is due to the software ISP needing more work to improve the image quality. There also is a software-ISP issue where in some cases the auto-exposure algorithm gets into an oscillation and the image flickers pretty badly.

These are all generic software ISP issues which we need to work on. The image being upside-down however seems to be a unique problem limited to some ov02c10 laptops, while on other models the image is the right way up.

I'm updating the summary of this bug to reflect that the camera is now working but the image is upside down and I'll add looking into the upside-down image issue to my TODO list.

Comment 17 andsky 2025-06-16 08:53:50 UTC
Hi Hans,

Thank you for the detailed update and for all your work getting the ov02c10 sensor support upstream! I can confirm the camera is active on my system.

Regarding your comment that the upside-down image seems to be a unique problem on some models, I did some digging into my Dell Latitude 7440's ACPI tables, and I believe I've pinpointed the reason. I hope this information is helpful.

ACPI Analysis Findings:
The active OVTI02C1 sensor at I2C address 0x36 is described by the Device (CAM1) entry in the DSDT.
The _PLD (Physical Location of Device) object for this CAM1 device explicitly sets PLD_Rotation = 0x0.

This strongly suggests the firmware is not declaring the necessary 180-degree rotation for a sensor that is likely physically mounted upside-down. This seems to be the direct cause of the inverted image on my machine.

Additionally, the "dummy regulator" warnings also appear to be rooted in ACPI. The CAM1 device has a dependency on a PMIC device, but the ov02c10 driver doesn't seem to be finding the named supplies (dovdd, avdd, etc.). This might be contributing to the csi2-1 error: Frame sync error you've also seen.

It seems this specific model's ACPI description for the camera is incomplete. I hope this analysis helps fast-track a fix, perhaps through a model-specific quirk to override the rotation and potentially map the power supplies correctly.

I am attaching my full dsdt.dsl and a fresh dmesg.log for your review. Please let me know if there's any other information I can provide to help.

Thank you again for your efforts!

Comment 18 andsky 2025-06-16 08:55:48 UTC
Created attachment 2094133 [details]
dsdt.dsl

Comment 19 andsky 2025-06-16 08:57:20 UTC
Created attachment 2094134 [details]
dmesg log

Comment 20 Hans de Goede 2025-10-01 19:06:49 UTC
It turns out this a bug in the sensor driver, which should be fixed by this upstream patch:

https://lore.kernel.org/linux-media/20250820-ov02c10-fix-v1-0-3fcca2cfbfbf@kernel.org/

I'll try to get this backported to the Fedora kernels sometime during the next weeks.

Comment 21 Guillaume AMAT 2025-10-03 07:19:03 UTC
Hey there, first of all, thanks for the hard work!

FYI, I have the exact same laptop and sensor (Dell Latitude 7440, ov02c10), and issues (great flickering, upside down image).
I don't have the hardware/system knowledge to investigate anything by myself efficiently, but I'm still a developer so, if you guide me I can provide informations and test results too o/

Comment 22 Hans de Goede 2025-10-03 14:04:46 UTC
(In reply to Guillaume AMAT from comment #21)
> FYI, I have the exact same laptop and sensor (Dell Latitude 7440, ov02c10),
> and issues (great flickering, upside down image).

Note the great flickering should be fixed with libcamera-0.5.2-4.fc43 .

The upside-down issue requires the linked kernel patch. I hope to get around to fixing this soon.

Comment 23 Guillaume AMAT 2025-10-03 14:15:00 UTC
(In reply to Hans de Goede from comment #22)
> (In reply to Guillaume AMAT from comment #21)
> > FYI, I have the exact same laptop and sensor (Dell Latitude 7440, ov02c10),
> > and issues (great flickering, upside down image).
> 
> Note the great flickering should be fixed with libcamera-0.5.2-4.fc43 .
> 
> The upside-down issue requires the linked kernel patch. I hope to get around
> to fixing this soon.

Apologies, I didn't provide my details...

I'm actually running libcamera-0.5.2-4.fc43, with the custom kernel-6.17.0-300.ipu6.fc43 you've built. And still, the flickering is pretty bad.

Also, when I try to use the camera with Firefox (143.0.3 from Flathub), I get a big list of "ipu6" devices to choose from, but none of them works.
That was already the case with Fedora 42 (same with the upside down issue), but it remains after upgrading to Fedora 43 beta.

Comment 24 Hans de Goede 2025-10-03 14:52:52 UTC
(In reply to Guillaume AMAT from comment #23)
> I'm actually running libcamera-0.5.2-4.fc43, with the custom
> kernel-6.17.0-300.ipu6.fc43 you've built. And still, the flickering is
> pretty bad.

Hmm, was this with artificial light, like e.g. fluorescent light-tubes operating at 50 Hz? 

0.5.2-4 contains a fix for AGC algorithm oscillations. But yes flickering caused by light sources operating at the mains frequency (60 or 50 Hz) is still a problem.

Do you also see flickering when using the camera in daylight without an artificial light source ?

Comment 25 Guillaume AMAT 2025-10-04 12:49:42 UTC
(In reply to Hans de Goede from comment #24)
> Hmm, was this with artificial light, like e.g. fluorescent light-tubes
> operating at 50 Hz? 
> 
> 0.5.2-4 contains a fix for AGC algorithm oscillations. But yes flickering
> caused by light sources operating at the mains frequency (60 or 50 Hz) is
> still a problem.
> 
> Do you also see flickering when using the camera in daylight without an
> artificial light source ?

Unfortunately, it also happens in (cloudy) daylight. I manage to get the flickering stop if I stand at the window, and with a specific angle, but that's a long shot.

Comment 26 Hans de Goede 2025-10-04 13:55:01 UTC
(In reply to Guillaume AMAT from comment #25)
> Unfortunately, it also happens in (cloudy) daylight. I manage to get the
> flickering stop if I stand at the window, and with a specific angle, but
> that's a long shot.

Hmm, did you maybe get libcamera-0.5.2-4.fc43 after booting into the custom kernel-6.17.0-300.ipu6.fc43 and is your pipewire process maybe still linked against the old version?

Can you try logging in + out again and see if that helps.

Also please give the camera a try in qcam to remove pipewire and apps like Snapshot or Firefox from the equation so that you are only testing libcamera:

sudo dnf install libcamera-qcam
qcam

Comment 27 Guillaume AMAT 2025-10-05 12:36:09 UTC
(In reply to Hans de Goede from comment #26)
> Can you try logging in + out again and see if that helps.
> 
> Also please give the camera a try in qcam to remove pipewire and apps like
> Snapshot or Firefox from the equation so that you are only testing libcamera:

I reboot every time I have new upgrades to test, unfortunately.

I've just started the laptop, logged in, and tried the following:

1. Launch only qcam: the picture is upside down, and the flickering is as hard as before.
2. Wait for 30 seconds to a minute, without moving from my spot, and the flickering slowly decrease until it's gone.
3. While running qcam, launch GNOME Camera: the app cannot access the "camera stream". qcam still runs, though.
4. Stop Camera.
5. Stop qcam, then re-launch it right away: the picture is fully black, but waiting a bit, it starts appearing, with the flickering, and the picture slowly comes to fine state after 30 seconds to a minute.
6. Stop qcam.
7. Start Camera.
8. Repeat step #5 with Camera (quick restart), and the symptoms are the same (black and flickering picture, until it's fine).

I did all that without any artificial light, and it's even a sunny day, no clouds.

And still, Firefox and Zoom (both Flathub), only see "ipu6" devices without any picture/access.

Comment 28 sorby 2025-12-01 16:00:13 UTC
Hi,

I can confirm I’m seeing the same behaviour on a Dell Latitude 7440 (ov02c10 sensor):
Currently tested with Linux Ketnel 6.17.8-300.fc43.x86_64 (Fedora 34), libcamera-0.5.2-4.fc43.x86_64.

The image is upside down and I also observe a strong flickering when the camera stream starts; after a short while it sometimes stabilises, but the initial flicker is very noticeable.

From comment #20 and #22 it looks like there is an upstream ov02c10 sensor driver fix for the rotation issue which still needs to be backported to Fedora, and that libcamera-0.5.2-4.fc43 should already contain a fix for some of the AGC oscillation/flickering problems.

Could you please let me know if there has been any progress on backporting the ov02c10 rotation fix and whether my current kernel should already contain it?

Is there any additional patches or tuning for the remaining flickering and rotation issues on this hardware?

I’m happy to test any experimental kernels or libcamera builds/patches you already have available for this bug and can provide dmesg logs or further diagnostics if needed.

Thanks a lot for all the work on getting this hardware supported.

Filippo


Note You need to log in before you can comment on or make changes to this bug.