Creative PC-CAM Series webcams in linux

This post is about a Creative PC-CAM 750, but it will do for all the Creative PC-CAM series web cameras. I had it somewhere in a closet for a long time and finally decided to try it in fedora. As it usually happens with webcams under linux, it did not work out-of-the-box as there was no native kernel driver support. So, I spent some time googling and found out that this model is supported by the spca5xx driver project. I compiled and installed the kernel module and used spcaview (part of a set of tools for the spca5xx module – you can download them from the link above) to try the camera. It works better than I thought it would. I also tried gnomemeeting and it worked very well too.

Here are some step-by-step notes to get you going fast:

  1. Download the spca5xx driver source from here and extract the archive in a directory.
  2. If you do not have the development tools installed, just do a:
    # yum groupinstall "Development Tools"
  3. You also need to install the kernel sources:
    # yum install kernel-devel
  4. Change to the directory where you had previously extracted the driver and run
    # make
  5. The following installs the kernel module, so that the webcam is properly detected when plugged in. You will be prompted for the root’s password. So, run:
    # su -c "make install"
  6. Plug the camera in.

This device functions as a webcam and a digital camera. However, the spca5xx driver supports it only as a webcam, meaning that it is registered as a video4linux device when plugged into the system. The retrieval of the pictures stored in the camera’s internal memory should be done using gphoto2 or gthumb-import. Actually, they do not work for my pc-cam 750. The cause of this may be gphoto2’s experimental support for the Creative PC-CAMs or a conflict with the spca5xx driver. Anyway, I care very little about it as this is not my primary digital camera, but I think I’ll try to investigate this issue when I have some time to spare.

I am writing all this just to say that if a gthumb-import dialog shows up as soon as you plug the camera in (this is controlled by GNOME’s Removable Drives and Media settings), just ignore it and hit Cancel. For me, if I try to import the stored pictures, it gives an error and additionaly the device is not registered as a V4L device, so I need to unplug and replug the device or unload and reload the spca5xx module.

Normally, your webcam’s device node should be /dev/videoX, where X is a number which depends on how many V4L devices are currently registered into the system.

Now, you can fire up gnomemeeting and start using the webcam. Alternatively, you may want to use spcaview to test the various driver settings. You can download this from the driver’s project page. Just compile it and use it like this:

# ./spcaview -d /dev/videoX

Check the included README file for further usage info.

Moreover, the spca5xx driver’s README file contains useful information about the module’s supported options. You can set these options in /etc/modprobe.conf, so that they are applied every time the module is loaded. For example, you could set:

options spca5xx GRed=217 GBlue=300 GGreen=224 gamma=4

If you ever need to uninstall the driver module, just change to the driver’s source directory and run:

# su -c "make uninstall"

Keep in mind that every time you upgrade your kernel, you will need to recompile and reinstall the spca5xx module. I may provide a spec file in a future update of this blog post, so that you can easily create an RPM package of this module.

This post will also be updated with notes about picture retrieval from the camera’s internal memory.

Have fun!

Creative PC-CAM Series webcams in linux by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2005 - Some Rights Reserved

2 responses on “Creative PC-CAM Series webcams in linux

  1. j. random hacker Permalink →

    You may be interested in this rpm for gspca. It does use the dkms module system which is available in Fedora extras.

  2. George Notaras Post authorPermalink →

    Thanks for your feedback.

    This post definitely needs updating. It was written for Fedora Core 4. :)