From Fedora Project Wiki

Even Better Webcam Support

Summary

The Better Webcam support feature for F-10 has added support for many webcams, but there still are many models which are unsupported the goal of this feature is to get a whole lot more webcams supported out of the box.

Owner

  • Name: Hans de Goede
  • Email: hdegoede redhat com

Current status

  • Targeted release: Fedora 12
  • Last updated: (Aug 3 2009)
  • Percentage of completion: 100%

Detailed Description

The Better Webcam support feature for F-10 has done much of the groundwork needed for properly supporting webcams in Linux. We now have a library (libv4l) for decompressing various proprietary video formats in userspace, and almost all webcam using applications have been patched to use this library.

The second push for better webcam contains of 3 pieces:

  1. Lots of testing and bugfixing / improving of existing in kernel drivers. I need access to cams for this! As you can see in the matrix below I already have quite a few of them, most of which were bought from my own money especially for this. If you have old cams to donate please contact me!
  2. Add video processing to libv4l for better video quality for cams which lack any of the following in hardware:
    1. White Balancing (done)
    2. Gamma Correction (done)
    3. Automatic adjustment of Exposure / Gain (done)
    4. Recognize laptop cams which are known to be installed upside down and rotate the image 180 degrees in software (done)
  3. Clean up existing out of tree drivers, moving the decompression to libv4l where needed and merge them into the mainline, specifically the following ones:
    1. qc-usb: stv0600 (and alike) based cams mainly logitech quickcam express (done as of kernel 2.6.29)
    2. ov51x-jpeg: ov511(+) and ov518(+) driver (done as of kernel 2.6.31rc1, libv4l-0.6.0)
    3. qc-usb-messenger: st6422 based cams mainly logitech quickcam messenger models (done as of kernel 2.6.31rc1)
    4. sn9c20x: sn9c20x based cams, many newer cheap cams (done as of kernel 2.6.31rc2)

Benefit to Fedora

Out of the box working hardware makes for happy end users and good reviews.

Scope

This may require temporarily carrying kernel patches if drivers are clearly moving upstream, but not there yet in time for release.

This requires updating libv4l to a version which contains the new video processing code and can decompress any formats produced by new drivers.

Test Plan

I currently test with the following webcams:

Webcam USB ID Bridge Sensor Status
Sweex WC001 0c45:6005 sn9c101 tas5110 ok
Trust spacecam 120 0c45:600d sn9c101 pas106 needs work
Sweex WC004 0c45:6011 sn9c101 ov6650 ok
Qware EasyCam WB-001 0c45:6028 sn9c102 pas202 needs work (1)
Premier Chatpack cam 0c45:613e sn9c120 ov7630 good
Sitecom Voicecam 0c45:62bb sn9c202 ov7660 Needs work
Canyon Chatpack CNR-CP2 Cam 0c45:6128 sn9c325 om6802 Does not work
I.T. Works PCW 03 093a:2460 pac207 integrated ok
Trust WB-1400T 093a:2468 pac207 integrated ok
Canyon CN-WCAM21 093a:2468 pac207 integrated ok
Sweex JA00050 093a:2468 pac207 integrated ok
Sitecom VP-010 093a:2468 pac207 integrated ok
Pleomax / Typhoon Easycam 330K 093a:2600 pac7311 integrated ok
Trust WB-3400T 093a:260e pac7311 integrated ok
Nobrand cam 093a:2620 pac7302 integrated ok
I.T. Works notebook cam 093a:2621 pac7302 integrated ok
Philips SPC 200NC 0471:0325 zc3xx PAS106 needs work (1)
Logitech QuickCam IM/Connect 046d:08d9 zc3xx HV7131R good (1)
Logitech QuickCam E2500 046d:089d zc3xx MC501CB needs work (3)
Labtec notebook cam 046d:08aa zc3xx HDCS2020 needs work
Creative WebCam NX Pro 041e:401e zc3xx HV7131B needs work
Creative WebCam Notebook 041e:401f zc3xx TAS5130 good
Creative Live! Cam Video IM 041e:4053 zc3xx TAS5130 good
No brand 0ac8:307b zc3xx ADCM2700 needs work (4)
Intel Create and Share 0733:0401 spca501 integrated ok
Creative WebCam Vista 041e:403b spca561 integrated ok (1)
Logitech QuickCam Express 046d:0928 spca561 integrated ok
Logitech QuickCam Chat 046d:092e spca561 integrated ok
Logitech QuickCam Express Plus 046d:092f spca561 integrated ok
Creative Webcam Pro 05a9:a511 ov511+ OV7620 good (1)
Philips PCVC720K/00 05a9:0518 ov518 OV66308AE ok
Philips PCVC820K/00 05a9:0518 ov518 OV66308AF ok (1)
Trust spacecam 320 05a9:a518 ov518+ OV7620AE good
Creative Live! VISTA VF0420 041e:4064 ov519 OV7670 good
OmniVision "2800" ref. board 05a9:2800 ovfx2 OV3610 good (5)
Logitech QuickCam Express 046d:0840 STV0600 PB100 ok (2)
Logitech QuickCam Messenger 046d:08f0 ST6422 integrated ok
Logitech QuickCam Mess. Plus 046d:08f6 ST6422 integrated ok
Oregon scientific photo camera 0553:0202 STV0680 ? ?
Logitech QuickCam 4000 Pro 046d:08b2 PWC ? good
Vivitar mini photo camera 093a:010e mr97310a ? ok (2)
Creative ? 0553:0002 CPIA1 ? ok (v4l1)
Microsoft Lifecam VX-500 045e:074a uvcvideo NA good
Logitech Sphere MP 046d:08cc uvcvideo NA good
Dynalink ??? 06be:d001 NW802 integrated Does not work out of tree driver

Legenda:

  • good, works well
  • ok, works but not the best cam ever (with the Linux drivers)
  • needs work, works ok in (not too bright) daylight, but needs more work to work better in other lighting conditions.
  • WIP, the driver for this is currently being written / cleaned up for mainline merger

Note that the status column refers to the status with the latest v4l-dvb mercurial tree¸ which Fedora is tracking pretty closely, but Fedora can lag a little.

Credits, cameras marked (#) are donated by:

  1. Jan Gnodde
  2. Dave Jones
  3. Andy Walter
  4. Simon Wood
  5. Erik de Castro Lopo

Many many thanks to these people!

Also see here for cams which are supported by gspca and their testing status with the new cleaned up gspcav2.

Tests are done with the following applications:

  • xawtv
  • cheese
  • ekiga
  • camorama *
  • vlc *
  • mplayer *
  • skype *

(*) Not in Fedora

User Experience

Out of the box working hardware.

Dependencies

None.

Contingency Plan

Don't ship the new drivers / updated libv4l if they aren't ready.

Documentation

Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

Release Notes

Fedora 12 now supports even more webcams and has the support for several existing cams improved leading to (sometimes much) improved video quality.

For a list of all webcams and applications with which Fedora-12's improved webcam support has been tested see the BetterWebcamSupport feature page.

Comments and Discussion

See Talk:Features/BetterWebcamSupport12