When applications use the built-in ov02c10 based camera, the captured image is upside-down Reproducible: Always Steps to Reproduce: 1.Install Fedora 43 on a Dell XPS 13 9340 with kernel-6.18.10-200.fc43.x86_64 2.Run qcam Actual Results: Captured image is upside-down Expected Results: Captured image should be the normal way Additional Information: Same issue with latest rawhide kernel 6.20.0-0.rc0.260216g0f2acd3148e0e.8.fc45.x86_64, see attached dmesg.txt Bug first appeared in kernel-6.18.9-200.fc43.x86_64. The image is the right way with kernel-6.18.8-200.fc43.x86_64. libcamera version: libcamera-0.5.2-5.fc43.x86_64 Extra modules: akmod-v4l2loopback from rpmfusion Related: #2368952, #2355032. Note that the flickering bug seems fixed now. I recently updated the Dell firmware, running now on BIOS 1.23.0. Don't know if this may be related. Workaround: Turn the image in OBS and use the virtual camera, or boot with 6.18.8-200.fc43.x86_64. qcam output: $ qcam [0:01:39.849626502] [7862] INFO Camera camera_manager.cpp:330 libcamera v0.5.2 [0:01:39.860305739] [7874] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 17-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device [0:01:39.860317192] [7874] WARN CameraSensor camera_sensor_legacy.cpp:401 'ov02c10 17-0036': The PixelArraySize property has been defaulted to 1928x1092 [0:01:39.860320302] [7874] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 17-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device [0:01:39.860322566] [7874] WARN CameraSensor camera_sensor_legacy.cpp:412 'ov02c10 17-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/1928x1092 [0:01:39.860325184] [7874] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:01:39.860327940] [7874] WARN CameraSensor camera_sensor_legacy.cpp:420 'ov02c10 17-0036': Failed to retrieve the sensor crop rectangle [0:01:39.860329744] [7874] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov02c10 17-0036': The sensor kernel driver needs to be fixed [0:01:39.860331901] [7874] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov02c10 17-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information [0:01:39.860473101] [7874] WARN CameraSensorProperties camera_sensor_properties.cpp:484 No static properties available for 'ov02c10' [0:01:39.860476546] [7874] WARN CameraSensorProperties camera_sensor_properties.cpp:486 Please consider updating the camera sensor properties database [0:01:39.860480836] [7874] WARN CameraSensor camera_sensor_legacy.cpp:501 'ov02c10 17-0036': No sensor delays found in static properties. Assuming unverified defaults. [0:01:39.862705921] [7874] WARN IPAProxy ipa_proxy.cpp:177 Configuration file 'ov02c10.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml' [0:01:39.862727597] [7874] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:01:39.862733808] [7874] WARN CameraSensor camera_sensor_legacy.cpp:880 'ov02c10 17-0036': The analogue crop rectangle has been defaulted to the active area size [0:01:39.869460277] [7875] INFO IPAProxySoftWorker soft_ipa_proxy_worker.cpp:448 Starting worker for IPA module /usr/lib64/libcamera/ipa/ipa_soft_simple.so with IPC fd = 36 [0:01:39.869891405] [7875] WARN IPASoft soft_simple.cpp:103 IPASoft: Failed to create camera sensor helper for ov02c10 [0:01:39.870159763] [7874] INFO Camera camera_manager.cpp:220 Adding camera '\_SB_.PC00.LNK1' for pipeline handler simple [0:01:39.904931932] [7862] INFO Camera camera.cpp:1215 configuring streams: (0) 1920x1092-ABGR8888/Unset [0:01:39.905530446] [7875] INFO IPASoft soft_simple.cpp:269 IPASoft: Exposure 4-2320, gain 16-248 (1) Zero-copy enabled [0:01:42.773536242] [7877] INFO Debayer debayer_cpu.cpp:831 Processed 30 frames in 105805us, 3526 us/frame
Created attachment 2129830 [details] Kernel dmesg output
This should be fixed by this patch which I just submitted upstream: https://lore.kernel.org/linux-media/20260225203058.40545-1-johannes.goede@oss.qualcomm.com/ Kate, maybe you can submit a kernel-ark fedora-6.19 branch PR to backport this quickly ?
Hi Hans, Thank you for your solutions. I'll prepare the MR.
Have the same (image upside down) on Dell DA14250. Kernel: 6.18.13-200.fc43.x86_64 libcamera: libcamera-0.5.2-5.fc43.x86_64 dmesg: [ 5.400150] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002) [ 5.446282] intel-ipu6 0000:00:05.0: Found supported sensor OVTI02C1:00 [ 5.446344] intel-ipu6 0000:00:05.0: Connected 1 cameras [ 5.448079] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE [ 5.494215] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE [ 5.546769] intel-ipu6 0000:00:05.0: CSE authenticate_run done [ 5.546777] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6 qcam: [1:10:36.340650416] [29596] INFO Camera camera_manager.cpp:330 libcamera v0.5.2 [1:10:36.370162109] [29609] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 18-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device [1:10:36.370205868] [29609] WARN CameraSensor camera_sensor_legacy.cpp:401 'ov02c10 18-0036': The PixelArraySize property has been defaulted to 1928x1092 [1:10:36.370210349] [29609] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 18-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device [1:10:36.370213756] [29609] WARN CameraSensor camera_sensor_legacy.cpp:412 'ov02c10 18-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/1928x1092 [1:10:36.370220679] [29609] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 18-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [1:10:36.370226572] [29609] WARN CameraSensor camera_sensor_legacy.cpp:420 'ov02c10 18-0036': Failed to retrieve the sensor crop rectangle [1:10:36.370228865] [29609] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov02c10 18-0036': The sensor kernel driver needs to be fixed [1:10:36.370232501] [29609] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov02c10 18-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information [1:10:36.370421629] [29609] WARN CameraSensorProperties camera_sensor_properties.cpp:484 No static properties available for 'ov02c10' [1:10:36.370426579] [29609] WARN CameraSensorProperties camera_sensor_properties.cpp:486 Please consider updating the camera sensor properties database [1:10:36.370434386] [29609] WARN CameraSensor camera_sensor_legacy.cpp:501 'ov02c10 18-0036': No sensor delays found in static properties. Assuming unverified defaults. [1:10:36.373254398] [29609] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov02c10 18-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [1:10:36.373285717] [29609] WARN CameraSensor camera_sensor_legacy.cpp:880 'ov02c10 18-0036': The analogue crop rectangle has been defaulted to the active area size [1:10:36.389086250] [29610] INFO IPAProxySoftWorker soft_ipa_proxy_worker.cpp:448 Starting worker for IPA module /usr/lib64/libcamera/ipa/ipa_soft_simple.so with IPC fd = 35 [1:10:36.390139576] [29610] WARN IPASoft soft_simple.cpp:103 IPASoft: Failed to create camera sensor helper for ov02c10 [1:10:36.390566786] [29609] INFO Camera camera_manager.cpp:220 Adding camera '\_SB_.PC00.LNK1' for pipeline handler simple [1:10:36.425798888] [29596] INFO Camera camera.cpp:1215 configuring streams: (0) 1920x1092-ABGR8888/Unset [1:10:36.426244061] [29610] INFO IPASoft soft_simple.cpp:269 IPASoft: Exposure 4-2320, gain 16-248 (1) Zero-copy enabled [1:10:38.682583904] [29613] INFO Debayer debayer_cpu.cpp:831 Processed 30 frames in 215420us, 7180 us/frame
> Have the same (image upside down) on Dell DA14250. What is the output of (run as regular user): grep . /sys/class/dmi/id/* 2> /dev/null ?
I can confirm that the fix works fine om my Dell XPS 13 9340. Thanks for the quick response.
(In reply to Hans de Goede from comment #5) > > Have the same (image upside down) on Dell DA14250. > > What is the output of (run as regular user): > > grep . /sys/class/dmi/id/* 2> /dev/null > > ? Please see below: $ grep . /sys/class/dmi/id/* 2> /dev/null /sys/class/dmi/id/bios_date:12/24/2025 /sys/class/dmi/id/bios_release:1.7 /sys/class/dmi/id/bios_vendor:Dell Inc. /sys/class/dmi/id/bios_version:1.7.0 /sys/class/dmi/id/board_name:025J9Y /sys/class/dmi/id/board_vendor:Dell Inc. /sys/class/dmi/id/board_version:A00 /sys/class/dmi/id/chassis_type:10 /sys/class/dmi/id/chassis_vendor:Dell Inc. /sys/class/dmi/id/ec_firmware_release:1.6 /sys/class/dmi/id/modalias:dmi:bvnDellInc.:bvr1.7.0:bd12/24/2025:br1.7:efr1.6:svnDellInc.:pnDell14PremiumDA14250:pvr:rvnDellInc.:rn025J9Y:rvrA00:cvnDellInc.:ct10:cvr:sku0CE5: /sys/class/dmi/id/product_family:Dell Laptops /sys/class/dmi/id/product_name:Dell 14 Premium DA14250 /sys/class/dmi/id/product_sku:0CE5 /sys/class/dmi/id/sys_vendor:Dell Inc. /sys/class/dmi/id/uevent:MODALIAS=dmi:bvnDellInc.:bvr1.7.0:bd12/24/2025:br1.7:efr1.6:svnDellInc.:pnDell14PremiumDA14250:pvr:rvnDellInc.:rn025J9Y:rvrA00:cvnDellInc.:ct10:cvr:sku0CE5: