needed: libv4l and associated application patches (or "gspca stopped working in 2.6.27")

Bug #260918 reported by Erik Andrén on 2008-08-24
670
This bug affects 83 people
Affects Status Importance Assigned to Milestone
Adobe Flash Plugin Tools
Undecided
Unassigned
Cheese
Unknown
Critical
Ekiga
Fix Released
Medium
GStreamer
Fix Released
Medium
Kdenlive
Fix Released
Unknown
Kopete
Fix Released
Medium
Medibuntu
Fix Released
Medium
Lionel Le Folgoc
Mozilla Firefox
Invalid
Medium
OpenCV
Unknown
Unknown
VLC media player
Fix Released
Unknown
Wine
Confirmed
Medium
gst-plugins-good
Fix Released
Medium
amsn (Ubuntu)
Undecided
mbaho10
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Devid Antonio Filoni
came (Ubuntu)
High
dimpler18
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
High
Unassigned
camorama (Debian)
Fix Released
Unknown
camorama (Ubuntu)
Undecided
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
camstream (Ubuntu)
Undecided
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
cheese (Ubuntu)
High
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
Lucid
Undecided
Unassigned
ekiga (Ubuntu)
Undecided
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
gst-plugins-good0.10 (Fedora)
Fix Released
Low
gst-plugins-good0.10 (Ubuntu)
High
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
High
Unassigned
libv4l (Ubuntu)
High
Bahar Ali
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
High
Bahar Ali
mplayer (Ubuntu)
Undecided
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
pwlib (Fedora)
Fix Released
Low
pwlib (Ubuntu)
High
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
High
Unassigned
vlc (Ubuntu)
Undecided
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
Undecided
Unassigned
xawtv (Fedora)
Fix Released
Medium
xawtv (Ubuntu)
High
Unassigned
Declined for Dapper by Scott Kitterman
Nominated for Hardy by r12056
Declined for Jaunty by Scott Kitterman
Declined for Karmic by Scott Kitterman
Intrepid
High
Unassigned

Bug Description

libv4l is a user-space library used by several applications in order to convert webcam streams in user-space instead of kernel-space. As gspca is included in 2.6.27 this is needed in order to (re)support a multitude of webcams supported with ordinary applications.

See http://hansdegoede.livejournal.com/3636.html for a more complete description of the software.

The latest version is 0.4.0 and is available from http://people.atrpms.net/~hdegoede/

Download full text (3.5 KiB)

As you probably know I'm one of the authors of the v4l2 rewrite of the gspca usb
webcam driver framework (which supports more then 100 different cams), this v4l2
rewrite has been merged into the 2.6.27 kernel and thus will become available in
the official Linux kernel soon.

One of the parts of the v4l2 rewrite has been removing conversion from various
manufacturer cam specific video formats to more normal videoformats from the
drivers, as this really does not belong in userspace.

As a result of this the gspca subdrivers can generate raw video frames in the
following formats:

#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x
compressed bayer
#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line
#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line
#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG
bayer
#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR
bayer

As we do not want to see each application implement (nor having to implement)
support for these various formats, as we like to have one code base and only one
code base for these formats. A library has been written (with me as the main
author) to convert from these formats to BGR24 or YUV420. For more on this
library see:
http://hansdegoede.livejournal.com/3636.html

The attached patch adds support to the gstreamer v4l2 plugin to use this library
if available on the system, it has also been submitted upstream:
http://bugzilla.gnome.org/show_bug.cgi?id=545033

libv4l will show up in rawhide as soon as a cvsadmin gets around to creating a
cvs module for it, see libv4l'2 review request: bug 456772

Getting this patch into Fedora is important for the F-10 better webcam support
feature:
https://fedoraproject.org/wiki/Features/BetterWebcamSupport

###

A note about the patch, the patch is actually quite simple, as libv4l has been
designed for quick porting of existing apps to libv4l, for this reason libv4l
fully mimicks the raw /dev/video interface (and if no conversion is needed and
for non relevant calls like setting ctrl's, passes through all calls unmodified).

All that the patch does and all that needs to be changed to use libv4l is
replace the relevant xxx calls on /dev/video with v4l2_xxx calls.

The only special thing about the patch is that it passes the
V4L2_ENABLE_ENUM_FMT_EMULATION flag to libv4l2 on open, this patch tells libv4l2
to report the "emulated" formats in the ENUM_FMT ioctl results. Which libv4l2
does not do be default so that ENUM_FMT only reports the really supported
formats (a TRY_FMT with one of the 2 supported emulated formats can then be done
to see if conversion is supported for the specific device). Given the working of
the v4l2 plugin, enabling the ENUM_FMT emulation is needed.

I've successfully tested this patch with cheese and 2 spca561 cams (quite
popular IC, used by both logitech and creative), 2 pac207 cams (another quite
popular IC), 3 SN9C10X cams (also very popular) and 1 spca501 cam. All of which
do not work without this patch, as gstrea...

Read more...

Created attachment 312745
PATCH adding support for using libv4l to the v4l2 plugin

libv4l has just been build for rawhide, and should show up in the next rawhide
push, in the mean time you can get it from koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=57774

7 comments hidden view all 290 comments

Short intro: I'm a long time Linux developer currently working on improving
webcam support in Linux, see:
http://fedoraproject.org/wiki/Features/BetterWebcamSupport

I'm one of the authors of the v4l2 rewrite of the gspca usb webcam driver
framework (which supports more then 100 different cams), this v4l2 rewrite has
been merged into the 2.6.27 kernel and thus will become available in the
official Linux kernel soon.

