This is a user space video4linux driver for the PC-CAM 880 and other Zoran/Coach based USB webcams.

The PC-CAM 880, a.k.a. PD1160, has two modes. With vendor/device id 0x041e/0x4025 it is handled by usb-storage. With 0x041e/0x4024 it operates as a camera. Inside I found a ZR36430 chip.

Note this is a user space, libusb based, v4l driver. Antoine Jacquet wrote a conventional kernel module that supports this cam too. See the zr364xx website.

Supported camera's

USB vid USB pid Vendor Device
0x041e 0x4024 Creative PC-CAM 880

See the zr364xx website for other Zoran/Coach based cams that most likely work with this driver.

If you know this driver to work with your camera, please let me know. It's easy to try. Just set USB_VID and USB_PID in shimv4l to the values for your camera. Use at your own risk though. This comes with ABSOLUTELY NO WARRANTY and all that.

Supported applications

In theory any application that supports v4l version 1. V4l2 is currently not supported. Tested so far are:

How does it work?

V4l is based on the standard unix driver model where user space applications talk to kernel space drivers via device files. For a user space v4l driver we need to intercept those system calls. LD_PRELOAD makes it possible to do this application transparent. For USB webcams, we can then use libusb to talk to the hardware.

If you are interested, with the provided dummy driver you can try this technique even if you don't have access to a supported camera.

Why user space video4linux?

My camera's native format is a variety of abbreviated mjpeg that no applications recognizes. This is one way of doing format conversion outside of the kernel and still support v4l.

Disclaimer & License


Browse source





Requirements: libusb-dev, libjpeg-dev.

$ make all


You will either need to configure hotplug or udev, or be root.



$ shimv4l pccam880.so gnomemeeting

$ shimv4l filedummy.so xawtv


Date Version Status Changes
2006-08-17 0.5 Unstable Added dummy driver.
2006-08-16 0.4 Unstable Fixed memory leak (jpeg).
2006-08-07 0.3 Unstable User space v4l driver.
2004-02-21 0.2 Unstable Decompressed jpeg stream to vloopback.
2004-02-07 0.1 Unstable Retrieve one jpeg frame.






Harmen van der Wal