The number of bugs in a chip is relatively proportional to the number of transistors - Bob Colwell, former Intel chief architect
Near three years ago, I purchased the cheapest USB webcams - actually, pair - I could find at the time, without taking into consideration whether those webcams worked with Linux or not. I ran one desktop PC with Win2K and one of the webcams was plugged to that box. I quickly found out several things: first, "Made in China" webcams surely are cheap, but that comes at a price of often having no support web site, no physical address of the manufacturer, and no updates to its drivers. The Win2K drivers for the "DigiGR8" 301P had apparently a memory leak under Win2k, forcing me to reboot the win2k box on a daily basis. Basically it just stopped working after a dozen hours of continuous use, and rebooting was the only solution.
I then concluded I had enough with Win2K and decided to install my Linux distro of choice - back then Sun Microsystem's ill-fated Java Desktop System for Linux R2. It soon became evident that the device was a power-sucking brick as far as Linux compatibility was concerned. After finding the chipset used by the webcam and writing to both the chipset manufacturer and the webcam builder and receiving no reply whatsoever, I was on my own. I asked on the newsgroups, and was told that the ZC0301 chipset, manufactured by "Z-Star Corp" -a firm now apparently going by the name Vimicro Corp- was on the "Linux (in)compatibility list".
All 235 low-cost webcams supported in Linux thanks to... this man
Imagine my surprise when, by pure chance, I found out last week that there are now Linux drivers for hundreds of those cheap "Made in China" webcams with strange brand names and a Vimicro chipset inside. The surprise was more shocking when I realized that drivers for 235 webcams - at the time of this writing - are the work of a single unknown hero who works from his home in France, does so with no corporate sponsorship, and what's even more outrageous, very few people know about the existence of those drivers and about the person behind them.
Project web page showing some of the supported USB Webcam chipsets
More webcams supported
...near the end of the list.
FC: Who are you and what do you do?
MX: My name is Michel Xhaard, I am a Physician and work in Doppler and Ultrasound imaging for years. I am now near 60 years old.
FC: Interesting, as it kind of breaks the "young school kit" stereotype of the Linux advocates. When did you
start in this project and why?.
MX: I started working on the "spca50x" project in 2003, when I bought two webcams for my daughters for Christmas but there was no support under Linux for those.
FC: So you decided to take matters in your own hands. How did you know where to start?
MX: After asking the gPhoto team, Till Adam (http://hubbahubba.de/) and Thomas G. (http://home.tiscali.dk/tomasgc/labtec/) provided me with some useful help to start. Few weeks later we had full support of the Sunplus spca504b chipset in Gphoto -userspace picture support- and Spca50x for video streaming.
FC: Why "GSPCA"? What does it stand for?
MX: "Generic Software Package for Camera Adapters" :)
FC: So how did the ice ball grow to reach today's 253+ webcams supported with several different chipsets?
MX: Starting with the Sunplus chipset support, I realised that most code in the core driver could be "shareable" to support several webcam chipset(s). That is why the "GSPCA" drivers now support over 250 webcams from different chipset vendors.
Linux application GnomeMeeting (Netmeeting clone, now renamed Ekiga)
detecting USB webcam
FC: May I ask you why you decided to host your project web site on Free.FR? Don't you think Sourceforge.Net or
other such OSS project repository would be more appropriate? What if Free.FR disappears?. In a sense, don't you think
it's as risky as hosting an OSS project on Geocities or Tripod?
MX: I like "free.fr" because it is, well, free :) Have you seen the same content in Geocities.com or tripod.com ??. Check out ftp://ftp.free.fr/pub/
Also, you can be sure that "free.fr" will not disappear. I personally don't like Sourceforge.net because it can be at times too slow, and there's a lot of dead projects ...
FC: Are you aware that your site is not very well indexed?. I came across not one but three pages claiming that
the ZC0301 was not supported, or that there was a Linux driver project, which got abandoned (true, but outdated). Don't
you think that having a domain name would help?
FC: How do you feel knowing that there are a few really big corporations with million dollar budgets all
peddling Linux, and you do all this critical work of helping Linux gain webcams support -by the hundreds!-, yet
not a single one of those big firms has decided to formally sponsor your work?
MX: my work is not "Linux Kernel centred" my goal is to provided video input support for Linux users, and I am not sure that these big companies are interested in the end user :).
FC: well, I think they should. Google does, for instance, since they bought this Nordic firm days ago which does
cross-platform video conferencing software in Java. So if they want everyone to do video conferencing regardless of OS,
drivers suddenly is an issue. OK, you won't say it but I will: shame on RedHat, Novell, Linspire, and IBM, to name just
a few, for not caring about this. Is there anything you want to add?.
MX: Yes, that despite the old picture you are going to use on the article, notice that I stopped smoking in June 2006. :) [I'm sure Mr. Ballmer will be sending you tons of tobacco after reading this article]. :)
FC: Thanks very much Michel for your time, and for the drivers as well. I see that the ZC0301P chipset used in
my "DigiGR8" webcam is listed, but I haven't been able to make my webcam work yet, so let's cut the chat and start the
(virtual) hair-pulling exercise.
MX: You're welcome. µ
Webcam chipsets supported by Michel's drivers
Download GSPCA (click on the logo of your Linux distro)
$25 DigiGR8 laptop webcam (vendor confirmed ZC0301P chipset)
Donate a webcam to Michel if you want to have a particular model or new chipset supported
Sign up for INQbot – a weekly roundup of the best from the INQ