One of the parts of the v4l2 rewrite has been removing conversion from various
manufacturer cam specific video formats to more normal videoformats from the
drivers, as this really does not belong in kernel space.

As a result of this the gspca subdrivers can generate raw video frames in the
following formats:

#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x
compressed bayer
#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line
#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line
#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed
GBRG bayer
#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed
BGGR bayer

As we do not want to see each application implement (nor having to implement)
support for these various formats, as we like to have one code base and only
one code base for these formats. A library has been written (with me as the
main author) to convert from these formats to BGR24 or YUV420. For more on this
library see:
http://hansdegoede.livejournal.com/3636.html

The attached patch adds support to the pwlib v4l2 plugin to use this
library if available on the system.

It has also been submitted upstream:
http://bugzilla.gnome.org/show_bug.cgi?id=545108

libv4l has just been build for rawhide, and should show up in the next rawhide
push, in the mean time you can get it from koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=57774

###

A note about the patch, the patch is actually quite simple, as libv4l has been
designed for quick porting of existing apps to libv4l, for this reason libv4l
fully mimicks the raw /dev/video interface (and if no conversion is needed and
for non relevant calls like setting ctrl's, passes through all calls
unmodified).

All that the patch does and all that needs to be changed to use libv4l is
replace the relevant xxx calls on /dev/video with v4l2_xxx calls.

I've successfully tested this patch with ekiga and 2 spca561 cams (quite
popular IC, used by both logitech and creative), 2 pac207 cams (another quite
popular IC), 3 SN9C10X cams (also very popular) and 1 spca501 cam. All of which
do not work (unless using gspca version 1) without this patch, as pwlib does
not support their proprietary video formats (and rightfully so).

Created attachment 312759
PATCH: use libv4l in v4l2 plugin, adding support for many cam specific formats

7 comments hidden view all 290 comments

Patch looks plausible, but I'm no expert. I'm curious to see how the upstream
bug goes.

(In reply to comment #3)
> Patch looks plausible, but I'm no expert. I'm curious to see how the upstream
> bug goes.

So am I :)

In the mean time can we have this patch go into rawhide please? We need to add
support to gstreamer's v4l2 plugin for the various cam specific formats oneway
or the other (I hope libv4l is the way), otherwise all the effort which has gone
into porting gspca to v4l2 and cleaning it up, which has lead to it being in the
mainline 2.6.27 kernel now, and thus in rawhide, is mostly in vain as people's
webcam's still won't work from an important group of applications.

I can co-maintain, or atleast request bugzilla watch rights for
gstreamer-plugins-good, if you want and then take care of any fallout this may
have. I already maintain gtsreamer-ffmpeg, gstreamer-plugins-ugly and
gstreamer-plugins-bad in that other repo.

If I become a co-maintainer I can also take care of adding the patch to CVS and
building it myself :)

There's still time before the beta. Please try to push the patch upstream first,
we'll see how this goes before adding it to rawhide.

I've submitted it upstream as noted in the original, but in my experience
upstream's response speed varies from fast to pretty slow. Also I would
preferably like to see this get some testing before the beta, the more testing
the better and remember release early release often :)

9 comments hidden view all 290 comments

Note that this patch has just been accepted upstream, see:
http://bugzilla.gnome.org/show_bug.cgi?id=545108

If you want and the CVS ACL's allow it I can push this to rawhide myself.

13 comments hidden view all 290 comments

Created attachment 313380
xawtv-3.95-fixes.patch

Short intro: I'm a long time Linux developer currently working on improving
webcam support in Linux, see:
http://fedoraproject.org/wiki/Features/BetterWebcamSupport

I'm one of the authors of the v4l2 rewrite of the gspca usb webcam driver
framework (which supports more then 100 different cams), this v4l2 rewrite has
been merged into the 2.6.27 kernel and thus will become available in the
official Linux kernel soon.

One of the parts of the v4l2 rewrite has been removing conversion from various
manufacturer cam specific video formats to more normal videoformats from the
drivers, as this really does not belong in kernel space.

As a result of this the gspca subdrivers can generate raw video frames in the
following formats:

#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x
compressed bayer
#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line
#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line
#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed
GBRG bayer
#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed
BGGR bayer

As we do not want to see each application implement (nor having to implement)
support for these various formats, as we like to have one code base and only
one code base for these formats. A library has been written (with me as the
main author) to convert from these formats to BGR24 or YUV420. For more on this
library see:
http://hansdegoede.livejournal.com/3636.html

As such I've been working (for a number of days!) on a patch to add support for libv4l to xawtv. This has resulted in my doing a whole patch series, listed in the order in which the patches should be applied.

xawtv-3.95-fixes.patch
----------------------
Some small fixes which are needed for xawtv-3.95 to work with some v4l2 devices at all.

xawtv-3.95-libv4l2.patch
------------------------
Use libv4l2 to gain support for all kind of camera specific video formats

xawtv-3.95-no-dga.patch
-----------------------
xawtv does not work on many videocards without specifying -nodga, this patch
fixes this by catching the error and continuing as if the server does not support DGA at all

xawtv-3.95-v4l-conf-user-bpl.patch
----------------------------------
Allow root to override the detected number of bytes per line, this is needed
to get direct pci transfers to the framebuffer to work on my ati x1950pro

Note that for xawtv to work properly atleast version 0.4.0 of libv4l is needed,
rawhide currently has 0.3.9 and I cannot build 0.4.0 due to an error in the kernel-headers package.

p.s.

While writing all these patches and with all my recent v4l work in general I've become quite familiar with the xawtv code, so if you want I can become a co-maintainer (and push these patches myself).

