Sounds great Natalia. Two things I'd like to let you all know.
(1) I am using a VM guest because I need the slightly older pwc driver in Fedora 11 which works with long exposure mods - so that is why I was trying it in a VM. If you use a generic or use the hosts pwc driver, it will break certain things. That's why it's important the guest driver is used for me anyway. (2) I tried this with VMware Player, and you will be happen to know, even though the guest OS detected the pwc webcam and loaded the driver and the video device /dev/video0 and lsusb shows the Philips cam there, all video software tested reports it cannot find the video camera. Opposite of this is KVM/Qemu which does all the same as described, but at least video software reports it finds the webcam, but no video at this time - since you all are working on that. So KVM might be doing better in this regard. Peter --- On Mon, 5/30/11, Natalia Portillo <clau...@claunia.com> wrote: From: Natalia Portillo <clau...@claunia.com> Subject: Re: [Qemu-devel] Webcams under KVM and Linux To: "Peter Baitz" <ussenterprisencc1...@rocketmail.com> Cc: "Andreas Färber" <andreas.faer...@web.de>, "QEMU Developers" <qemu-devel@nongnu.org>, "Hoffmann Gerd" <kra...@redhat.com> Date: Monday, May 30, 2011, 12:50 PM Exactly what my webcam does is: Takes a frame from ANY available V4L2 device (/dev/video0), caches it, and sends it completely to the guest before requesting any other frame. With this way you need your host driver loaded, but you will get never a blackout. What it happens is a thing commonly known in game emulators (like for example ePSX) as framedrop, that is, you get a slower framerate but not blackouts. The guest sees a common USB Video Class Device webcam with no controls (this can be enhanced easily), so basically you cannot change any parameter.However all the webcams I tested automatically managed that in the firmware with no intervention from any of the drivers (host or guest), changing white balance and brightness to the adequate values. You can see it working without KVM in:http://www.youtube.com/watch?v=_Yo9TWPDXCohttp://www.youtube.com/watch?v=fzGYvjZzx6E The webcam emulation works with TCG (without KVM), albeit slower, enough to do videoconference because of the following: Using direct connection method (USB passthrough) even when the ISO xfers and ECHI 2.0 are completely emulated will always find the following: the host is faster than the guest, so the real webcam will always be streaming faster than the guest can process it.Frames are sent in pieces, and if the frame does not arrive completely from start to end on all pieces the guest will blackout, and continue black until it receives a complete frame. With fast webcams, like 60 fps ones, this will happen so commonly that there will be no image at all. You can easily see this in VMWare, Parallels or VirtualBox, all of them emulate ISO xfers and EHCI 2.0 and when using a webcam it's not really practical. Framedrop prevents that. From the 60 frames sent in a second by the host, if the guest can process only 10, it will receive 10 complete frames, and see the webcam as a 10fps one.That's atomic. Also my patch supports, as I already said, any V4L2 device including webcams, DV cameras, TV tuners from any kind of interface be it Firewire, USB, PCI, Serial, AGP, so on. El 29/05/2011, a las 15:03, Peter Baitz escribió: Hello Natalia and Andreas, Thank you for the replies and suggestions. I will lookup V4L. Natalia, So your patch creates a generic webcam under KVM/Qemu to allow many webcams to work? My only concern is the following: I use specific Philips webcams, and one in particular has a long exposure modification that the PWC driver (Fedora 11 guest on Fedora 15 host) coupled with Qastrocam-G2 (v4.9) allows the "shutter" to remain open through USB control of the LED. If the guest restorts to using a generic webcam driver, I think this would preclude functionality that the native driver supports ? Also, can you tell me - when KVM is running my guest, should the PWC webcam driver be loaded and/or the /dev/video0 on the HOST (F15), versus the guest (F11) ? I am confused as to which components are supposed to be enabled or disabled while running the guest webcam. What I see is when I enable the webcam USB device in KVM, it appears to disable the /dev/video0 on the host an brings it up in the guest. And the pwc driver loads and remains on both host and guest. Peter --- On Sun, 5/29/11, Natalia Portillo <clau...@claunia.com> wrote: From: Natalia Portillo <clau...@claunia.com> Subject: Re: [Qemu-devel] Webcams under KVM and Linux To: "Andreas Färber" <andreas.faer...@web.de> Cc: "Peter Baitz" <ussenterprisencc1...@rocketmail.com>, "QEMU Developers" <qemu-devel@nongnu.org> Date: Sunday, May 29, 2011, 1:53 PM -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 More concretely search for patches sent by me. Even when EHCI is finished still is the problem of isochronous transfer not working well because of timing issues on QEMU. My patches overcome the need for ISO transfer and EHCI controllers completely, as well as providing an universal device to the guest that works with every Windows >XP, every Linux and even Mac OS X. El 29/05/2011, a las 14:37, Andreas Färber escribió: > Hello, > > Am 29.05.2011 um 15:01 schrieb Peter Baitz: > >> >>> [...] You should notice that it is not just adding >>> ISOC and USB 2.0 support, but also to prioritize the processing of isoc >>> packets on a virtual environment, and to provide enough throughput for >>> video streams >> >> [...] Please check the qemu-devel mailing list archive, specifically >> regarding recent discussions about EHCI (USB 2.0). Some of those threads >> address isochronous transfer as well. >> >> In the meantime, you could also try to assign a complete host controller to >> the guest to get a webcam working. I tried this a while ago, though the >> result was only moderately well working here. > >> [...] I would indeed like to hear more about what the project is adding to >> KVM - Qemu to allow video to work with webcams > [...] >> I was told I could try to add a complete host controller to the guest, but >> am not entirely sure I understand what that means? Looking for specifics? >> Is there a suggestion for doing this during install of the KVM guest, or can >> this be done while the guest is running, or otherwise? > > Independent of the ongoing EHCI work, I remember a patch specifically for > webcams a while ago, try searching the archives for V4L. > > Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org iF4EAREIAAYFAk3iT+QACgkQv/wfOsykIRTtxQD+KCTGZhuzrZMzmYDvY5NFO0+F QQwdE0aYVntQWpHMG5YBAJsFT5wd7/8FxOIt3aL1lwFqXtKc9y9TrrNog95gnoVh =n0hn -----END PGP SIGNATURE-----