Code Monkey home page Code Monkey logo

Comments (6)

iosonofabio avatar iosonofabio commented on August 18, 2024 1

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.

from archlinux-ipu6-webcam.

ParriauxMaxime avatar ParriauxMaxime commented on August 18, 2024

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 ❤️

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 🤷)

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 😴

from archlinux-ipu6-webcam.

GorgetGuilhem avatar GorgetGuilhem commented on August 18, 2024

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/[email protected]/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 ?

from archlinux-ipu6-webcam.

elhossary avatar elhossary commented on August 18, 2024

Hi @ParriauxMaxime ,
Thanks for the suggestions, it does not work for me too

from archlinux-ipu6-webcam.

fbrinker avatar fbrinker commented on August 18, 2024

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 :)

from archlinux-ipu6-webcam.

elhossary avatar elhossary commented on August 18, 2024

Worked again in Kernel 6.5.3

from archlinux-ipu6-webcam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.