How to fix upside-down / inverted web camera
laptop Asus K51AC issue on Ubuntu Linux and Debian GNU / Linux
Does your camera show video correctly in
cheese but shows
captured video upside-down (inverted) in
skype ?
This is an issue a friend of mine experienced on his
Asus
K51AC-SX037D laptop on both Ubuntu and Debian Linux.
As you can see in the picture above it is funny as with this bug
the person looks like a batman ;)
As the webcam upside-down issue was present on both latest
Ubuntu 11.10 and latest stable
Debian Squeeze 6.02,
my guess was other GNU / Linux rpm based distro like
Fedora
might have applied a fix to this weird Skype inverted video (bat
human like) issue.
Unfortunately testing the webcam with Skype on latest both
Fedora 16 and
Linux Mint 12 appeared to produce the
same webcam bug.
A bit of research for the issue online and try outs of a number of
suggested methods to resolve the issue led finally to a work
around, thanks
to this post
Here is few steps to follow to make the webcam show video like it
should:
1. Install libv4l-0 package
root@linux:~# apt-get --yes install libv4-0
...
Onwards to start skype directly from terminal and test the camera
type:
hipo@linux:~$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
skype
This is the work around for 32 bit Linux install, most people
however will probably have installed 64 bit Linux, for 64bit Linux
installs the above command should be little different:
hipo@linux:~$ LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so
skype
Once skype is launched test the camera and see if the camera
capture is now uninverted, through menus:
S -> Options -> Video Devices ->
Test
2. Create a skype Wrapper script Launcher
To make skype launch everytime with exported shell variable:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so
A new skype wrapper bash shell script should be created in
/usr/local/bin/skype , the file should contain:
#!/bin/sh
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so
/usr/bin/skype
To create the script with echo in a root terminal issue;
root@linux:~# echo '#!/bin/sh' >>
/usr/local/bin/skype
root@linux:~# echo 'LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so'
>> /usr/local/bin/skype
root@linux:~# echo '/usr/bin/skype' >>
/usr/local/bin/skype
root@linux:~# chmod +x /usr/local/bin/skype
3. Edit the Skype gnome menu to substitute /usr/bin/skype
Skype Launcher with /usr/local/bin/skype
Gnome 2 has a handy menu launcher, allowing to edit and add new
menus and submenus (menus and items) to the Application menu, to
launch the editor one has to click over Applications with
last mouse button (right button) and choose Edit Menus
The menu editor like the one in the below screenshot will
appear:
In the preceeding Launcher properties window, Command: skype
has to be substituted with:
Command: /usr/local/bin/skype
For console freaks who doesn't want to bother in editting Skype
Launcher via GUI /usr/share/applications/skype.desktop file
can be editted in terminal. Inside skype.desktop substitute:
Exec=skype
with
Exec=/usr/local/bin/skype
As one can imagine the upside-down video image in Skype is not a
problem because of Linux, but rather another bug in Skype
(non-free) software program.
By the way everyone, who is using his computer with Free Software
operating system FreeBSD, Linux etc. knows pretty well by
experience, that Skype is a very problematic software; It is often
a cause for system unexpected increased system loads, problems with
(microphone not capturing), camera issues, issues with pulseaudio,
problem with audio playbacks ... Besides the long list of bugs
there are unexpected display bugs in skype tray icon, bugs in skype
messanger windows and at some rare occasions the program completely
hangs and had to be killed with kill command and re-launched
again.
Another worrying fact is Skype's versions available for GNU / Linux
and BSD is completely out of date with its "competitor" operating
systems MS Windows, MacOS X etc.
For people like me and my friend who want to use free operating
system the latest available skype version is not even stable ...
current version fod download from skype's website is (Skype
2.2Beta)!
On FreeBSD the skype situation is even worser, freebsd have only
option to run Skype ver 1.3 or v. 2.0 at best, as far as I know
skype 2.2 and 2.2beta is not there.
Just as matter of comparison the latest Skype version on Windows is
5.x. Windows release is ages ahead its Linux and BSD ver.
From a functional point of view the difference between Linux's 2.x
and Windows 5.x is not that much different, what makes difference
is is the amount of bugs which Linux and BSD skype versions
contain...
Skype was about 6 months ago bought by Microsoft, therefore the
prognosis for Skype Linux support in future is probably even
darker. Microsoft will not probably bother to release new version
of Skype for their competitor free as in freedom OSes.
I would like to thank my friend and brother in Christ Stelian for
supplying me with the Skype screenshots, as well as for being kind
to share how he fixed his camera with me.