Webcam and VMware

Well in the last year or so, I have been able to find a Linux replacement for almost every single task that I use a computer for.  I’ve even learned of many new apps that I didn’t know about before, but now can’t seem to live without.  Lately, though, there has been one particular issue that I have been trying to find a solution for.  Since I tend to travel to Europe form time to time, I like to be able to keep in touch with people back home.  Skype seems to do the trick for most things, however there are some things that bother me about it, particularly their lack of a decent Linux client.  They don’t support any video calls for Linux yet.  I started to research alternatives, and found some promising stuff, like WengoPhone.  It seems like an ideal solution to everything, but so far testing has yielded minimal results, as I haven’t, as of yet, been able to successfully place a call to my mom using voice, let alone video.  I will keep them in the back of my mind for the future, but I think they are still in their alpha stage of development on their 2.0 version, which looks to be a very promising open-source Skype replacement that is cross-platform.

I purchased a Logitech QuickCam Communicate STX, keeping my fingers crossed and return postage handy, because I had no idea if it would work under Linux but I figured I would just take a chance.  Well, I must say that I was completely shocked to open the package, plug it in and open up Kopete to see myself staring back at me.  Props to Logitech for that one.  So now that I had a working webcam with 100% less effort than installing the same device in Windows (requires driver CD or download, a few minutes of intstallation time and a reboot or two), I was ready to test out Kopete’s video chat features and attempted to connect to someone using MSN Messenger, which seems to have pretty nice Video Call features.  This tried to work, but I think my über-restrictive firewall wasn’t allowing something to go through, so I canned that idea.  Gaim unfortunately doesn’t support any video or voice stuff, and I didn’t want to try to convince everyone I know to start using SIP-based VOIP clients, because that is just another hassle for the non-computer-savvy folks in my life, and my goal is to be able to connect to them with all the effort on my end, since I am the computer geek.

So I had an interesting thought.  My webcam works under Linux.  I have an old Windows virtual machine floating around on my hard drive that I haven’t booted up in a while.  Let’s see if my webcam will work inside of VMware and whether I can successfully call my girlfriend using Windows Messenger or Skype, since that is what she uses.

Step 1:  Download VMware Server, register for a license, and install by un-tarring the tarball and running vmware-config.pl.  I just accepted all defaults.  Look for it on ubuntuguide.org.  There are some dependencies like a C compiler and stuff.  I’ll try not to get too distro-specific here, but for the record, I am using Kubuntu Edgy Eft 6.10

Step 2:  Install Windows XP in Virtual Machine.  This requires you to buy a license from Microsoft.  If you don’t have one, I would recommend finding a different way to do video calls under Linux.  Don’t buy Windows just for this reason.

Step 3:  Install VMware Tools. Reboot the VM.

Step 4:  Turn off VM and edit the settings and make sure that you install the USB controller and an audio device.  Turn VM back on.

Step 5:  Once the VM boots up, go to the VM menu>Removable Devices>USB Devices and select the webcam.  Windows will detect the webcam and you can install the software for it (Note: the first time I did this, I had to shut it down and close VMware Server and re-open it before it worked.) Installing the logitech software requires a reboot.

That was pretty simple.  The camera includes a built-in microphone, which also worked and I was able to install a virtual sound card in the machine, so that I could get sound.  Both Windows Live Messenger and Skype worked almost flawlessly inside the virtual machine.  And I was able to call my girlfriend and have a video chat without booting into Windows or messing with my firewall.  Of course this is a huge roundabout way to achieve a small task, but I am very impressed that it works.  Hopefully I can find a nice full featured open-source IM client that will do video with no hassle soon, but until then I have one last reason to keep the old VM around and have now made it unnecessary to ever boot into the Windows partition on my hard drive again.

4 Comments

DanielApril 5th, 2007 at 10:48

Uhm. Are you SURE Skype works? It “runs” but have you actually established a video exchange with anyone? I could connect to the echo tester, but when I try to connect to people, the connection gets dropped. There are definitely issues with the networking part of it from everything I have read. (If I were to guess, Skype is probably playing tricks with TCP/IP that aren’t expected when translated into a Linux setting.)

Anyway, the program runs and you can see yourself when the webcam is activated. But try to connect and establish a stream and it shuts off pretty quickly.

jabbaApril 5th, 2007 at 12:32

Well after a little further testing, I was indeed able to establish a video connection in Skype for Windows running under VMware in Linux, however the quality was pretty terrible compared to using Windows Live Messenger to do a video call with the same person on the other end.

And you are right about Skype playing tricks with TCP/IP. It does indeed do some crazy routing with their proprietary peer-to-peer protocol. I think I will probably discontinue its use for a while until they can at least make a stable up-to-date Linux client.

JaumeApril 13th, 2007 at 22:26

I’ve got the same camera model but Windows doesnt’t recognize it as a webcam, but unknown device, with the drivers already installed. What text do you have when you enable the device in the VM -> Removable devices -> USB Devices ? I’ve got Logitech USB device, and I think that’s the key to get it working, but I am not sure. What version of VMWare Server do you use? I am at 1.0.2.
When I get the webcam working on XP guest, I think the best way is to use seamless virtualization ( rdesktop + seamlessrdp + xp on a vm): https://help.ubuntu.com/community/SeamlessVirtualization

jabbaApril 14th, 2007 at 06:58

Yes, I am running the same version of VMware and I get the same device name in VM -> Removable Devices -> USB Devices. I did have some trouble at first where after I installed the drivers, I had to shut down the guest, exit VMware, unplug the camera, plug it back in, restart VMware, start the guest, wait for it to boot up, and then enable the Logitech USB Device. It seemed to work the second time. Thanks for the link on seamless virtualization!

Leave a comment

Your comment