This driver is a major effort to support all sorts of webcams. It consists of a core module ([[gspca_main]]) and several sub-drivers.

+

This driver is a major effort to support all sorts of pre UVC webcams.

−

+

−

Its development started with [http://mxhaard.free.fr/ spca5xx] support. The original driver used the old V4L 1 API spec. The current driver has support to V4L2 API and is integrated in Kernel.

+

−

+

−

The gspca has the following sub-drivers:

+

+

The gspca framework consists of a core module ([[gspca_main]]) and several sub-drivers:

[[gspca_conex]],

[[gspca_conex]],

[[gspca_etoms]],

[[gspca_etoms]],

Line 52:

Line 49:

[[gspca_vc032x]],

[[gspca_vc032x]],

[[gspca_zc3xx]].

[[gspca_zc3xx]].

+

+

'''Development History'''<br>

+

Its development originally began as the spca5xx driver; which was reverse engineering efforts to support webcams based upon the Sunplus spca5xx bridge chipset. This original driver used the old V4L 1 API spec. The driver was later expanded to also support other bridge chipsets, and was rebranded as gspca version 1 in mid 2006. [http://mxhaard.free.fr/]. The gspca framework was later reworked to support the V4L2 API, and the resultant version 2 of the driver became integrated into the 2.6.27 kernel. It remains actively developed [http://moinejf.free.fr/].

For the list of the currently supported webcams, please see [[gspca]].

For the list of the currently supported webcams, please see [[gspca]].

Revision as of 00:11, 17 January 2012

Contents

UVC webcams

USB Video Class (UVC) is a USB specification which defines and standardizes video streaming functionality on the Universal Serial Bus. USB video streaming devices (which covers a broad spectrum of possible devices, such as webcams, digital camcorders, ... ) that are compliant to the UVC specification are referred to as UVC devices. A primary benefit brought about by the UVC specification is that UVC compliant peripherals can all be managed by a single generic driver. Under Linux, UVC compliant devices are supported by (brace for it) the Linux UVC device driver (which may also be referred to as linux-uvc or uvcvideo). Most modern webcams are UVC compliant, which is actually a good thing, because in the past webcam drivers and interfaces were often proprietary (meaning that Linux drivers needed the author to sign an NDA, or to decompile or monitor/sniff USB traffic).

The Linux UVC device driver was included in the kernel as of 2.6.26. Some of the devices supported by this driver include:

several USB2.0 Logitech Quickcams, such as:

the Quickcam Orbit MP

the Quickam for Notebooks Pro (Note that the Quickcam for Notebooks Deluxe is not a UVC webcam; it's supported by the gspca driver described below)

the Quickcam Fusion

All those webcams are 1.3MP devices. They will also work in USB 1.1 mode, but are then limited to 640x480. In that case, you could go for the Quickcam Pro 5000, which is a 640x480 device

the Dell Notebook

and the Cisco VT Camera II

And while UVC webcams are well supported, you must be aware of a few issues:

The linux-uvc driver is V4L2-only. This means applications which support V4L1 only will not work. V4L1 is officially deprecated, and have been removed from the kernel recently, so most drivers have or will switch to V4L2 anyway.

The 4 Logitech UVC webcams mentioned above compress images in MJPEG for resolutions up to 960x720. This means that applications must be able to decompress MJPEG streams to use the webcam at lower resolutions. Ekiga and motion support MJPEG compression. UVC webcams like the OmniVision OV2640 (built into Dell M1530 and Inspiron laptops) actually *require* MJPEG compression for high resolutions up to 1600x1200, whereas using the standard YUV encoding limits resolution to standard 640x480.

gspca driver

This driver is a major effort to support all sorts of pre UVC webcams.

Development History
Its development originally began as the spca5xx driver; which was reverse engineering efforts to support webcams based upon the Sunplus spca5xx bridge chipset. This original driver used the old V4L 1 API spec. The driver was later expanded to also support other bridge chipsets, and was rebranded as gspca version 1 in mid 2006. [1]. The gspca framework was later reworked to support the V4L2 API, and the resultant version 2 of the driver became integrated into the 2.6.27 kernel. It remains actively developed [2].