Closed elhossary closed 9 months ago
Hi, I got the same problem tonight after a clean reinstall and update to kernel 6.5.2
.
First of all, thanks to the author, contributors and maintainers of this repository :heart:
I've a Dell XPS 13 Plus 9320, and I've been able to make my camera work tonight (after a lot of trial and errors). My solution is sub-optimal and I hope that it may work for you too.
In the install.sh
, comment the installation of the following module : intel-ipu6ep-camera-bin
, intel-ipu6ep-camera-hal-git
and icamerasrc-git
install.sh
#!/usr/bin/env bash
set -euo pipefail
RED='\033[0;31m'
ORANGE='\033[0;33m'
NC='\033[0m'
# Insert your AUR package manager and equivalent commands here if any.
# The script will try to use either yay or paru if not specified.
PKGMAN=()
MAKEPKG=(makepkg -si --noconfirm --needed)
# Script flags, best to leave them unless you want to 'hardcode' behaviours.
FLAG_YUY2_WA=false
FLAG_S2DISK_HACK=false
FLAG_EXPLICIT_WAYLAND=false
FLAG_REBOOT_AFTER_INSTALL=false
FLAG_QUIET_MODE=false
SUPPORTED_KERNELS=(linux linux-lts linux-zen linux-hardened)
# All packages installed, in order.
PKGS=(base-devel
intel-ipu6-dkms-git
# intel-ipu6ep-camera-bin
# intel-ipu6ep-camera-hal-git
v4l2loopback-dkms-git
v4l2-relayd
# icamerasrc-git # Will build from repos, old fix PKGBUILD is renamed to icamerasrc-git.old
gst-plugin-pipewire
gst-plugins-good
)
[...]
It should fail after installing ipu6-drivers with dkms (Equivallent to this repo, which is "nice".
Then, install binary from ipu6-camera-bins
this repo
Moving to ipu6-camera-hal
+ the adaptor, follow this instruction. Note that you will also need the icamerasrc
in this repo to operate.
THIS MAY FAIL because build is done without optimization flag (-O
). Open ipu6-camera-hal
repository in your IDE, lookup for -Werror
references in CMakeLists.txt
files. Prepend with the -O
flag. (Or just remove the -Werror
:shrug:)
Last step, reexecute the inital install.sh
from this repo and go with v4l2*
and gst*
related packages installation.
Reboot, try with test.sh
, it should work, and cherry on the top, it should also work in Firefox/Chromium.
Désolé for the fuzzy explanation, I just come home from vacation, will be happy to help further later if needed :sleeping:
Hi @ParriauxMaxime and first of all, thanks fo your work !
Tried your workarround and it doesn't seems to work for me. Here is the output from test.sh
:
[09-13 09:45:30.132] CamHAL[ERR] load_camera_hal_library, failed to open PCI device. error: (null)
[09-13 09:45:30.132] CamHAL[ERR] get_number_of_cameras, function call is nullptr
[09-13 09:45:30.132] CamHAL[ERR] get_number_of_cameras, function call is nullptr
[09-13 09:45:30.132] CamHAL[ERR] get_number_of_cameras, function call is nullptr
(gst-launch-1.0:8626): GLib-GObject-CRITICAL **: 09:45:30.132: g_param_spec_enum: assertion 'g_enum_get_value (enum_class, default_value) != NULL' failed
(gst-launch-1.0:8626): GLib-GObject-CRITICAL **: 09:45:30.133: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed
(gst-launch-1.0:8626): GLib-GObject-CRITICAL **: 09:45:30.133: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed
(gst-launch-1.0:8626): GLib-GObject-CRITICAL **: 09:45:30.133: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed
[09-13 09:45:30.133] CamHAL[ERR] get_number_of_cameras, function call is nullptr
[09-13 09:45:30.133] CamHAL[ERR] get_number_of_cameras, function call is nullptr
WARNING: erroneous pipeline: could not link camerasrc0 to videoconvert0, camerasrc0 can't handle caps video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720
Also, the output from v4l2-ctl --all
:
Driver Info:
Driver name : v4l2 loopback
Card type : Virtual Camera
Bus info : platform:v4l2loopback-000
Driver version : 6.5.2
Capabilities : 0x85200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x05200001
Video Capture
Read/Write
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (loopback: ok)
Format Video Capture:
Width/Height : 1280/720
Pixel Format : 'NV12' (Y/UV 4:2:0)
Field : None
Bytes per Line : 1280
Size Image : 1382400
Colorspace : sRGB
Transfer Function : sRGB
YCbCr/HSV Encoding: ITU-R 601
Quantization : Limited Range
Flags :
Format Video Output:
Width/Height : 1280/720
Pixel Format : 'NV12' (Y/UV 4:2:0)
Field : None
Bytes per Line : 1280
Size Image : 1382400
Colorspace : sRGB
Transfer Function : sRGB
YCbCr/HSV Encoding: ITU-R 601
Quantization : Limited Range
Flags :
Streaming Parameters Video Capture:
Frames per second: 30.000 (30/1)
Read buffers : 2
Streaming Parameters Video Output:
Frames per second: 30.000 (30/1)
Write buffers : 2
User Controls
keep_format 0x0098f900 (bool) : default=0 value=0
sustain_framerate 0x0098f901 (bool) : default=0 value=0
timeout 0x0098f902 (int) : min=0 max=100000 step=1 default=0 value=0
timeout_image_io 0x0098f903 (bool) : default=0 value=0
And finally the logs from systemctl --user status wireplumber.service
:
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Wed 2023-09-13 09:38:22 CEST; 13min ago
Main PID: 5374 (wireplumber)
Tasks: 7 (limit: 18686)
Memory: 10.9M
CPU: 381ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─5374 /usr/bin/wireplumber
sept. 13 09:38:22 GuilhemArch systemd[2646]: Started Multimedia Service Session Manager.
sept. 13 09:38:22 GuilhemArch wireplumber[5374]: [0:02:14.474330719] [5374] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
sept. 13 09:38:22 GuilhemArch wireplumber[5374]: [0:02:14.474342297] [5374] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
sept. 13 09:38:22 GuilhemArch wireplumber[5374]: [0:02:14.474357746] [5374] INFO Camera camera_manager.cpp:284 libcamera v0.1.0
sept. 13 09:38:24 GuilhemArch wireplumber[5374]: <WpSiAudioAdapter:0x55897d30fbe0> Object activation aborted: proxy destroyed
sept. 13 09:38:24 GuilhemArch wireplumber[5374]: <WpSiAudioAdapter:0x55897d30fbe0> failed to activate item: Object activation aborted: proxy destroyed
sept. 13 09:38:25 GuilhemArch wireplumber[5374]: <WpPortalPermissionStorePlugin:0x55897d1497b0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
sept. 13 09:38:25 GuilhemArch wireplumber[5374]: <WpPortalPermissionStorePlugin:0x55897d1497b0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
sept. 13 09:38:25 GuilhemArch wireplumber[5374]: <WpPortalPermissionStorePlugin:0x55897d1497b0> Failed to call Lookup: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for camera
Any idea of what could be the problem ?
Hi @ParriauxMaxime , Thanks for the suggestions, it does not work for me too
FWIW, it works on my machine on linux 6.5.3.arch1-1
.
All I did was clone the repo, pacman -R
a few packages of the stack that were installed before, and run install.sh
.
At the end the machine was rebooted and after that the camera worked fine.
btw: thank you so much for this amazing, life-saving repo.
I had a few problems before with newer kernels, but running ./uninstall.sh
, deleting the cloned directory and doing a fresh clone solved my build problems.
Works fine for me with kernel 6.5.3-arch1-1
on the newest thinkpad carbon x1, too :)
Worked again in Kernel 6.5.3
Hi,
I had my webcam working on my alder lake X1 carbon for monthes but today, I upgraded to the latest linux 6.5.2. I noticed this during the installation:
When I rebooted, the camera stopped working Can anyone help me to fix it? here is the make.log output
EDIT: When I tried to uninstall and install again
Thanks