From Fedora Project Wiki
No edit summary
Line 10: Line 10:
== Current status ==
== Current status ==
* Targeted release: [[Releases/10|  Fedora 10]]  
* Targeted release: [[Releases/10|  Fedora 10]]  
* Last updated: (Jun 25 2008)
* Last updated: (Jul 26 2008)
* Percentage of completion: 30%
* Percentage of completion: 60%


== Detailed Description ==
== Detailed Description ==
Line 19: Line 19:
# Those drivers that are in the mainline kernel are often v4l2 while many applications will only work with v4l1. Even v4l2 apps often don't work with v4l2 webcam's as the webcams often have camspecific (compressed) pixelformats and most applications don't support all these,
# Those drivers that are in the mainline kernel are often v4l2 while many applications will only work with v4l1. Even v4l2 apps often don't work with v4l2 webcam's as the webcams often have camspecific (compressed) pixelformats and most applications don't support all these,


The plan is to fix 1) by working together with the driver upstream on cleaning the driver (and porting it to v4l2 if needed in the process) and then submitting it for inclusion in the mainline kernel, currently I'm working together with gspca to get [http://moinejf.free.fr/ gspcav2] cleaned up and merged, this will vastly improve the amount of supported webcams.
1) Has been largely fixed by working together with gspca upstream to get [http://moinejf.free.fr/ gspcav2] cleaned up and merged, Linus has merged gspcav2 (through the v4l-dvb subsystem) for 2.6.27,
this vastly improves the amount of supported webcams in 2.6.27. I'm currently working on getting the
people behind the [http://groups.google.com/group/microdia micromedia driver] for the quite popular sonix sn9c20x based cams, to port their driver to a gspca subdriver and move the cam specific format decoding to userspace as was done with all the gspca decoding routines. The plan is to work together with the various upstreams to port any remaining standalone usb webcam drivers to gspca subdrivers, this is a process which will continue after F-10's release.


2) has been fixed by creating a utility library which contains all the conversion stuff and v4l1 compatibility functions so that applications can easily be modified to work properly with v4l2 webcams,
2) Has been fixed by creating a utility library which contains all the conversion stuff and v4l1 compatibility functions so that applications can easily be modified to work properly with v4l2 webcams,
for more info on his library called libv4l, see:
for more info on his library called libv4l, see:
http://hansdegoede.livejournal.com/3636.html
http://hansdegoede.livejournal.com/3636.html
Line 33: Line 35:
== Scope ==
== Scope ==


This may require temporarily carrying kernel patches if the gspcav2 (and maybe other) drivers are clearly moving upstream, but not there yet in time for release.
This may require temporarily carrying kernel patches if drivers are clearly moving upstream, but not there yet in time for release.


This requires creating a wrapper library for v4l1 emulation and making modifcations to webcam using applications so that they load this wrapper library.
This requires packaging libv4l for v4l1 emulation and format conversion and making modifications to webcam using applications so that they use libv4l.


== Test Plan ==
== Test Plan ==


I've bought several different webcams (about 7 or so atm) and I intend to get them all working out of the box, with a wide palette of webcam using applications.
I currently have access to the following webcams (in random order):
{|
! Webcam !! USB ID || Bridge !! Sensor !! Status
|-
| Sweex WC001 || 0c45:6005 || sn9c101 || tas5110 || works
|-
| Sweex WC004 || 0c45:6011 || sn9c101 || ov6650 || works
|-
| Qware EasyCam || 0c45:6028 || sn9c102 || pas202 || works *
|-
| Intel Create and Share || 0733:0401 || spca501 || integrated || works
|-
| Creative Live! VISTA VF0420 || 041e:4064 || ov519 || OV7670 || works
|-
| Trust WB-1400T || 093a:2468 || pac207 || integrated || works
|-
| I.T. Works webcam || 093a:2460 || pac207 || integrated || works
|}
 
(*) works, but does not work well in low light conditions


== User Experience ==
== User Experience ==

Revision as of 13:29, 26 July 2008

Better Webcam Support

Summary

Currently many webcams do not work with Fedora out of the box even though Linux driver exist for them, the intent is to fix this.

Owner

  • Name: Hans de Goede

Current status

  • Targeted release: Fedora 10
  • Last updated: (Jul 26 2008)
  • Percentage of completion: 60%

Detailed Description

Webcams not working even though there are Linux drivers has 2 causes:

  1. The drivers are not in the mainline kernel
  2. Those drivers that are in the mainline kernel are often v4l2 while many applications will only work with v4l1. Even v4l2 apps often don't work with v4l2 webcam's as the webcams often have camspecific (compressed) pixelformats and most applications don't support all these,

1) Has been largely fixed by working together with gspca upstream to get gspcav2 cleaned up and merged, Linus has merged gspcav2 (through the v4l-dvb subsystem) for 2.6.27, this vastly improves the amount of supported webcams in 2.6.27. I'm currently working on getting the people behind the micromedia driver for the quite popular sonix sn9c20x based cams, to port their driver to a gspca subdriver and move the cam specific format decoding to userspace as was done with all the gspca decoding routines. The plan is to work together with the various upstreams to port any remaining standalone usb webcam drivers to gspca subdrivers, this is a process which will continue after F-10's release.

2) Has been fixed by creating a utility library which contains all the conversion stuff and v4l1 compatibility functions so that applications can easily be modified to work properly with v4l2 webcams, for more info on his library called libv4l, see: http://hansdegoede.livejournal.com/3636.html

Also refer http://kernelnewbies.org/Linux_2_6_26#head-6d4ee1ddea983f5c8ac491b8685a94ea6fa4132b

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 packaging libv4l for v4l1 emulation and format conversion and making modifications to webcam using applications so that they use libv4l.

Test Plan

I currently have access to the following webcams (in random order):

Webcam USB ID Bridge Sensor Status
Sweex WC001 0c45:6005 sn9c101 tas5110 works
Sweex WC004 0c45:6011 sn9c101 ov6650 works
Qware EasyCam 0c45:6028 sn9c102 pas202 works *
Intel Create and Share 0733:0401 spca501 integrated works
Creative Live! VISTA VF0420 041e:4064 ov519 OV7670 works
Trust WB-1400T 093a:2468 pac207 integrated works
I.T. Works webcam 093a:2460 pac207 integrated works

(*) works, but does not work well in low light conditions

User Experience

Out of the box working hardware.

Dependencies

None.

Contingency Plan

Don't ship the drivers / wrapper if they aren't ready.

Documentation

None atm.

Release Notes

None, except that if this is finished in time it would be good to make some PR with this.


Comments and Discussion

See Talk:Features/BetterWebcamSupport