You are not logged in.
Things finally work here with Gnome Snapshot after upgrading everything to the latest (I don't have any testing repo enabled). The one thing I was missing is the `pipewire-libcamera` package.
Do you have any AUR packages installed? Like
intel-ipu6-camera-hal-git
intel-ipu6ep-camera-hal-git
intel-ipu6-dkms-git
intel-ipu6-camera-bin
Because my system is up to date and I can't use the cam so far.
Offline
I don't have any of these packages installed. I did however add `KERNEL=="udmabuf", TAG+="uaccess"` to /usr/lib/udev/rules.d/70-uaccess.rules at line 37 , but AFAIK this was everything.
Offline
Interesting, even if I add that line to the file I cannot get any images from the camera. However, the camera is now at least recognized by qcam. Cheese sees the camera as well as long as I don't run it as sudo, however no image is generated. Running it as user, it lists a whole bunch of ipu6 cameras, but none of them works as far as I tried. Snapshot does not see the camera, as does chromium or firefox.
cam -l returns:
[1:28:45.094923185] [185032] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[1:28:45.094935608] [185032] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[1:28:45.094946052] [185032] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[1:28:45.105037747] [185033] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Edit: I have no idea why but the camera recognition reported above was only temporary. I was not able to reconstruct it, as of now my system does not find the camera any more.
Last edited by halogene (2024-10-21 07:39:35)
Offline
After updating to the latest kernel (6.11.3), I see some kind of progress (although the cam is still not working).
cam -l now recognizes the camera (but still shows error messages):
$ cam -l
[0:08:13.427915563] [4309] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:08:13.427937849] [4309] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:08:13.427952792] [4309] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:08:13.441908483] [4310] WARN CameraSensorProperties camera_sensor_properties.cpp:293 No static properties available for 'ov01a10'
[0:08:13.441917763] [4310] WARN CameraSensorProperties camera_sensor_properties.cpp:295 Please consider updating the camera sensor properties database
[0:08:13.442003382] [4310] ERROR DmaBufAllocator dma_buf_allocator.cpp:116 Could not open any dma-buf provider
[0:08:13.442018607] [4310] ERROR SoftwareIsp software_isp.cpp:91 Failed to create DmaBufAllocator object
[0:08:13.442021101] [4310] WARN SimplePipeline simple.cpp:531 Failed to create software ISP, disabling software debayering
Available cameras:
1: Internal front camera (\_SB_.PC00.LNK1)
And v4l2-ctl --all recognizes a ipu6 cam:
$ v4l2-ctl --all
Driver Info:
Driver name : isys
Card type : ipu6
Bus info :
Driver version : 6.11.3
Capabilities : 0xa4a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'BG12' (12-bit Bayer BGBG/GRGR)
Field : None
Bytes per Line : 3840
Size Image : 4151040
Colorspace : Raw
Transfer Function : Default (maps to None)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Format Metadata Capture:
Sample Format : 'MET8' (8-bit Generic Metadata)
Buffer Size : 9600
And finally, dmesg yields
$ sudo dmesg | grep ipu6
[ 3.391898] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 3.392187] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff
[ 3.399145] intel-ipu6 0000:00:05.0: FW version: 20230925
...
[ 12.075556] intel-ipu6 0000:00:05.0: Found supported sensor OVTI01A0:00
[ 12.075706] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 12.080622] intel-ipu6 0000:00:05.0: IPU6-v3[465d] hardware version 5
I have pipewire, libcamera, and pipewire-libcamera installed. I also installed pipwire-v4l2 and v4l2loopback-dkms.
Offline
It would appear that there's some variation on platforms with how sensors are connected. My platform reports as
DMI: Dell Inc. Latitude 7440/04F65R, BIOS 1.9.1 11/07/2023
on
6.11.3-arch1-1
. The relevant error messages in dmesg are:
kernel: intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
kernel: intel-ipu6 0000:00:05.0: FW version: 20230925
kernel: int3472-discrete INT3472:06: GPIO type 0x02 unknown; the sensor may not work
kernel: vsc-tp spi-INTC1009:00: probe with driver vsc-tp failed with error -22
I can't quite figure out the topology of how things are connected, but the int3472 driver error would seem to be relevant.
Offline
Update on my current situation (HP Spectre x360 2-in-1 Laptop 16-aa0xxx):
dmesg output:
[ 10.108337] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 10.108536] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0
[ 10.123011] intel-ipu6 0000:00:05.0: FW version: 20230925
[ 10.125460] intel-ipu6 0000:00:05.0: Found supported sensor OVTI08F4:00
[ 10.125543] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 10.126696] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 10.171463] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 10.222668] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 10.222677] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
v4l2-ctl --all:
Driver Info:
Driver name : isys
Card type : ipu6
Bus info :
Driver version : 6.11.3
Capabilities : 0xa4a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'BG12' (12-bit Bayer BGBG/GRGR)
Field : None
Bytes per Line : 3840
Size Image : 4151040
Colorspace : Raw
Transfer Function : Default (maps to None)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Format Metadata Capture:
Sample Format : 'MET8' (8-bit Generic Metadata)
Buffer Size : 9600
cam -l:
[0:05:04.081019172] [3964] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:05:04.081040412] [3964] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:05:04.081055181] [3964] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:05:04.094706137] [3965] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Available cameras:
The line
KERNEL=="udmabuf", TAG+="uaccess"
in the Webcam section of /usr/lib/udev/rules.d/70-uaccess.rules does not seem to make any difference.
Offline
peopleshit wrote:itayf wrote:Sorry to bring even more pessimism, after upgrading to 6.10, using using Dell XPS 13 Plus (9320) the camera doesn't even seem to be recognized.
Have anyone with that laptop got something else?
I'm using the same laptop, the camera isn't recognized too.
dmesg:
> sudo dmesg | grep ipu6 [ 1.764285] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002) [ 1.764485] intel-ipu6 0000:00:05.0: IPU6 in non-secure mode touch 0x0 mask 0xff [ 1.764518] intel-ipu6 0000:00:05.0: Direct firmware load for intel/ipu/ipu6ep_fw.bin failed with error -2 [ 1.764521] intel-ipu6 0000:00:05.0: error -ENOENT: Requesting signed firmware intel/ipu/ipu6ep_fw.bin failed [ 1.764523] intel-ipu6 0000:00:05.0: probe with driver intel-ipu6 failed with error -2
I got the same error because the firmware was stored on an encrypted device. I fixed it by adding the complete path to the firmware in FILES array of mkinitcpio.conf (and generate again the image). I don't know wether it is a valid solution, but the firmware is now loaded.
Did you do something else ? I'm on the exact same situation and adding the complete path of the firmware in FILES array didn't change anything (even after image regeneration).
Offline
Did you do something else ? I'm on the exact same situation and adding the complete path of the firmware in FILES array didn't change anything (even after image regeneration).
Can anyone tell me which firmware files are needed for the camera and where they are located? My system is encrypted too... and even with 6.11.4 the modules do not get loaded:
[0:18:48.273897168] [5007] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:18:48.273918001] [5007] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:18:48.273934832] [5007] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:18:48.286942256] [5008] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Available cameras:
Offline
Techlis wrote:Did you do something else ? I'm on the exact same situation and adding the complete path of the firmware in FILES array didn't change anything (even after image regeneration).
Can anyone tell me which firmware files are needed for the camera and where they are located? My system is encrypted too... and even with 6.11.4 the modules do not get loaded:
[0:18:48.273897168] [5007] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found [0:18:48.273918001] [5007] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info [0:18:48.273934832] [5007] INFO Camera camera_manager.cpp:325 libcamera v0.3.2 [0:18:48.286942256] [5008] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0 Available cameras:
From my understanding, these files:
/usr/lib/firmware/intel/ipu/ipu6_fw.bin.zst
/usr/lib/firmware/intel/ipu/ipu6ep_fw.bin.zst
/usr/lib/firmware/intel/ipu/ipu6epadln_fw.bin.zst
/usr/lib/firmware/intel/ipu/ipu6epmtl_fw.bin.zst
/usr/lib/firmware/intel/ipu/ipu6se_fw.bin.zst
Although it seems to have no effect on my system, so it might not be enough.
Last edited by Techlis (2024-10-23 07:28:28)
Offline
I was able to get this working on an Ubuntu 24. Details are here: https://github.com/intel/ipu6-drivers/issues/223
Offline
Finally got the whole thing working on Arch.
From what I understand, you need to make sure libcamera is working properly, and then it's up to either gstreamer or pipewire to make it usable in other apps, e.g. Firefox.
First, make sure your sensor is supported in the mainline kernel (ov2740, ov01a10, hi556). If it isn't, I suggest reading Hans blogpost https://hansdegoede.dreamwidth.org/28841.html , as you might be able to help him with getting your sensor supported upstream.
These are the packages I have installed that I think are relevant:
extra/gst-plugin-libcamera 0.3.2-1
extra/pipewire-libcamera 1:1.2.6-1
extra/libcamera-tools 0.3.2-1
extra/libcamera-ipa 0.3.2-1
extra/libcamera 0.3.2-1
aur/intel-ivsc-firmware
I'm not sure the last one is actually needed. I'm running the latest Arch kernel, 6.11.5-arch1-1. I do not have any package with "ipu6" in its name.
I also created a file at /etc/udev/rules.d/camera.rules with this line in it:
KERNEL=="udmabuf", TAG+="uaccess"
The first step is to see if libcamera is working. I've checked using the libcamera util:
cam -c 1 -F'#.bin' -C
This should generate a lot of files (stop it after a second with Ctrl+C) and turn on the camera light if everything is working correctly. If it isn't, libcamera is probably not working correctly and there's no point in trying to get pipewire or gstreamer to work, because they all depend on this. If it's working with sudo, it means there's some permissions issue. Make sure you created that camera.rules file and rebooted.
Once you got libcamera working, you can test gsteamer like this:
gst-launch-1.0 libcamerasrc ! queue ! glimagesink
This should be the first time you actually see an image from your camera. Hooray! If it isn't working, try with sudo. If it's working with sudo, probably the camera.rules file isn't applied. Try restarting.
Now that our camera is working with gstreamer, let's check it with pipewire. You can try it in "GNOME Snapshot" (extra/snapshot). This can be a little tricky as I think it depends on some desktop portal to ask for camera permissions, so make sure you're running a modern and well-configured desktop environment (you need to have xdg-desktop-portal-* configured and running).
If this is working, the last step you'd probably want is to have it running in Firefox. Make sure media.webrtc.camera.allow-pipewire is set to true in about:config, restart Firefox, and test your camera here: https://mozilla.github.io/webrtc-landing/gum_test.html. I've tested with extra/firefox-developer-edition 132.0b9-1, and it's working fine also using video chatting services like Google Meet.
Hope this is useful for some!
Last edited by bjesus (2024-10-27 16:00:48)
Offline
From my understanding, these files:
Thank you! My system is encrypted too, but I believe the firmware is loaded nonetheless. I think I should not have the following output of "sudo dmesg | grep ipu6" otherwise:
[ 10.896018] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 10.896274] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0
[ 10.911095] intel-ipu6 0000:00:05.0: FW version: 20230925
[ 10.913464] intel-ipu6 0000:00:05.0: Found supported sensor OVTI08F4:00
[ 10.913517] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 10.915186] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 10.960336] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 11.010853] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 11.010858] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
This looks already promising. However, reading up Hans de Goede's blog, there is a mention of my specific sensor (OVTI08F4 / OV13B10) and even the notebook model I have there and he seems not to have been able to get the sensor running on it. Lacking the skill to fiddle with code I probably just wait and watch :oS
Offline
Techlis wrote:From my understanding, these files:
Thank you! My system is encrypted too, but I believe the firmware is loaded nonetheless. I think I should not have the following output of "sudo dmesg | grep ipu6" otherwise:
[ 10.896018] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002) [ 10.896274] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x80000000 mask 0x0 [ 10.911095] intel-ipu6 0000:00:05.0: FW version: 20230925 [ 10.913464] intel-ipu6 0000:00:05.0: Found supported sensor OVTI08F4:00 [ 10.913517] intel-ipu6 0000:00:05.0: Connected 1 cameras [ 10.915186] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE [ 10.960336] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE [ 11.010853] intel-ipu6 0000:00:05.0: CSE authenticate_run done [ 11.010858] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
This looks already promising. However, reading up Hans de Goede's blog, there is a mention of my specific sensor (OVTI08F4 / OV13B10) and even the notebook model I have there and he seems not to have been able to get the sensor running on it. Lacking the skill to fiddle with code I probably just wait and watch :oS
Glad the first step worked for you ! I can't get the firmware loaded in my system though, and unfortunately I have no clue on what is going on.
Last edited by Techlis (2024-11-04 08:40:50)
Offline
Glad the first step worked for you ! I can't get the firmware loaded in my system though, and unfortunately I have no clue on what is going on.
For the record: I did not give mkinitcpio any path information to the firmware files, the firmware seems to be loaded without the help of paths in mkinitcpio.conf. I don't know how your system is encrypted, but with my system the files are on the encrypted root partition which of course gets decrypted and opened during startup, and I believe the firmware is being loaded after that. Did you have a look at the supported sensors on Hans de Goede's site?
Offline
Finally got the whole thing working on Arch.
[...]
After reading your message and confirming that everything is installed (except for the `ivsc` firmware, which is included in `linux-firmware`), I added the rule `KERNEL=="udmabuf", TAG+="uaccess"` to `/etc/udev/rules.d/camera.rules` on line 37, as suggested in a previous comment. I then restarted and followed the steps you provided. For the first time, my webcam worked on Firefox (tested on Google Meet). However, after closing Firefox, the entire system froze, requiring a hard reset. Unfortunately, since then, I haven’t been able to get it working again. This is quite frustrating. Currently, the `cam` command produces the following output:
$cam -c 1 -F'#.bin' -C
[0:07:20.814377345] [2701] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:07:20.814393844] [2701] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:07:20.814404059] [2701] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:07:20.817952619] [2702] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Camera 1 not found
Failed to create camera session
I am on a Lenovo ThinkPad X1 Yoga Gen8, using the kernel 6.11.6-zen1-1-zen (from the linux-zen package).
Here are some outputs
$sudo LIBCAMERA_LOG_LEVELS=0 cam --list
[0:07:59.448810837] [2787] DEBUG IPAModule ipa_module.cpp:333 ipa_ipu3.so: IPA module /usr/lib/libcamera/ipa_ipu3.so is signed
[0:07:59.448834618] [2787] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/lib/libcamera/ipa_ipu3.so'
[0:07:59.448846772] [2787] DEBUG IPAModule ipa_module.cpp:333 ipa_soft_simple.so: IPA module /usr/lib/libcamera/ipa_soft_simple.so is signed
[0:07:59.448857461] [2787] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/lib/libcamera/ipa_soft_simple.so'
[0:07:59.448870205] [2787] DEBUG IPAModule ipa_module.cpp:333 ipa_vimc.so: IPA module /usr/lib/libcamera/ipa_vimc.so is signed
[0:07:59.448875314] [2787] DEBUG IPAManager ipa_manager.cpp:235 Loaded IPA module '/usr/lib/libcamera/ipa_vimc.so'
[0:07:59.448881680] [2787] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:07:59.448883589] [2787] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:07:59.448890074] [2787] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:07:59.449102712] [2788] DEBUG Camera camera_manager.cpp:73 Starting camera manager
[0:07:59.454166558] [2788] DEBUG DeviceEnumerator device_enumerator.cpp:230 New media device "intel-ipu6" created from /dev/media0
[0:07:59.455310032] [2788] DEBUG DeviceEnumerator device_enumerator.cpp:258 Added device /dev/media0: intel-ipu6
[0:07:59.455442339] [2788] DEBUG Camera camera_manager.cpp:138 Found registered pipeline handler 'vimc'
[0:07:59.455454812] [2788] DEBUG Camera camera_manager.cpp:138 Found registered pipeline handler 'uvcvideo'
[0:07:59.455461174] [2788] DEBUG Camera camera_manager.cpp:138 Found registered pipeline handler 'simple'
[0:07:59.455465214] [2788] DEBUG DeviceEnumerator device_enumerator.cpp:318 Successful match for media device "intel-ipu6"
[0:07:59.455474764] [2788] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
[0:07:59.455480380] [2788] DEBUG Camera camera_manager.cpp:138 Found registered pipeline handler 'ipu3'
Available cameras:
$sudo dmesg | grep ipu
[ 4.364681] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 4.365773] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0xff
[ 4.390169] intel-ipu6 0000:00:05.0: FW version: 20230925
[ 4.392557] intel-ipu6 0000:00:05.0: Found supported sensor INT3474:01
[ 4.392720] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 4.402088] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 4.424555] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 4.514716] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 4.514723] intel-ipu6 0000:00:05.0: IPU6-v3[a75d] hardware version 5
$v4l2-ctl --all
Driver Info:
Driver name : isys
Card type : ipu6
Bus info :
Driver version : 6.11.6
Capabilities : 0xa4a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'BG12' (12-bit Bayer BGBG/GRGR)
Field : None
Bytes per Line : 3840
Size Image : 4151040
Colorspace : Raw
Transfer Function : Default (maps to None)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Format Metadata Capture:
Sample Format : 'MET8' (8-bit Generic Metadata)
Buffer Size : 9600
Last edited by JanusDC (2024-11-11 16:45:05)
Offline
I'm not sure what you mean by "on line 37", this should be the whole content of the file:
$ cat /etc/udev/rules.d/camera.rules
KERNEL=="udmabuf", TAG+="uaccess"
I do have the ivsc-firmware package installed, and the default Arch kernel. I suggest trying that first. Everything is working well here, X1 Yoga Gen 7.
Offline
Finally got the whole thing working on Arch.
From what I understand, you need to make sure libcamera is working properly, and then it's up to either gstreamer or pipewire to make it usable in other apps, e.g. Firefox.
....
Hope this is useful for some!
Perfectly working after following these steps. Thinkpad X1 Nano G3.
Thank you!
Offline
i have a Dell Precision 5470, and have it mostly working. I can run
gst-launch-1.0 libcamerasrc ! queue ! glimagesink
and everything works fine, but snapshot / cheese or anything browser related does not work. Trying on gnome, so I'm pretty sure the xdg-desktop-portal is working.
It's soooo close.
Offline
Anyone able to get the webcam working on XPS 9340?
Offline
Techlis wrote:Glad the first step worked for you ! I can't get the firmware loaded in my system though, and unfortunately I have no clue on what is going on.
For the record: I did not give mkinitcpio any path information to the firmware files, the firmware seems to be loaded without the help of paths in mkinitcpio.conf. I don't know how your system is encrypted, but with my system the files are on the encrypted root partition which of course gets decrypted and opened during startup, and I believe the firmware is being loaded after that. Did you have a look at the supported sensors on Hans de Goede's site?
My system is encrypted the same way. I checked the Hans de Goede's site for my specific sensor and it seems it's not supported at the time, I guess that's it for now !
Offline
There seems to be a bug in Dell laptops : https://github.com/intel/ipu6-drivers/issues/288
On my precision 5480, if I list i2c devices, only i2c-OVTI01AB:00 is showing, which is presumably IR camera :
ls /sys/bus/i2c/devices
i2c-0 i2c-10 i2c-12 i2c-14 i2c-16 i2c-18 i2c-2 i2c-3 i2c-5 i2c-7 i2c-9 i2c-VEN_0488:00
i2c-1 i2c-11 i2c-13 i2c-15 i2c-17 i2c-19 i2c-20 i2c-4 i2c-6 i2c-8 i2c-OVTI01AB:00 i2c-WACF3233:00
sudo dmesg | grep ipu
[ 13.030276] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 13.030443] intel-ipu6 0000:00:05.0: IPU6 in secure mode touch 0x0 mask 0x0
[ 15.771070] processor_thermal_wt_req intel_ipu6 typec processor_thermal_power_floor ipu_bridge roles igen6_edac processor_thermal_mbox intel_skl_int3472_tps68470 tps68470_regulator int3403_thermal int340x_thermal_zone clk_tps68470 intel_pmc_core i2c_hid_acpi mei_vsc_hw ov01a10 i2c_hid v4l2_fwnode intel_vsec intel_hid int3400_thermal intel_skl_int3472_discrete v4l2_async acpi_pad pmt_telemetry acpi_thermal_rel acpi_tad sparse_keymap intel_skl_int3472_common pmt_class pinctrl_tigerlake mac_hid snd_aloop snd_pcm snd_timer snd soundcore v4l2loopback_dc(OE) videodev mc i2c_dev crypto_user loop nfnetlink ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_crypt cbc encrypted_keys trusted asn1_encoder tee dm_mod hid_generic usbhid spi_ljca usb_ljca xe drm_ttm_helper gpu_sched drm_suballoc_helper drm_gpuvm drm_exec nvme nvme_core nvme_auth i915 crct10dif_pclmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic ghash_clmulni_intel rtsx_pci_sdmmc sha512_ssse3 serio_raw atkbd sha256_ssse3 mmc_core libps2
[ 25.110684] pci 0000:00:05.0: deferred probe pending: intel-ipu6: IPU6 bridge init failed
find /sys/devices -name modalias | xargs grep -h acpi | grep -Ev 'PNP|LNX' | sort -u
acpi:ACPI0003:
acpi:ACPI0007:
acpi:ACPI000C:
acpi:ACPI000E:
acpi:INT3472:
acpi:INTC1009:
acpi:INTC100A:
acpi:INTC100B:
acpi:INTC100C:
acpi:INTC100D:
acpi:INTC1055:
acpi:INTC1078:
acpi:INTC10A0:
acpi:INTC10A1:
acpi:NVDA0820:
acpi:OVTI01A0:
acpi:OVTI01AB:
acpi:STM0176:MSFT0101:
platform:acpi-cpufreq
With 6.12 kernel...
Offline
Finally got the whole thing working on Arch.
From what I understand, you need to make sure libcamera is working properly, and then it's up to either gstreamer or pipewire to make it usable in other apps, e.g. Firefox.
First, make sure your sensor is supported in the mainline kernel (ov2740, ov01a10, hi556). If it isn't, I suggest reading Hans blogpost https://hansdegoede.dreamwidth.org/28841.html , as you might be able to help him with getting your sensor supported upstream.
...
If this is working, the last step you'd probably want is to have it running in Firefox. Make sure media.webrtc.camera.allow-pipewire is set to true in about:config, restart Firefox, and test your camera here: https://mozilla.github.io/webrtc-landing/gum_test.html. I've tested with extra/firefox-developer-edition 132.0b9-1, and it's working fine also using video chatting services like Google Meet.
Hope this is useful for some!
I managed to get it working for the first time. It works with cheese but not on the browser. However, the picture is kinda black and white and I get this warning:
❯ cam -l
[0:17:27.717799804] [18146] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:17:27.717820116] [18146] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:17:27.717835988] [18146] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:17:27.732870372] [18147] WARN CameraSensorProperties camera_sensor_properties.cpp:293 No static properties available for 'ov01a10'
[0:17:27.732884681] [18147] WARN CameraSensorProperties camera_sensor_properties.cpp:295 Please consider updating the camera sensor properties database
[0:17:27.733586277] [18147] WARN IPAProxy ipa_proxy.cpp:160 Configuration file 'ov01a10.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml'
[0:17:27.733604224] [18147] WARN IPASoft soft_simple.cpp:114 Failed to create camera sensor helper for ov01a10
Available cameras:
1: Internal front camera (\_SB_.PC00.LNK1)
I'm on 6.11.9-arch1-1. I added the line in the rules and reloaded everything but still the same weird black and white image. Should I install v4l2loopback?
Last edited by Gerico0889 (2024-11-22 15:38:46)
Offline
Running 6.12.1
Randomly at boot the sensor will not initialize
[ 12.907351] ov2740 i2c-INT3474:01: chip id mismatch: 2740 != 0
[ 12.907361] ov2740 i2c-INT3474:01: error -ENXIO: failed to find sensor
If the sensor is initialized, cheese will work fine with a slightly green shade in the video.
Firefox will show 20 different ipu6 sources, running firefox with "media.webrtc.camera.allow-pipewire: true" will not detect any webcam at all.
I have installed
pipewire-libcamera 1:1.2.7-1
pipewire-v4l2 1:1.2.7-1
v4l2loopback-dkms 0.13.2-1
libcamera 0.3.2-1
libcamera-ipa 0.3.2-1
libcamera-tools 0.3.2-1
Offline
Anyone able to get the webcam working on XPS 9340?
No, did you get it working in the meantime?
Offline
Once you got libcamera working, you can test gsteamer like this:
gst-launch-1.0 libcamerasrc ! queue ! glimagesink
This should be the first time you actually see an image from your camera. Hooray! If it isn't working, try with sudo. If it's working with sudo, probably the camera.rules file isn't applied. Try restarting.
Thanks for the instructions!
So I manage to get an image with sudo but not without sudo. (also nothing with google meet, etc ...) I did apply the udev rules.
Any clues if I could check/do something else?
Offline