Mon 14 Jun 2010
I have a USB camera I want to use with Skype to make video calls. The camera has the following lsusb output:
Bus 004 Device 002: ID 0471:0328 Philips SPC 700NC PC Camera
My gentoo is 64bit, using multilib (has 32bit libraries as well). After fiddling with Google to find the proper linux kernel driver for a while, I found a useful website Linux Kernel Driver DataBase (LKDDb) (the kernel module is called CONFIG_USB_GSPCA_SONIXJ). After installing the kernel driver, reboot, Skype can detect a camera device /dev/video0, but when clicking the test button, nothing show up (the light on the camera comes on briefly then turns off). Further google leads me to this solution: Edit /usr/bin/skype, add the following line before the last line (exec ./skype "$@"):
export LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so
skype is a pre-built 32-bit binary, so I have to specify the lib32 explicitly above. Note: if you receive any of the following errors:
ERROR: ld.so: object '/usr/lib32/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object '/usr/lib64/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object '/usr/lib32/libv4l/v4l2convert.so' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object '/usr/lib64/libv4l/v4l2convert.so' from LD_PRELOAD cannot be preloaded: ignored.
You are probably trying to set LD_PRELOAD on a shell script (the /usr/bin/skype is actually a shell wrapper around /opt/skype/skype, the real binary), so the following would lead to one of the above errors:
LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so skype
Try to add that line to the script instead as suggested above.
RSS feed for comments on this post. TrackBack this post