I have an old Creative NX Pro webcam. In short, guvcview
and v4l2ucp
work perfectly; cheese
can't find the webcam; and Skype can find the webcam but shows a black screen.
Diagnostics:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
$ dmesg
[ 36.781826] Linux video capture interface: v2.00
[ 36.807977] gspca_main: v2.14.0 registered
[ 36.812809] gspca_main: gspca_zc3xx-2.14.0 probing 041e:401e
[ 36.885023] input: gspca_zc3xx as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6.4/input/input12
[ 36.885186] usbcore: registered new interface driver gspca_zc3xx
$ lsusb
Bus 001 Device 007: ID 041e:401e Creative Technology, Ltd Webcam NX Pro
$ lsmod
Module Size Used by
v4l2_common 16384 1 gspca_main
videodev 184320 3 v4l2_common,gspca_zc3xx,gspca_main
gspca_zc3xx 57344 0
gspca_main 36864 1 gspca_zc3xx
$ find /usr/lib -iname '*v4l*'
/usr/lib/x86_64-linux-gnu/libgviewv4l2core-2.0.so.2
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
/usr/lib/x86_64-linux-gnu/libv4l
/usr/lib/x86_64-linux-gnu/libv4l/v4l2convert.so
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so
/usr/lib/x86_64-linux-gnu/libv4l/plugins/libv4l-mplane.so
/usr/lib/x86_64-linux-gnu/libv4l2.so.0
/usr/lib/x86_64-linux-gnu/libv4l1.so.0.0.0
/usr/lib/x86_64-linux-gnu/libv4l1.so.0
/usr/lib/x86_64-linux-gnu/libv4lconvert.so.0
/usr/lib/x86_64-linux-gnu/libgviewv4l2core-2.0.so.2.0.0
/usr/lib/x86_64-linux-gnu/libv4lconvert0
/usr/lib/x86_64-linux-gnu/libv4lconvert.so.0.0.0
/usr/lib/x86_64-linux-gnu/libv4l2.so.0.0.0
$ sudo apt install v4l2ucp
$ v4l2ucp
# Works perfectly, including preview
$ guvcview
GUVCVIEW: version 2.0.5
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
control[0]:(unknown - 0x6) 0x980001 'User Controls'
control[7]:(unknown - 0x6) 0x9d0001 'JPEG Compression Controls'
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
# Works perfectly
$ cheese
** Message: 12:16:47.766: cheese-application.vala:211: Error during camera setup: No device found
(cheese:9944): cheese-CRITICAL **: 12:16:47.779: cheese_camera_device_get_name: assertion 'CHEESE_IS_CAMERA_DEVICE (device)' failed
# No devices found
$ cat /usr/share/skypeforlinux/version
v2.0.10
$ /usr/share/skypeforlinux/skypeforlinux
# Audio and Video Settings sees USB Camera (041e:401e), but black screen
# Video-calling produces "We could not connect to your selected camera. Please select a different camera or try restarting Skype."
$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/share/skypeforlinux/skypeforlinux
does not help.
$ cat ~/.config/skypeforlinux/logs/skype-startup.log
Empty.
What should I do to fix Skype?
Had a similar(?) problem with a gspca_ov519 camera that worked perfectly when opened with
vlc
but was not recognized as webcam by android-emulator. Another uvcvideo camera was recognized as webcam but failed to show a valid picture in any program. I ended using a uvcvideo Microsoft webcam that was available and everything worked fine.I guess switching the webcam would be an easy to try solution.