mini-HOWTO

QuickCam color and Linux

This document is also available in Japanese as part of the Linux JF Project translated by Yasuto Nagata.

This document intends to help you using the old QuickCam color and color II with your Linux-box. Some information will help also with the even older QuickCam b&w. It does not help with the new QuickCams by Logitech (VC, Quickclip, Home, Pro etc.) and it seems that these cameras will never be supported for Linux. Therefore: If you want to buy a camera do not buy a Logitech camera. You should consider other cams like a cheap video camera and connect it to a TV card which is supported by the Video4Linux-system. Another possibility is the Creative-Videoblaster (Drivers here and here). Other digital cameras e.g. by AGFA or Kodak are supported by gPhoto

The information here only reflects my personal experience with the programs and the camera. If you had a question and found the solution (i.e. it works on your system) and you think that it could interest other people, then feel free to mail me. If you do not like my English (like me) drop me a line with corrections.

Contents of the mini-HOWTO:

  1. setting up the hard- and software
  2. qcam as picture grabber
  3. movie-grabber
  4. Videoconferencing
  5. qcam as webcam
  6. more questions
  7. links to more information

setting up hard- and software

There are two important things you have to do beside plugging in the cables: You have to set up your parallel port correctly and set the bits per pixel of the X-server:

To get maximum quality from your QuickCam, you should set your parallel port to EPP or bidirectional mode. This will increase the data transfer speed (and thus the frame rate) by a factor of 3. On new computers you can do that with the BIOS setup, on some very old machines you may have to use jumpers. If you cannot do it at all, your choice of driver packages is a bit limited, but things will still work fine (just slower). Some computers have problems with the bidirectional mode, so if your driver won't work, try forcing the slow unidirectional mode. With Patrick's cqcam, that's the -u option.

Not all programs that are using X are working at all color depths. Normally there are no problems (and nice picture quality) if you use at least 16 bpp. You can change that by changing the option DefaultColorDepth in the section Screen of the file /etc/XF86Config or starting X with the option -bpp 16. Do this by using startx -- -bpp 16 or xinit -- -bpp 16 with most Linux distributions. On some systems you will have to change the .xserverrc file in your home directory. If you are using xdm or kdm have a look at the configuration files.

Picture grabber

The most advanced driver and picture grabber is cqcam by Patrick Reynolds. It should compile and run without problems. This program produces the pictures in an X-window and as ppm- or jpeg-pics. If you need the pictures in other formats you can convert them e.g. with xv, netpbm or convert (a part of ImageMagic). That's all. The rest of the section is only for those of you who have special problems or wish to do special magic.

If you use other drivers than cqcam you need to run them as root. It is practical to install them as suid root. This means, that everybody can run the program with root permissions. If you want to do that, do so as root:

chown root filename
chmod u+s filename

where filename is the name of the executable. Warning: Don't do that, unless security is not important or you know what you are doing. Some techniques have been described in the Usenet on how to exploit this. If other people than root have to use the qcam-programs anyway you can also restrict the rights for execution on a certain group.

There is also a quite buggy module in the Video4Linux-section of the Linux kernel. I do not see any advantage in using it because it slows down your machine significantly and there are better applications for the QuickCam that do not use the module than applications that do use it. If you nevertheless want to play around with it here are some hints. First problem: The module does not recognize the camera. Workaround: Go into the source and fudge qc_detect() so it always returns success. Then add to /etc/conf.modules the line alias char-major-81 c-qcam. Now try Gqcam and enjoy the new slowness of your machine.

A very different approach is followed by SANE. There you have the possibility to use the qcam via a gimp-plugin. gPhoto also supports the QuickCam. However, I am totally happy with cqcam and I didn't try both drivers.

Movie grabber

First of all is the camera really slow. Furthermore the free packages do not support the video compression of the qcam which would accelerate it. Thus for movies the camera might be too slow at this time.

If you want to grab movies anyhow you can just start a picture grabber under X and grab the movie with xvidcap.

Videoconferencing

First you have to decide between the two approaches: mbone and CU-seeme. In five words: CU-seeme is simpler, mbone more powerful.

Current versions of the mbone tools you can find at the software archive of the UCL Networked Multimedia Research Group in London. Use rat for the audio, wb as whiteboard and sdr as session manager. For the video stuff the best solution is vic as modified by by the UCL group. This vic-version supports grabbing the picture from your X-window screen. The Video4Linux support does not work for QuickCam.

Be sure to compile the kernel with multicasting support and mrouted running on your system or local net. For details see the Linux Multicast FAQ. For some Ethernet cards you have to find a new kernel driver.

If you feel unhappy with the screen grabbing of the new vic (in the past other workarounds for vic were developed but it is difficult to make them work), try to install the precompiled binary for vic of Toivo Pedaste. You have to install it with SUID root. If it is not already on your system you will need to install libtcl7.6.so.1 (libtcl7.6.so and a symlink ) and libtk.4.2.so.1. For that you do not have to install all the tcl/tk stuff. It is enough, if you take a precompiled version (search in Archie for tcl7.6 and tk4.2), extract and install these two libraries (e.g. in /usr/local/lib) and call ldconfig. Another possibility is using nv. There is a tutorial guide how to patch it for QuickCam. I tried it but due to further development of qcam-0.9pre6 the patches do not work, but it should be possible to do the changes manually. If you have a working nv please contact me.

If you do not want to use mbone because this seems to difficult try CU-seeme. For Linux use Q-SeeMe. Be sure have a new libc otherwise you get coredumps.

Webcam

The easiest solution is to have a small daemon-like program that runs periodly and puts the output of a grabber like cqcam in a file. This file can be included by a html-page.

Here an example of such a script:

#!/bin/bash
while (echo "")
do
        cqcam -32- -s 1 -j > thisPicture.jpg
        sleep 60
done

You can run this script as ordinary user with nohup.

If you want to have moving pictures on your web-page the easiest solution is to use cqcam. Read the file docs/README.webcam in the package where everything is explained. There is also a very fast package of the University of Ulm, Germany. See their model railroad to see what is possible.

more questions

Another emergency situation: Imagine, you are on the qcam third-party developer's mailing list and want to get off the list and you send tons of mail to all those poor people there saying that you do not want more mail, that you are fed up with the stupid world ... DO NOT DO THAT. If you subscribe to a mailing list, you have to keep in mind how you subscribed originally and how to unsubscribe. This is your problem not people who are developing free software for you. (OK, I'll give you a hint: Send an email to [email protected] with "unsubscribe" in the body.)

more questions?

Links to more information

You can find a lot of resources starting at Russ Nelson's Third Party Drivers Homepage. A very good collection with comments of software you can find at Patrick's QuickCam Third-Party Drivers Homepage. There you can find free drivers and programs for the B&W and color cam.

Acknowledgements

Thanks to Hanno Müller for helping writing and many, many corrections and suggestions, Patrick Reynolds for corrections and suggestions and all the folks of the mailing list for answering so many stupid questions and Martin Schulze and Roland Bockhorst for spelling and grammar checks.


Gero Wedemann, Heidelberg, Germany. Last modified: Fri Mar 10 13:42:13 CET 2000

This document is distributed under GNU public license. 0% warranty for nothing. The author has done this in his spare time. He has no connection to Connectix or Logitech.

For more information about Linux see The Linux Documentation Project Homepage

This page can be found at URL http://www.dkfz.de/Macromol/wedemann/mini-HOWTO-cqcam.html