Webcam not working
- PipeWire version (
pipewire --version
): 1.0.1 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Fedora Linux 39 Workstation Edition (same issue with 38) - Desktop Environment: GNOME
- Kernel version (
uname -r
): 6.6.13-200.fc39.x86_64
Description of Problem:
Since I upgraded to Fedora 38, my USB webcam is not usable anymore.
How Reproducible:
100% on my desktop computer, but works when I plug it on my laptop. Both running the same distribution.
Steps to Reproduce:
Start any app that uses the camera, like GNOME Snapshot or a WebRTC call in Firefox.
Actual Results:
No video.
Expected Results:
Video.
Additional Info (as attachments):
some additional commands
# gst-launch-1.0 pipewiresrc target-object=3326 ! videoconvert ! autovideosink
Définition du pipeline à PAUSED...
ERREUR : de l’élément /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0 : stream error: target not found
Information de débogage supplémentaire :
../src/gst/gstpipewiresrc.c(689): on_state_changed (): /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0
ERREUR : le pipeline refuse de passer en phase de préparation.
Impossible de mettre en pause le pipeline.
Définition du pipeline à NULL…
Libération du pipeline…
# gst-launch-1.0 pipewiresrc target-object=3323 ! videoconvert ! autovideosink
Définition du pipeline à PAUSED...
ERREUR : de l’élément /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0 : stream error: error set output format: -16 (Périphérique ou ressource occupé)
Information de débogage supplémentaire :
../src/gst/gstpipewiresrc.c(689): on_state_changed (): /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0
ERREUR : le pipeline refuse de passer en phase de préparation.
Impossible de mettre en pause le pipeline.
Définition du pipeline à NULL…
ERREUR : de l’élément /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0 : Internal data stream error.
Information de débogage supplémentaire :
../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstPipeWireSrc:pipewiresrc0:
streaming stopped, reason not-negotiated (-4)
ERREUR : le pipeline refuse de passer en phase de préparation.
Libération du pipeline…
# lsusb output for that camera
Bus 001 Device 014: ID 0471:0311 Philips (or NXP) PCVC740K ToUcam Pro [pwc]
# systemctl --user status wireplumber pipewire pipewire-pulse
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Fri 2024-01-26 11:37:53 CET; 2 days ago
Main PID: 2455 (wireplumber)
Tasks: 6 (limit: 18724)
Memory: 7.1M
CPU: 11.090s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─2455 /usr/bin/wireplumber
janv. 26 11:37:53 metion systemd[2215]: Started wireplumber.service - Multimedia Service Session Manager.
janv. 26 11:37:54 metion wireplumber[2455]: SPA handle 'api.libcamera.enum.manager' could not be loaded; is it installed?
janv. 26 11:37:54 metion wireplumber[2455]: PipeWire's libcamera SPA missing or broken. libcamera not supported.
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
/usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Fri 2024-01-26 11:37:53 CET; 2 days ago
TriggeredBy: ● pipewire.socket
Main PID: 2454 (pipewire)
Tasks: 3 (limit: 18724)
Memory: 8.9M
CPU: 4min 5.288s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─2454 /usr/bin/pipewire
janv. 28 22:06:10 metion pipewire[2454]: pw.core: 0x564dd22a3c30: error -32 for resource 2: can't negotiate buffers on port
janv. 28 22:06:10 metion pipewire[2454]: mod.client-node: 0x564dd2a03d30: error seq:22 -32 (can't negotiate buffers on port)
janv. 28 22:46:36 metion pipewire[2454]: spa.v4l2: unsupported data type:0000000c
janv. 28 22:46:36 metion pipewire[2454]: pw.port: 0x564dd24bc430: negotiate buffers on node: -95 (Opération non supportée)
janv. 28 22:46:36 metion pipewire[2454]: pw.port: 0x564dd24bc430: state ready -> error (can't negotiate buffers on port)
janv. 28 22:46:36 metion pipewire[2454]: pw.link: (56.0.0 -> 101.0.0) allocating -> error (can't negotiate buffers on port) (error-ready)
janv. 28 22:46:36 metion pipewire[2454]: pw.core: 0x564dd22a3c30: error -32 for resource 2: can't negotiate buffers on port
janv. 28 22:46:36 metion pipewire[2454]: mod.client-node: 0x564dd29016e0: error seq:22 -32 (can't negotiate buffers on port)
janv. 28 22:46:36 metion pipewire[2454]: pw.core: 0x564dd22a3c30: error -32 for resource 2: can't negotiate buffers on port
janv. 28 22:46:36 metion pipewire[2454]: mod.client-node: 0x564dd29016e0: error seq:22 -32 (can't negotiate buffers on port)
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; disabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Fri 2024-01-26 11:38:10 CET; 2 days ago