Hi all,

Short self intro: I'm a v4l kernel subsystem developer and the author
and maintainer of libv4l. So when it comes to upside down mounted
webcams in laptops there are 3 important points to keep in mind:

1) Video processing in the kernel is wrong, and the kernel patch which
some here have referred to is doubly wrong because it will flip the
image of all uvc devices not just those mounted upside down in some
webcams. Please stop mucking around with kernel patches, they are not
the solution to this problem!

2) The proper solution for this is flipping the image in userspace which is 
being handled by libv4l. libv4l has a large list of known to have a mounted 
upside down webcam laptop models which is constantly updated. There is a ppa 
available which is tracking upstream libv4l (now part of v4l-utils) pretty 
closely, follow the instructions here to install libv4l from this ppa:
http://radu.cotescu.com/2009/11/05/flipped-images-ubuntu-webcam/

3) Unfortunately not all programs are using libv4l, some try to talk to
the /dev/video node directly, please test with "cheese" and if the image
is not upside down there, the problem you are seeing is not in libv4l,
but an app which does not use libv4l, see below for a workaround for
this.

If the image is still upside down in cheese *after* installing the latest 
libv4l / v4l-utils from the above link, then your laptop model is not in the 
list of libv4l, please do (as root):
lsusb > lsusb.log
dmidecode > dmi.log

And send me <hdego...@redhat.com>, a mail with the 2 generated files
attached. Do *NOT* copy and paste them I need them 100% unmodified.

I'll then add your laptop to libv4l's upside down table and get back to
you with testing instructions.


4) Programs which are not using libv4l,  notorious examples of which are skype 
and the google chat firefox plugin, can be made to use libv4l by pre-loading a 
libc wrapper, launch the program in question from a cmdline like this to use 
this wrapper:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so application_name

For example for skype:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Note that when running 32 bit apps such as skype (even the so called 64 bit 
download of skype is 32 bits!!) and the google chat firefox plugin on a 64 bit 
install, you must use the following line to get the 32 bit version if the 
wrapper:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

Note that for the google chat plugin, firefox must be started with this 
wrapper, first close *all* firefox windows and then do:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so firefox
Or on 64 bit installs:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so firefox

Regards,

Hans

-- 
Image on webcam is upside-down
https://bugs.launchpad.net/bugs/224559
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to