You are not logged in.
To use webcam in chrome/zoom/teams/whatever i use OBS virtual camera, works fine.
Morning. This is the first I've heard of this - can you elaborate?
Offline
getcha wrote:To use webcam in chrome/zoom/teams/whatever i use OBS virtual camera, works fine.
Morning. This is the first I've heard of this - can you elaborate?
I see my webcam in OBS, so I created a scene with the webcam video feed and then created a virtual camera that sends that feed back. In chrome I choose this virtual webcam as the source.
Offline
zoomy942 wrote:getcha wrote:To use webcam in chrome/zoom/teams/whatever i use OBS virtual camera, works fine.
Morning. This is the first I've heard of this - can you elaborate?
I see my webcam in OBS, so I created a scene with the webcam video feed and then created a virtual camera that sends that feed back. In chrome I choose this virtual webcam as the source.
Very clever! I'll give that a try. Thank you!
Offline
I finally managed to get my camera working on my Lenovo X1 2in1 gen 9 with the ov08x40 sensor.
All I needed was a modified version of the ov08x40 kernel module, the usbio kernel modules and the libcamera package. And v4l2loopback and v4l2-relayd for v4l2 compatibility.
I created a github repo with the required files and packages: https://github.com/henkv1/ov08x40_arch
Offline
I finally managed to get my camera working on my Lenovo X1 2in1 gen 9 with the ov08x40 sensor.
All I needed was a modified version of the ov08x40 kernel module, the usbio kernel modules and the libcamera package. And v4l2loopback and v4l2-relayd for v4l2 compatibility.I created a github repo with the required files and packages: https://github.com/henkv1/ov08x40_arch
I'm copying the github and got this -
[pzimmerman@paul-latitude7320detachable ~]$ cd usbio-drivers
bash: cd: usbio-drivers: No such file or directory
Offline
henkv wrote:I finally managed to get my camera working on my Lenovo X1 2in1 gen 9 with the ov08x40 sensor.
All I needed was a modified version of the ov08x40 kernel module, the usbio kernel modules and the libcamera package. And v4l2loopback and v4l2-relayd for v4l2 compatibility.I created a github repo with the required files and packages: https://github.com/henkv1/ov08x40_arch
I'm copying the github and got this -
[pzimmerman@paul-latitude7320detachable ~]$ cd usbio-drivers
bash: cd: usbio-drivers: No such file or directory
I updated the installation instructions. Please let me know if it works for you.
Offline
zoomy942 wrote:henkv wrote:I finally managed to get my camera working on my Lenovo X1 2in1 gen 9 with the ov08x40 sensor.
All I needed was a modified version of the ov08x40 kernel module, the usbio kernel modules and the libcamera package. And v4l2loopback and v4l2-relayd for v4l2 compatibility.I created a github repo with the required files and packages: https://github.com/henkv1/ov08x40_arch
I'm copying the github and got this -
[pzimmerman@paul-latitude7320detachable ~]$ cd usbio-drivers
bash: cd: usbio-drivers: No such file or directoryI updated the installation instructions. Please let me know if it works for you.
Thank you! I followed the steps, no errors. The camera is detected (webcamtest.com for example) but the output is black. To have an accurate test, what do you use to test the camera? I want to emulate that so the comparison is the same.
Offline
First check if cam -l shows any devices (you can ignore the errors):
cam -l
[3:03:10.411035390] [84277] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[3:03:10.411049515] [84277] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[3:03:10.411059643] [84277] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[3:03:10.418994168] [84278] ERROR V4L2 v4l2_subdevice.cpp:1085 'ov08x40 15-0010': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device
[3:03:10.419009310] [84278] WARN CameraSensor camera_sensor.cpp:304 'ov08x40 15-0010': The PixelArraySize property has been defaulted to 1928x1208
[3:03:10.419012039] [84278] ERROR V4L2 v4l2_subdevice.cpp:1085 'ov08x40 15-0010': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device
[3:03:10.419014093] [84278] WARN CameraSensor camera_sensor.cpp:315 'ov08x40 15-0010': The PixelArrayActiveAreas property has been defaulted to (0, 0)/1928x1208
[3:03:10.419016509] [84278] ERROR V4L2 v4l2_subdevice.cpp:1085 'ov08x40 15-0010': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device
[3:03:10.419018202] [84278] WARN CameraSensor camera_sensor.cpp:323 'ov08x40 15-0010': Failed to retrieve the sensor crop rectangle
[3:03:10.419019524] [84278] WARN CameraSensor camera_sensor.cpp:329 'ov08x40 15-0010': The sensor kernel driver needs to be fixed
[3:03:10.419021125] [84278] WARN CameraSensor camera_sensor.cpp:331 'ov08x40 15-0010': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[3:03:10.419128480] [84278] WARN CameraSensorProperties camera_sensor_properties.cpp:293 No static properties available for 'ov08x40'
[3:03:10.419131178] [84278] WARN CameraSensorProperties camera_sensor_properties.cpp:295 Please consider updating the camera sensor properties database
[3:03:10.419554754] [84278] WARN IPAProxy ipa_proxy.cpp:160 Configuration file 'ov08x40.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml'
[3:03:10.419561141] [84278] WARN IPASoft soft_simple.cpp:114 Failed to create camera sensor helper for ov08x40
Available cameras:
1: Internal front camera (\_SB_.PC00.LNK1)
If the camera is not detected, check if the usbio modules are loaded:
lsmod | grep usbio
i2c_usbio 16384 0
gpio_usbio 12288 3
usbio 40960 2 gpio_usbio,i2c_usbio
Then check if you get an image with qcam and firefox with media.webrtc.camera.allow-pipewire set to true in about:config
If this works you can test if the camera works with gstreamer:
gst-launch-1.0 libcamerasrc ! video/x-raw,format=RGBA ! videoconvert ! waylandsink
or for X11:
gst-launch-1.0 libcamerasrc ! video/x-raw,format=RGBA ! videoconvert ! ximagesink
If this all works check if v4l2-relayd is started:
systemctl status v4l2-relayd
● v4l2-relayd.service - v4l2-relay daemon service
Loaded: loaded (/usr/lib/systemd/system/v4l2-relayd.service; enabled; preset: disabled)
Active: active (running) since Wed 2025-02-26 18:16:50 CET; 1s ago
Invocation: 79af410c85fa4b1b8fb1e78f074fe868
Process: 85110 ExecCondition=/usr/bin/test -n ${VIDEOSRC} (code=exited, status=0/SUCCESS)
Process: 85112 ExecCondition=/usr/bin/test -n $FORMAT (code=exited, status=0/SUCCESS)
Process: 85114 ExecCondition=/usr/bin/test -n $WIDTH (code=exited, status=0/SUCCESS)
Process: 85116 ExecCondition=/usr/bin/test -n $HEIGHT (code=exited, status=0/SUCCESS)
Process: 85118 ExecCondition=/usr/bin/test -n $FRAMERATE (code=exited, status=0/SUCCESS)
Process: 85120 ExecCondition=/usr/bin/test -n ${CARD_LABEL} (code=exited, status=0/SUCCESS)
Main PID: 85122 (v4l2-relayd)
Tasks: 6 (limit: 76349)
Memory: 18M (peak: 19.4M)
CPU: 96ms
CGroup: /system.slice/v4l2-relayd.service
└─85122 /usr/bin/v4l2-relayd -i libcamerasrc -o "appsrc name=appsrc caps=video/x-raw,format=RGBA,width=1280,height=720,framerate=30/1 ! vi>
feb 26 18:16:50 systemd[1]: Starting v4l2-relay daemon service...
feb 26 18:16:50 systemd[1]: Started v4l2-relay daemon service.
feb 26 18:16:50 (sh)[85122]: v4l2-relayd.service: Referenced but unset environment variable evaluates to an empty string: SPLASHSRC
Now finally, set media.webrtc.camera.allow-pipewire to false in firefox and check again. You should now be able to select 'Virtual Camera' as camera device.
Offline
Welp, right out of the gate - 2 errors
[pzimmerman@paul-latitude7320detachable ~]$ cam -l
[0:01:24.831726744] [6300] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:01:24.831736820] [6300] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:01:24.831743731] [6300] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:01:24.844987634] [6301] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
Available cameras:
[pzimmerman@paul-latitude7320detachable ~]$
Updating this - I was in a hurry and didn't slow down
[pzimmerman@paul-latitude7320detachable ~]$ lsmod | grep usbio
i2c_usbio 16384 0
gpio_usbio 12288 0
usbio 40960 2 gpio_usbio,i2c_usbio
[pzimmerman@paul-latitude7320detachable ~]$ ^C
Next
qcam
[pzimmerman@paul-latitude7320detachable ~]$ qcam
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
[0:07:29.941074204] [9664] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:07:29.941132813] [9664] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:07:29.941158088] [9664] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:07:29.969452431] [9671] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
[pzimmerman@paul-latitude7320detachable ~]$
Next
[pzimmerman@paul-latitude7320detachable ~]$ gst-launch-1.0 libcamerasrc ! video/x-raw,format=RGBA ! videoconvert ! waylandsink
Setting pipeline to PAUSED ...
[0:08:01.596303196] [9820] ERROR IPAModule ipa_module.cpp:171 Symbol ipaModuleInfo not found
[0:08:01.596325648] [9820] ERROR IPAModule ipa_module.cpp:291 v4l2-compat.so: IPA module has no valid info
[0:08:01.596349936] [9820] INFO Camera camera_manager.cpp:325 libcamera v0.3.2
[0:08:01.626660944] [9823] INFO SimplePipeline simple.cpp:1548 No sensor found for /dev/media0
ERROR: from element /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0: Could not find any supported camera on this system.
Additional debug info:
../libcamera/src/gstreamer/gstlibcamerasrc.cpp(395): gst_libcamera_src_open (): /GstPipeline:pipeline0/GstLibcameraSrc:libcamerasrc0:
libcamera::CameraMananger::cameras() is empty
ERROR: pipeline doesn't want to preroll.
Failed to set pipeline to PAUSED.
Setting pipeline to NULL ...
Freeing pipeline ...
[pzimmerman@paul-latitude7320detachable ~]$
Last edited by zoomy942 (2025-02-26 21:00:40)
Offline