Created attachment 313381
xawtv-3.95-libv4l2.patch

Created attachment 313382
xawtv-3.95-no-dga.patch

Created attachment 313392
xawtv-3.95-v4l-conf-user-bpl.patch

5 comments hidden view all 290 comments

As I already was afraid little response from upstream sofar, could we please get this patch into rawhide so that it can get as much testing as possible. My offer to co-maintain still stands.

Feel free to commit and build using the latest patch I posted upstream on the bugzilla.

Built bastien's version of the patch in g-p-good 0.10.9-2.fc10.

11 comments hidden view all 290 comments

Ping!

I really want to see this hit rawhide before we go into a beta freeze, and as the patch has been accepted upstream I so no reasons for not putting this in rawhide. If I get no response soon I'll commit it to rawhide myself (assuming the ACL's will let me).

16 comments hidden view all 290 comments

Ping,

I would really like to see this fixed before F10-beta freeze so that the better webcam support feature can get some good testing in the Beta.

description: updated

Pong.

I am still thinking how to make libv4l2 support optional...

It seems that an option is not suitable here, as there are several applications (xawtv, streamer, fbtv, ...) and it is not good to hack all their cmdline interfaces.

Perhaps LD_PRELOAD is a way? If the only application still used by "end users" is "xawtv", then maybe just add "LD_PRRELOAD=..." into its .desktop file? (Saving all another utils unchanged).

P.S. Could you add autoconf stuff for libv4l2 patch as well?

