gspca

From LinuxTVWiki
Jump to navigation Jump to search

gspca is a kernel driver module intended as a major effort to support many different bridge interface chipsets used in pre UVC webcams, which, taken collectively, are known as gspca devices.

It is more accurate to describe gspca as a driver framework which consists of a core driver module (gspca_main) and several sub-drivers, which extend support to a large range of different webcams: gspca_conex, gspca_etoms, gspca_finepix, gspca_m5602, gspca_mars, gspca_mr97310a, gspca_ov519, gspca_ov534, gspca_pac207, gspca_pac7311, gspca_sn9c20x, gspca_sonixb, gspca_sonixj, gspca_spca500, gspca_spca501, gspca_spca505, gspca_spca506, gspca_spca508, gspca_spca561, gspca_stk014, gspca_stv06xx, gspca_sunplus, gspca_t613, gspca_tv8532, gspca_vc032x, gspca_zc3xx.

Development History

gspca has an interesting development history, having evolved quite a bit along its way. It originally began as a driver project to support webcams based upon the Sunplus spca50x chipset. After about its v0.3 release, the project became the spca5xx driver, which was essentially an expansion of reverse engineering efforts to include support for an even larger range of webcam bridge chipsets (such as from Sonix, Transvision, Z-star/Vimicro, Conexant, Etoms), and, hence, webcam devices. In mid-2006, after the v0.6 release, the driver name was again rebranded and set as "gspca" version 1. [1]

The new "gspca" driver name, while arguably still illuminating of its development heritage ("spca"), was now meant to stand for "Generic Software Package for Camera Adapters", which more truly reflected the purpose into which it had evolved. (See the "Readme and Install" file from the old gspca v1 source download). In addition, still being compliant to the old V4L 1 API spec, the gspca v1 driver was viewed as transitory until V4L2 API support could be provided.

Though the path getting there might not have been the easiest (see here, here, and here for further insight), the gspca framework was indeed reworked, and the resultant (V4L2 compliant) version 2 of the driver became integrated into the 2.6.27 kernel.

The gspca v2 driver framework remains actively developed, and is hosted in the LinuxTV git repositories. In addition, the current maintainer provides a slightly more bleeding edge test version on his homepage [2]. A change log is included in the Makefile of the driver's test version source package. A README.txt file also provides further explanatory information in regards to these two sources for the driver. Both developer and end user support is now provided on the Linux Media Mailing List [3].

Also See