1. Install
===========
Howto install and test libv4l depends on your system. There are
different instructions for if you have a 32 bit system or a 64 bit system.
which is using multilib. A 64 bit system without multilib is the same as
a 32 bit system.
To find out what you have do:
ls -d /usr/lib64
If this command gives a "No such file or directory" error, use the
Non multilib instructions, if the second command is successfull, you have multilib,
to find out which version (dubbed Fedora and Ubuntu multilib, because those are
the most well known examples, do):
ls -d /usr/lib32
If this command gives a "No such file or directory" error, use the Fedora multilib
instructions. If this command succeeds use the Ubuntu multilib instructions
Non multilib instructions:
-------------------------------
tar xvfz libv4l-<version>.tar.gz
cd libv4l-<version>
make PREFIX=/usr
sudo make install PREFIX=/usr
Fedora Multilib instructions:
-----------------------------------
Basic 64 bit install:
tar xvfz libv4l-<version>.tar.gz
cd libv4l-<version>
make PREFIX=/usr LIBDIR=/usr/lib64
sudo make install PREFIX=/usr LIBDIR=/usr/lib64
If you also want to use 32 bit apps (such as skype), you
will need to have the 32 bit libc headers installed, on Fedora
this can be done like this:
Fedora 10-: "sudo yum install glibc-devel.i386"
Fedora 11: "sudo yum install glibc-devel.i586"
Fedora 12+: "sudo yum install glibc-devel.i686"
Then do:
make clean
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32
sudo make install PREFIX=/usr
Ubuntu Multilib instructions:
-----------------------------------
tar xvfz libv4l-<version>.tar.gz
cd libv4l-<version>
make PREFIX=/usr
sudo make install PREFIX=/usr
If you also want to use 32 bit apps (such as skype), you
will need to have the 32 bit libc headers installed, on Ubuntu
this can be done like this:
sudo apt-get install libc6-dev-i386
Then do:
make clean
make PREFIX=/usr CFLAGS=-m32 LDFLAGS=-m32 LIBDIR=/usr/lib32
sudo make install PREFIX=/usr LIBDIR=/usr/lib32
2. Testing
========
You have a chance that your webcam app use libv4l or have an appropriate
script starting it. In that case you don't have to do anything. Just run
the application. This is the most common situation with Ubuntu and Fedora
packages. If your problem remains unsolved, then your app might not use libv4l.
In that case start the application from a terminal like this:
Non multilib:
----------------
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so <your favorite webcam app>
Note on Ubuntu sometimes skype is using a wrapper script, so if skype
does not work try:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype.real
Fedora multilib:
--------------------
For 64 bit applications (allmost all apps):
LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so <your favorite webcam app>
For 32 bit applications (you only need it for proprietary softwares, which
don't have a 64 bit version, like skype):
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
Ubuntu multilib:
--------------------
For 64 bit applications (allmost all apps):
LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so skype
For 32 bit applications (you only need it for proprietary softwares, which
don't have a 64 bit version, like skype):
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype
Note on Ubuntu sometimes skype is using a wrapper script, so if skype
does not work try:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype.real
Please let me know if this version of libv4l turns the image the
right way up for you.
If not, please do:
cat /sys/devices/virtual/dmi/id/board_name > name.txt
cat /sys/devices/virtual/dmi/id/board_vendor > vendor.txt
And mail the 2 created files to me. It is important to use the
">" operator here, as I need any whitespace inside this files
exactly as is.
Bookmarks