(In reply to comment #5)
> Pong.
>
> I am still thinking how to make libv4l2 support optional...
>

Why would you want todo that? libv4l was explicitly designed to be transparent to the application.

With the current patch, libv4l does not get used / linked in to the lowlevel v4l-info, v4l-conf and v4lctl programs, so those are not affected, all the others actually stream data from the cam in one form or the other and thus need libv4l to work with cams which have funky video formats (IOW most of them!!).

> P.S. Could you add autoconf stuff for libv4l2 patch as well?

Why? Its a distro specific patch and we will always want to enable libv4l support, I will take a look at autoconf support when a new upstream is formed and patches need to become non distro specific so that they can be merged upstream.

> libv4l does not get used / linked in to the lowlevel
> v4l-info, v4l-conf and v4lctl programs

"v4lctl" actually uses libng drivers, ie. the patch affects it as well.

(In reply to comment #7)
> > libv4l does not get used / linked in to the lowlevel
> > v4l-info, v4l-conf and v4lctl programs
>
> "v4lctl" actually uses libng drivers, ie. the patch affects it as well.

Ah I didn't know that even then though, this is not a problem as libv4l does not touch any of the CTRL related ioctl's it passes them through to the kernel *completely* unmodified.

OK

I've added your patches (I have a little touched them, and add manual stuff for the "-p pitch"). Additionally, I've added some debian ones.

The results are available in Koji:
http://kojipkgs.fedoraproject.org/packages/xawtv/3.95/10.fc10/

Looks (In reply to comment #9)
> OK
>
> I've added your patches (I have a little touched them, and add manual stuff for
> the "-p pitch"). Additionally, I've added some debian ones.
>
> The results are available in Koji:
> http://kojipkgs.fedoraproject.org/packages/xawtv/3.95/10.fc10/

Works like a charm, including accessing webcams which do not work without libv4l and using my bttv tv card.

Thanks!

288 comments hidden view all 290 comments

With the gspca module included in 2.6.27, this library is indeed necessary for the gspca supported webcams to work.
Yet, providing the libv4l package in intrepid won't be enough to avoid webcam support regression, as all the applications
that open(/dev/videoX) will need either a LD_PRELOAD hack or a patch to use libv4l.

Stéphane Marguet (stemp) wrote :

http://mentors.debian.net/debian/pool/main/l/libv4l/

The new versions 0.4.3-1 of libv4l packages.

For testing I uploaded them into my Intrepid ppa :
https://edge.launchpad.net/~stemp/+archive

265 comments hidden view all 290 comments

Seems it's a bit late for that. Punting to F10Target.

(In reply to comment #4)
> Seems it's a bit late for that. Punting to F10Target.

Actually this is long fixed, byt I forgot to close the bug (woopsie) closing and removing from trackers.

265 comments hidden view all 290 comments
edmon (bozhan-abv) wrote :

without this lib .... better remove v4l too :))
Importance whishlist for debian is enough but for desktop distribution like ubuntu importance must be CRITICAL!

Kees Cook (kees) wrote :

I've got a version for testing in my PPA, but I'd like to see how Debian's version shakes out over the weekend. I've suggested a number of changes to the packaging there.

https://lists.ubuntu.com/archives/ubuntu-devel/2008-October/026682.html

Just for when it is packaged, a list of some important packages that might need to be patched, or at least tested:

* xawtv (patch: https://bugzilla.redhat.com/show_bug.cgi?id=457796 )
* cheese (gstreamer patch: https://bugzilla.redhat.com/show_bug.cgi?id=456825 https://bugzilla.redhat.com/show_bug.cgi?id=465599 )
* ekiga
* camorama
* vlc (patch: https://trac.videolan.org/vlc/ticket/1804 )
* mplayer
* skype
* amsn
* pwlib (patch: https://bugzilla.redhat.com/show_bug.cgi?id=456868 )

A better and more comprehensive list is here:
http://linuxtv.org/v4lwiki/index.php/Libv4l_Progress

libv4l is in universe now.

Changed in libv4l:
status: In Progress → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xawtv - 3.95.dfsg.1-8ubuntu2

---------------
xawtv (3.95.dfsg.1-8ubuntu2) intrepid; urgency=low

  * Add 100_fedora-v4l2-fixes.dpatch: fixes for v4l2 use (from Fedora).
  * Add 101_fedora-nodga.dpatch: fixes for lack of DGA (from Fedora).
  * Add 102_fedora-use_libv4l.dpatch: use libv4l to open v4l devices (from
    Fedora) and added libv4l-dev Build-Dep (LP: #260918).

 -- Kees Cook <email address hidden> Fri, 10 Oct 2008 12:17:03 -0700

Changed in xawtv:
status: New → Fix Released

Shouldn't libv4l become a dependency also of all these programs?

On Fri, Oct 10, 2008 at 08:35:06PM -0000, Wouter Stomp wrote:
> Shouldn't libv4l become a dependency also of all these programs?

As patches are added, it needs to be added as a Build-Dep, but the shlibs
will fill in the binary Depend automatically.

Changed in gst-plugins-good0.10:
status: Unknown → Fix Released
Changed in pwlib:
status: Unknown → Fix Released
Changed in xawtv:
status: Unknown → Fix Released

This bug was fixed in the package gst-plugins-good0.10 - 0.10.10-1ubuntu1

---------------
gst-plugins-good0.10 (0.10.10-1ubuntu1) intrepid; urgency=low

  * Add 10_fedora-use_libv4l.patch: add libv4l support (from Fedora,
    LP: #260918), add libv4l-dev to Build-Deps.

 -- Kees Cook <email address hidden> Fri, 10 Oct 2008 12:35:37 -0700

Changed in gst-plugins-good0.10:
status: New → Fix Released
Kees Cook (kees) on 2008-10-10
Changed in gst-plugins-good0.10:
assignee: nobody → kees
importance: Undecided → High
Changed in libv4l:
assignee: nobody → lool
Changed in xawtv:
assignee: nobody → kees
importance: Undecided → High
Changed in pwlib:
assignee: nobody → kees
importance: Undecided → High
status: New → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pwlib - 1.10.10-2ubuntu3

---------------
pwlib (1.10.10-2ubuntu3) intrepid; urgency=low

  * Add 52_fedora-use_libv4l.dpatch: use libv4l (from Fedora), and add
    libv4l-dev to Build-Deps (LP: #260918).

 -- Kees Cook <email address hidden> Fri, 10 Oct 2008 15:32:22 -0700

Changed in pwlib:
status: In Progress → Fix Released
Kees Cook (kees) on 2008-10-10
Changed in came:
assignee: nobody → kees
importance: Undecided → High
Kees Cook (kees) on 2008-10-10
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package came - 1.9-3.1ubuntu1

---------------
came (1.9-3.1ubuntu1) intrepid; urgency=low

  * webcam.c, Makefile: patched to use libv4l (LP: #260918).
    - http://cvs.fedoraproject.org/viewvc/devel/camE/camE-1.9-libv4l1.patch

 -- Kees Cook <email address hidden> Fri, 10 Oct 2008 15:48:37 -0700

Changed in came:
status: New → Fix Released
Changed in ekiga:
status: Unknown → Fix Released
Changed in gst-plugins-good:
status: Unknown → Confirmed

I just tested cheese with a logitech quickcam, but if have it connected and I start cheese, it is busy for a little while and then locks up my computer (with blinking caps lock and scroll lock lights on the keyboard). Is it working on other configurations and should I open a separate bug?

Erik Andrén (erik-andren) wrote :

Wouter,
This bug only tracks libv4l and the packages that need to be modified in order to support it.
If your webcam hangs you should open a separate issue for it.

Kees Cook (kees) wrote :

ekiga uses pwlib for the webcam streams (marking the ekiga task "invalid").

Changed in ekiga:
status: New → Invalid
Yannick Defais (sevmek) wrote :

Hello,

Ekiga 3.0 do support libv4l natively.

One should mark the ekiga task as "Fixed"

Best regards,
Yannick

Yannick Defais (sevmek) wrote :

Fixed in ekiga 3.0

Changed in ekiga:
status: Invalid → Fix Committed
Kees Cook (kees) wrote :

The source code for ekiga does not contain any knowledge of libv4l. The required libraries do that (pwlib in 2.x and ptlib in 3.x). As such, libv4l support is not needed for ekiga (so it should stay "Invalid"). pwlib has already been fixed now, and ptlib supports libv4l already (and is not in the archive) so there is no task for it.

Changed in ekiga:
status: Fix Committed → Invalid
Changed in vlc:
status: Unknown → New
loko (arph) wrote :

For me, the webcam still doesn't work with cheese and ekiga 2 or 3. i still get the green picture where nothing is to see.

Also the LD_Preload-Hack doesn't work. I use Intrepid with all the latest updates (pwlib 1.10.10-2ubuntu3 is not available at the moment), i also use the latest gst-plugins-good0.10 0.10.10-1ubuntu1 (which is used from cheese i think)

this is my device:
lsusb: Bus 005 Device 009: ID 0ac8:0321 Z-Star Microelectronics Corp.

these are the errors i get from cheese:

ubuntu@ubuntu:~$ cheese
(cheese:9887): GStreamer-WARNING **: pad source:src returned caps which are not a real subset of its template caps
(cheese:9887): GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed
(cheese:9887): GStreamer-WARNING **: pad source:src returned caps which are not a real subset of its template caps

Vincenzo Ciancia (vincenzo-ml) wrote :

The webcam more or less works in cheese in current intrepid beta, but not in ekiga (it says that there is no matching color space) and not in skype (it only shows a green picture). Should I reopen the bug in ekiga? In any case there is a regression in skype - even tough the program is closed, the driver is clearly providing wrong information to it.

loko (arph) wrote :

Vincenzo Ciancia,

reopening the bug in ekiga make sense because the problem is still not fixed. But, i don't how it's related with pwlib 1.10.10-2ubuntu3 which is not available at the moment. Maybe we should wait and see if this release fixes the problems for ekiga. The other thing you mentioned with skype, i can confirm and agree. Even it's closed source, it should be work with the webcams in the way it did in early ubuntu versions.

On Mon, 2008-10-13 at 14:48 +0000, Vincenzo Ciancia wrote:
> The webcam more or less works in cheese in current intrepid beta, but
> not in ekiga (it says that there is no matching color space) and not in
> skype (it only shows a green picture). Should I reopen the bug in ekiga?
> In any case there is a regression in skype - even tough the program is
> closed, the driver is clearly providing wrong information to it.
>

Hi Vicenzo,

Have you tried running skype and ekiga using LD_PRELOAD to make them
use libv4l?

Thanks,

James

Vincenzo Ciancia (vincenzo-ml) wrote :

I just tried the LD_PRELOAD with v4l taken from a ppa I found in another bug report. Now I finally understood that the libv4l-0 package which is in ubuntu is the same, and it works with both skype and ekiga, thank you.

James Westby (james-w) wrote :

Hi Vincenzo,

Thanks for testing. Could you now try installing libpt-1.10.10 version 1.10.10-2ubuntu3
and trying ekiga again to test that patch?

As for skype there is not much we can do. As it's an external package we can't even
provide a wrapper script that does the LD_PRELOAD trick. In my opinion it's not
important as we should spend our effort improving free software, but if anyone
uses skype and wants to ensure that it will work with their webcam in Intrepid they
may want to ensure skype are aware of the problem.

Thanks,

James

James Westby (james-w) wrote :

Ah, an attempt has been made to notify them, but there is no
response yet.

  https://developer.skype.com/jira/browse/SCL-403

(the link was on the tracking site)

Thanks,

James

Peter Miller (szr4321) wrote :

My Logitech QuickCam Communicate STX also stopped working when upgrading to Ubuntu Intrepid Ibex. However, the preload hack worked for me -- maybe the following is useful for someone else. It's especially tricky since I'm running a 64-bit Linux version and skype is still 32-bit.

sudo apt-get install lib32v4l-0 libv4l-0
(to have both the 32-bit and 64-bit versions.)

For camorama:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so camorama

For skype:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

Maybe a simple wrapper script for skype could be added to medibuntu?

I added a task for medibuntu too, hopefully they will do that.

loko (arph) wrote :

Well,

like i wrote in my case the preload-trick does not work, i always get a green picture. i tested with latest intrepid: cheese, camorama, ekiga 2+3 and skype. with or without preload - none of the programs work.

So i guess, there must be something wrong and the fix does not work for all devices?

See the attachments for detailed device-information

Changed in medibuntu:
assignee: nobody → mrpouit
importance: Undecided → Medium
status: New → Triaged
milestone: none → intrepid
Changed in medibuntu:
status: Triaged → Fix Committed
gerstrong (gerstrong) wrote :

I'm not sure, if cheese needs libv4l, but if it doesn't work with anyone of the apps, than it's a problem with the integrated drivers of webcam (gspca) in the kernel.

Are you able to compile gspca-source? Try, if that works...

 It's a package in Ubuntu.

Visko (visko) wrote :

The ld_preload trick works for me fine in case of Skype.

Visko (visko) wrote :

The ld_preload trick works for me fine in case of Skype. I only needed libv4l package:
aptitude install libv4l-0
and
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Thanks for this workaround! :)

In 64bits OS we need the 32bits of the libs, because skype is 32bits.

sudo apt-get install lib32v4l-0
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so skype

On Sun, Oct 19, 2008 at 10:33 AM, Visko <email address hidden> wrote:

> The ld_preload trick works for me fine in case of Skype. I only needed
> libv4l package:
> aptitude install libv4l-0
> and
> LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
>
> Thanks for this workaround! :)
>
> --
> needed: libv4l and associated application patches (or "gspca stopped
> working in 2.6.27")
> https://bugs.launchpad.net/bugs/260918
> You received this bug notification because you are a direct subscriber
> of a duplicate bug.
>

--
-------------------------------------
Marco Sousa

Achim (ach1m) wrote :

The latest update for gstreamer-good introduced the problem again.
My webcam isn't working with cheese (gstreamer) any more.

gst-plugins-good0.10 (0.10.10.3-1ubuntu1) intrepid; urgency=low

  * New version sync on Debian
  * debian/patches/10_fedora-use_libv4l.patch:
    - add libv4l support
  * debian/build-deps.in:
    - build-depends on libv4l-dev

 -- Sebastien Bacher <hidden> Sat, 18 Oct 2008 18:40:59 +0200

Can someone confirm that?

Regards
Achim

Hi

That last update made my webcam work. Thanks

Bus 007 Device 002: ID 05a9:7670 OmniVision Technologies, Inc.

apt-cache policy gstreamer0.10-plugins-good
gstreamer0.10-plugins-good:
  Instalados: 0.10.10.3-1ubuntu1
  Candidato: 0.10.10.3-1ubuntu1
  Tabla de versión:
 *** 0.10.10.3-1ubuntu1 0
        500 http://archive.ubuntu.com intrepid/main Packages
        100 /var/lib/dpkg/status

mewithafez (firefish17) wrote :

Like Achim, my webcam had been working with cheese for a little while now, but now is broken again. It's a gspca Logitech QuickCam Communicate STX.

James Westby (james-w) wrote :

Hi,

It appears that the v4l patch was accidentally dropped in the last upload
of gst-plugins-good0.10. I'll ask Seb to check and correct this.

Thanks,

James

James Westby (james-w) wrote :

Hi,

A fixed package has already been uploaded.

Thanks,

James

Loïc Minier (lool) wrote :

Concerning skype, the new upstream version of libv4l is supposed to handle it better by supporting new cropping combinations.

I've pushed 0.5.1 to my ppa at https://edge.launchpad.net/~lool/+archive and I welcome feedback on whether it helps with skype. (Of course you still have to LD_PRELOAD this lib manually.)

Steve Langasek (vorlon) on 2008-10-20
Changed in vlc:
status: New → Won't Fix
Steve Langasek (vorlon) on 2008-10-20
Changed in mplayer:
status: New → Won't Fix
Steve Langasek (vorlon) on 2008-10-20
Changed in amsn:
status: New → Won't Fix
Changed in medibuntu:
status: Fix Committed → Fix Released
Kees Cook (kees) on 2008-11-10
Changed in came:
assignee: kees → nobody
assignee: kees → nobody
Changed in gst-plugins-good0.10:
assignee: kees → nobody
assignee: kees → nobody
Changed in pwlib:
assignee: kees → nobody
assignee: kees → nobody
Changed in xawtv:
assignee: kees → nobody
assignee: kees → nobody
Changed in amsn:
assignee: nobody → d.filoni
status: New → In Progress
Changed in amsn:
status: In Progress → Fix Released
José Cabo (folcwine) on 2008-11-26
Changed in amsn:
status: Fix Released → In Progress
status: Won't Fix → In Progress
José Cabo (folcwine) on 2008-11-27
Changed in cheese:
status: New → Confirmed
Changed in gst-plugins-good:
status: Confirmed → Fix Released
Changed in gstreamer:
status: Unknown → Fix Released
Changed in wine:
status: Unknown → New
Changed in wine:
status: New → Confirmed
Changed in amsn:
status: In Progress → Fix Released
Changed in amsn:
assignee: nobody → d.filoni
Changed in vlc:
status: New → Fix Released
Loïc Minier (lool) on 2009-02-16
Changed in libv4l:
assignee: lool → nobody
assignee: lool → nobody
Changed in kdenlive:
status: Unknown → New
Changed in kdenlive:
status: New → Unknown
Changed in vlc (Ubuntu):
status: New → Fix Released
Changed in mplayer (Ubuntu):
status: New → Fix Released
Nerd_bloke (nerd-bloke) on 2009-07-24
Changed in kopete:
importance: Undecided → Unknown
status: New → Unknown
Changed in kopete:
status: Unknown → Fix Released
Nerd_bloke (nerd-bloke) on 2009-07-24
Changed in cheese:
importance: Undecided → Unknown
status: Confirmed → Unknown
Changed in cheese (Ubuntu):
importance: Undecided → High
status: New → Confirmed
js rathee (jaipalrathee) on 2009-08-08
Changed in libv4l (Ubuntu):
status: Fix Released → New
status: New → Fix Committed
dimpler18 (dimpler18) on 2009-12-16
Changed in came (Ubuntu):
assignee: nobody → dimpler18 (dimpler18)
Changed in amsn (Ubuntu Intrepid):
status: In Progress → Fix Released
Bahar Ali (baharali) on 2010-01-21
Changed in libv4l (Ubuntu):
assignee: nobody → Bahar Ali (baharali)
r12056 (r12056) on 2010-02-07
Changed in came (Ubuntu Intrepid):
assignee: nobody → dimpler18 (dimpler18)
Changed in libv4l (Ubuntu Intrepid):
assignee: nobody → Bahar Ali (baharali)
Changed in camorama (Ubuntu):
assignee: nobody → Ubuntu Security Team (ubuntu-security)
r12056 (r12056) on 2010-02-07
security vulnerability: no → yes
Changed in camstream (Ubuntu):
assignee: nobody → Ubuntu Security Team (ubuntu-security)
Changed in cheese (Ubuntu):
assignee: nobody → Ubuntu Security Team (ubuntu-security)
Changed in came (Ubuntu Intrepid):
assignee: dimpler18 (dimpler18) → nobody
security vulnerability: yes → no
Changed in camorama (Ubuntu):
assignee: Ubuntu Security Team (ubuntu-security) → nobody
Changed in camstream (Ubuntu):
assignee: Ubuntu Security Team (ubuntu-security) → nobody
Changed in cheese (Ubuntu):
assignee: Ubuntu Security Team (ubuntu-security) → nobody
Changed in camstream (Ubuntu):
status: New → Fix Released
mbaho10 (mbaho10) on 2010-04-20
Changed in amsn (Ubuntu):
assignee: Devid Antonio Filoni (d.filoni) → mbaho10 (mbaho10)
Changed in camstream (Ubuntu Intrepid):
status: New → Invalid
Changed in cheese (Ubuntu Intrepid):
status: New → Invalid
Changed in camorama (Ubuntu Intrepid):
status: New → Invalid
Changed in camorama (Ubuntu):
status: New → Incomplete
Changed in camorama (Ubuntu):
status: Incomplete → Confirmed
affects: debian → camorama (Debian)
Changed in camorama (Debian):
status: Fix Released → Unknown
Changed in camorama (Debian):
status: Unknown → Confirmed
Changed in camorama (Debian):
status: Confirmed → Fix Released
Vish (vish) on 2010-08-22
Changed in cheese (Ubuntu):
status: Confirmed → Invalid
Changed in cheese (Ubuntu Lucid):
status: New → Invalid
Changed in wine:
importance: Unknown → Medium
Changed in cheese:
importance: Unknown → Critical
Changed in ekiga:
importance: Unknown → Medium
Changed in gst-plugins-good:
importance: Unknown → Medium
Changed in gstreamer:
importance: Unknown → Medium
Changed in kdenlive:
status: Unknown → Fix Released
Changed in adobe-flash-plugin-tools:
status: New → Won't Fix
Changed in firefox:
importance: Unknown → Medium
status: Unknown → Invalid
Changed in kopete:
importance: Unknown → Medium
210 comments hidden view all 290 comments

 Any progress on getting the webcams to work?

Download full text (4.2 KiB)

Hi,

Just discovered your e-mail in my inbox.

On Fri, Oct 5, 2012 at 1:32 PM, Robert Benjamin
<email address hidden> wrote:
> Any progress on getting the webcams to work?

I am not working on this issue.

Also I am very surprised that this launchpad bug report is sent to me
specifically. Shouldn't it be sent to vlc-devel or videolan@v.o. ???

Kind regards,

Jean-Paul Saman.

> --
> You received this bug notification because you are a member of Videolan,
> which is subscribed to the bug report.
> https://bugs.launchpad.net/bugs/260918
>
> Title:
> needed: libv4l and associated application patches (or "gspca stopped
> working in 2.6.27")
>
> Status in Adobe Flash Plugin Tools:
> Won't Fix
> Status in Cheese Camera Application:
> Unknown
> Status in Ekiga Voice Over IP Suite:
> Fix Released
> Status in The Mozilla Firefox Browser:
> Invalid
> Status in GStreamer Plugins (Good):
> Fix Released
> Status in The GStreamer Multimedia Framework:
> Fix Released
> Status in KDE Non-Linear Video Editor:
> Fix Released
> Status in Kopete:
> Fix Released
> Status in Medibuntu:
> Fix Released
> Status in Open Source Computer Vision library:
> Unknown
> Status in VLC media player:
> Fix Released
> Status in Wine:
> Confirmed
> Status in “amsn” package in Ubuntu:
> Fix Released
> Status in “came” package in Ubuntu:
> Fix Released
> Status in “camorama” package in Ubuntu:
> Confirmed
> Status in “camstream” package in Ubuntu:
> Fix Released
> Status in “cheese” package in Ubuntu:
> Invalid
> Status in “ekiga” package in Ubuntu:
> Invalid
> Status in “gst-plugins-good0.10” package in Ubuntu:
> Fix Released
> Status in “libv4l” package in Ubuntu:
> Fix Committed
> Status in “mplayer” package in Ubuntu:
> Fix Released
> Status in “pwlib” package in Ubuntu:
> Fix Released
> Status in “vlc” package in Ubuntu:
> Fix Released
> Status in “xawtv” package in Ubuntu:
> Fix Released
> Status in “amsn” source package in Lucid:
> New
> Status in “came” source package in Lucid:
> New
> Status in “camorama” source package in Lucid:
> New
> Status in “camstream” source package in Lucid:
> New
> Status in “cheese” source package in Lucid:
> Invalid
> Status in “ekiga” source package in Lucid:
> New
> Status in “gst-plugins-good0.10” source package in Lucid:
> New
> Status in “libv4l” source package in Lucid:
> New
> Status in “mplayer” source package in Lucid:
> New
> Status in “pwlib” source package in Lucid:
> New
> Status in “vlc” source package in Lucid:
> New
> Status in “xawtv” source package in Lucid:
> New
> Status in “amsn” source package in Intrepid:
> Fix Released
> Status in “came” source package in Intrepid:
> Fix Released
> Status in “camorama” source package in Intrepid:
> Invalid
> Status in “camstream” source package in Intrepid:
> Invalid
> Status in “cheese” source package in Intrepid:
> Invalid
> Status in “ekiga” source package in Intrepid:
> Invalid
> Status in “gst-plugins-good0.10” source package in Intrepid:
> Fix Released
> Status in “libv4l” source package in Intrepid:
> Fix Released
> Status in “mplayer” source package in Intrepid:
> Won't Fix
> Statu...

Read more...

(In reply to comment #25)
> Any progress on getting the webcams to work?

Still wondering if the webcams (specifically Logitech 9000) works with ispq 9.x and wine 1.4 with Ubuntu v 12.04 or Linux Mint v 14. Thanks for the help.

(In reply to comment #26)
> (In reply to comment #25)
> > Any progress on getting the webcams to work?
>
> Still wondering if the webcams (specifically Logitech 9000) works with ispq 9.x
> and wine 1.4 with Ubuntu v 12.04 or Linux Mint v 14. Thanks for the help.

   Logitech webcam 9000 works perfectly with ispq9.x in win 7 and win xp and the Mac too I believe. In Ubuntu 12.04 and Mint 14 with wine 1.4 it doesn't work. Some users said they could see me and read some text but I can't see users nor read see any text. The camera is great with Skype for Linux and is fine with that in Mint and Ubuntu. Also works with cheese but that isn't a video conferencing program I believe. Hope some day the webcam will work in Linux. Hate to use win 7 to chat with friends. Would love to stay in Linux and use ispq9.x. BTW, I emailed tech support in ispq late last year re: supporting Linux after they did it for the Mac. The reply was no, they have no interest in Linux at this time and it would be too difficult to have techs work on it now. Bummer.

MSN Messenger is now Skype, Yahoo Messenger crashes on login (#32695), iSpQ9 won't install due to MSI problems (https://bugs.launchpad.net/ubuntu/+source/wine1.2/+bug/614546), so how do you even test this?

Otherwise I've made changes that allow VLC on Wine to capture video from my webcam, please retest with the latest Git or Wine version 1.4.2 when it comes out.

(In reply to comment #28)
> MSN Messenger is now Skype, Yahoo Messenger crashes on login (#32695), iSpQ9
> won't install due to MSI problems
> (https://bugs.launchpad.net/ubuntu/+source/wine1.2/+bug/614546), so how do you
> even test this?
>
> Otherwise I've made changes that allow VLC on Wine to capture video from my
> webcam, please retest with the latest Git or Wine version 1.4.2 when it comes
> out.

Will wait for Wine 1.4.2 and test ispq again. Thanks

(In reply to comment #29)
> (In reply to comment #28)
> > MSN Messenger is now Skype, Yahoo Messenger crashes on login (#32695), iSpQ9
> > won't install due to MSI problems
> > (https://bugs.launchpad.net/ubuntu/+source/wine1.2/+bug/614546), so how do you
> > even test this?
> >
> > Otherwise I've made changes that allow VLC on Wine to capture video from my
> > webcam, please retest with the latest Git or Wine version 1.4.2 when it comes
> > out.
>
> Will wait for Wine 1.4.2 and test ispq again. Thanks

Actually you can test with 1.5.22 as well.

fwink no longer runs in wine 1.5.22, it did in wine 1.5.18, it will take time to do the regressiont test.

Created attachment 43229
+qcap,+qcap_v4l in wine 1.5.22

Created attachment 43230
Patch to render even if the output pin is NULL

I tested it before my patches, and Fwink didn't work. I actually just wrote a patch that gets it to start. Doesn't seem to generate proper photos though, I suspect that gdiplus interpolation 7 fixme.

(In reply to comment #33)
> Created attachment 43230 [details]
> Patch to render even if the output pin is NULL
>
> I tested it before my patches, and Fwink didn't work. I actually just wrote a
> patch that gets it to start. Doesn't seem to generate proper photos though, I
> suspect that gdiplus interpolation 7 fixme.

 I can test ispq9.x by installing it in wine 1.4.x or try 1.5.x. Will make a clean install of either and try the .msi and report to you what results. Let me know which wine version is best to try. I am a novice and probably not much help other than simple testing as I mentioned above. Will try and follow simple instructions you may have if I understand them. Sorry for not being much help but I really appreciate every effort you guys make to get it to work. Hopefully others do too. Thanks again. Bob

Fwink creates a NullRenderer. It adds it to the filter graph. On the CaptureGraphBuilder2, it calls RenderStream(), asking it to link the preview pin to the the default renderer. Then it calls RenderStream() again, asking it to link the output pin to the NullRenderer. Finally it adds the sample grabber in front of the NullRenderer, allowing it to take photos.

Since the camera doesn't have a preview pin, CaptureGraphBuilder2 must support the SmartTeeFilter which creates one by duplicating the output pin. Wine's doesn't have that filter. Furthermore, Wine's CaptureGraphBuilder2 doesn't even link the pins correctly. With my patch above, it at least links both to the NullRenderer, allowing Fwink to take photos, but not show preview video (since that needs the SmartTeeFilter).

Those that believe Fwink worked before must have been using native qcap?

(In reply to comment #35)
> Fwink creates a NullRenderer. It adds it to the filter graph. On the
> CaptureGraphBuilder2, it calls RenderStream(), asking it to link the preview
> pin to the the default renderer. Then it calls RenderStream() again, asking it
> to link the output pin to the NullRenderer. Finally it adds the sample grabber
> in front of the NullRenderer, allowing it to take photos.
>
> Since the camera doesn't have a preview pin, CaptureGraphBuilder2 must support
> the SmartTeeFilter which creates one by duplicating the output pin. Wine's
> doesn't have that filter. Furthermore, Wine's CaptureGraphBuilder2 doesn't even
> link the pins correctly. With my patch above, it at least links both to the
> NullRenderer, allowing Fwink to take photos, but not show preview video (since
> that needs the SmartTeeFilter).
>
> Those that believe Fwink worked before must have been using native qcap?

 Thanks for your comments (#35). Don't understand it but from a previous comment I think it said to try and install ispq9.x with wine 1.4 or 1.4.2 when available if not already so. If this is a good idea I will try it and report what happens to you here if this is the correct place. Thanks. Bob

Phillip Susi (psusi) on 2013-06-12
no longer affects: amsn (Ubuntu Lucid)
no longer affects: came (Ubuntu Lucid)
no longer affects: camorama (Ubuntu Lucid)
Changed in camorama (Ubuntu):
status: Confirmed → Invalid
no longer affects: camstream (Ubuntu Lucid)
no longer affects: ekiga (Ubuntu Lucid)
no longer affects: gst-plugins-good0.10 (Ubuntu Lucid)
no longer affects: libv4l (Ubuntu Lucid)
no longer affects: mplayer (Ubuntu Lucid)
no longer affects: pwlib (Ubuntu Lucid)
Phillip Susi (psusi) on 2013-06-12
no longer affects: vlc (Ubuntu Lucid)
no longer affects: xawtv (Ubuntu Lucid)
Changed in libv4l (Ubuntu):
status: Fix Committed → Fix Released
Changed in pwlib (Fedora):
importance: Unknown → Low
Changed in gst-plugins-good0.10 (Fedora):
importance: Unknown → Low
Changed in xawtv (Fedora):
importance: Unknown → Medium
Displaying first 40 and last 40 comments. View all 290 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Related questions

Remote bug watches

Bug watches keep track of this bug in other bug trackers.