Webcam upside down

I have read a few posts re. upside down cameras but couldn’t find a solution, I’ve also tried one script from a Ubuntu forum. It didn’t work. Do you know hot to flip the image? I’m running openSUSE 11.2 on Asus UL30A.

I think it’s trickier. My laptop camera is upside down but another Logitech usb camera shows correctly. Is there any way to flip only the laptop camera? I currently use the Logitech with ‘LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype’

I am having a similar problem with Cheese. Idon’t know if it#s a driver problem because the webcam works perfectly on Windows - on the same Laptop. It#s also ASUS.
I would also be happy to get some help.

turn the camera upside down in the meantime? rotfl!

(sorry… couldn’t help myself)

Yeah, turn the laptop upside down.:wink:

As I read, the manufacturer installs the cameras upside down physically and then it’s too hard for them to make sure it’s right so they’ve changed the windows driver to flip the image. There’s nothing wrong with the driver, it’s the dodgy quality control. As I said, the external camera works fine. Unless you really turn the laptop camera physically (if you want to use external cameras as well) I can’t imagine what you can do to avoid changing the driver every time you change the camera.

This is just a thought, probably difficult to implement by nonivolved.

The driver shall have a buffer, probably a one- or two-dimensional array of integer type, which holds the image at some stage of data acquisition.

Before the array is output, a modification in rows and columns of the array will correct the issue. By the way, I have seen left-right inversion of webcam image also.

If what I am guessing is correct, placing the correction in the code, recompling and reloading the kernel module should be possible.

theoretically possible, but then all cameras will be flipped, that is you’ll see a normal image in the laptop camera but external cameras which show normally now will be flipped upside down. There’s gotta be a switch to flip only the currently running camera. But I’m not a programmer so I won’t be using the laptop camera then unless anyone has a solution.

Maybe you can get into contact with the driver developers.

Learn the driver through Yast->Hardware. Then find to which rpm package it belongs by something like

rpm -q -f /usr/lib/…ko

Then, in Yast -> Software Amanagement, you can find the authors of the package, together with email. Supply them with the information and the request of the flip switch.

I have done something similar about alsa driver. The issue was corrected with the next release of alsa.

You need to compile the driver from source with a patch applied.

I have the source with the path already applied, all you need to do is extract it and run

make

sudo make install

Then run

modprobe -r uvcvideo

modprobe uvcvideo

If it all works for you (It should go fine) then your camera will be upright.

http://itsyourpc.org/bruce/files/uvcvideo-b15490457d60.tar.gz

Actually I tried to but it#s an inegrated webcam rotfl!

make isn’t working. I get an error 2 message.

Don’t know what to tell ya.

I tested make and make install just before I compressed it and uploaded it, it worked fine for me.

It is a known issue that ASUS has mounted many of it’s laptop cameras upside down.

The only remedy is to apply the upside down patch and compile the driver from source.

I downloaded the source, and the patch according to instructions at the fedora forum, it works for me. Perhaps something happened to the files I uploaded. Anyways, instructions can be found at

How to fix (patch) upside down picture with the Chocony Webcam on Asus Notebooks - FedoraForum.org

You can skip all the yum install junk, and just grab the source, and patch form that thread, compile and you should be fine.

Does make require a GCC compiler?

I’ve tried your patch, make didn’t work.
“File not found: /lib/modules /build/.config at ./scripts/make_kconfig.pl”
I have gcc, make, kernel-headers and sources installed

I’ve tried those from fedora forum, it wouldn’t patch.

Tried from ubuntu, same thing.

The source

http://linuxtv.org/hg/~pinchartl/uvcvideo/archive/b15490457d60.tar.bz2

The patch

http://itsyourpc.org/bruce/files/patch.txt

cp patch.txt /home/your_username/uvcvideo/linux/drivers/media/video/uvc (The path will be different depending on where you put the directory)

cd /home/your_username/uvcvideo/linux/drivers/media/video/uvc

patch < /home/Path to Patch/patch.txt

cd /home/Your_User_Name/uvcvideo

make

su -

cd /home/Your_User_Name/uvcvideo

make -B install

depmod -a

modprobe -r uvcvideo

modprobe uvcvideo

Access forbidden to your patch file. When I do this with the Ubuntu patch, I get this:

“patching file uvc_video.c
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 371.
1 out of 1 hunk FAILED – saving rejects to file uvc_video.c.rej”

Just changed the permissions on it. Sorry about that. You can access it now

I used to use the instructions at ubuntu forum, but withh 11.2 they simple refused to work/compile.

The instructions I posted above are the only ones that work for me with 11.2

Thanks. Now I get this:

“make -C /home/linuxoid/Temp/uvcvideo/v4l
make[1]: Entering directory /home/linuxoid/Temp/uvcvideo/v4l' No version yet, using 2.6.31.5-0.1-desktop make[1]: Leaving directory /home/linuxoid/Temp/uvcvideo/v4l’
make[1]: Entering directory /home/linuxoid/Temp/uvcvideo/v4l' scripts/make_makefile.pl Updating/Creating .config Preparing to compile for kernel version 2.6.31 File not found: /lib/modules/2.6.31.5-0.1-desktop/build/.config at ./scripts/make_kconfig.pl line 32, <IN> line 4. make[1]: Leaving directory /home/linuxoid/Temp/uvcvideo/v4l’
make[1]: Entering directory /home/linuxoid/Temp/uvcvideo/v4l' Updating/Creating .config Preparing to compile for kernel version 2.6.31 File not found: /lib/modules/2.6.31.5-0.1-desktop/build/.config at ./scripts/make_kconfig.pl line 32, <IN> line 4. make[1]: *** No rule to make target .myconfig’, needed by config-compat.h'. Stop. make[1]: Leaving directory /home/linuxoid/Temp/uvcvideo/v4l’
make: *** [all] Error 2”

You need kernel source and kernel syms along with gcc and make to compile the driver