31.07.11

Linux skype upside down/flipped webcam on Asus laptop

If running skype, the image coming out of the webcam of some of the asus laptops is upside down (flipped vertically). My camera USB information is the following:
~$ lsusb | grep Chicony
Bus 002 Device 003: ID 04f2:b106 Chicony Electronics Co., Ltd
A solution/fix is to use the libv4l library , courtesy of Hans de Goede, to call the executable. Since the available linux skype version at the moment is a 32bit executable, you will need to use the 32bit version of these libraries:
LD_PRELOAD="/usr/lib32/libv4l/v4l1compat.so" /usr/bin/skype
or
LD_PRELOAD="/usr/lib32/libv4l/v4l1compat.so /usr/lib32/libv4lconvert.so.0" /usr/bin/skype
On ubuntu the library can be installed by:
~$ sudo apt-get install lib32v4l-0
and on gentoo by:
~# emerge libv4l
and then as root (or sudo) do something like:
~# mv /usr/bin/skype /usr/bin/skype.real && \
echo -e '#!/bin/sh\nLD_PRELOAD="/usr/lib32/libv4l/v4l1compat.so /usr/lib32/libv4lconvert.so.0" /usr/bin/skype.real "$@"' \
> /usr/bin/skype.wrapper && \
chmod 755 /usr/bin/skype.wrapper && \
ln -s /usr/bin/skype.wrapper /usr/bin/skype
which moves the original skype to skype.real and creates a wrapper file:
#!/bin/sh

LD_PRELOAD="/usr/lib32/libv4l/v4l1compat.so /usr/lib32/libv4lconvert.so.0" /usr/bin/skype.real "$@"