This is a very specific post about using the £8.97 VGA webcam from Tesco with Ubuntu 10.04, namely with Skype. These instructions might work with other webcams and/or other linux distros, but I have not tested this personally. If this does/doesn’t work for your webcam/distro combination then please leave a comment describing your experiences.

Okay, lets get on with it. To make sure you’re using the same webcam as me, type lsusb into the terminal. You should get something like this:

Bus 004 Device 002: ID 093a:2620 Pixart Imaging, Inc.
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 1c6b:a222 Philips & Lite-ON Digital Solutions Corporation
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

If you have a line like the one at the top (in bold) then we’re talking about the same webcam. Specifically, make sure the ID 093a:2620 is the same.

Next, make sure you have the correct Video4Linux drivers installed. To do this, type the following in your terminal:

sudo apt-get install libv4l-0

You will either be told that you already have the newest version, or the drivers will be installed.

Next, make sure your webcam is working. For this you can use a program like cheese. You will probably need to install this too:

sudo apt-get install cheese

Once it’s installed, simply run cheese from the terminal or from a run prompt (Alt + F2), or find the icon in Applications -> Sound & Video -> Cheese Webcam Booth. A light should turn on just below the lens and you should see a picture of yourself. If the program crashes or fails to load, try restarting your computer but leave the webcam plugged in. Sometimes linux does funny things if you plug in the webcam after it has already started up.

If that’s all working then we are ready to get Skype going. For this to work, we need to preload the Video4Linux drivers. Open a terminal and type the following:

64-bit users:
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype

32-bit users:
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype

(if you’re not sure if you’re a 64-bit user or a 32-bit user, type “uname -m” into a prompt. x86_64 means 64-bit. Anything else is 32-bit).

This should launch Skype with the library preloaded. To see if it worked, go to Options (Ctrl + O), select video devices from the list of icons on the left and click on the test button in the middle of the black box. The light on your webcam should turn on again and you should, after a second or two, see yourself. If you can, then the webcam should now work for you in Skype. But you don’t want to have to type all that garbage into the terminal every time you want to run Skype, so lets write a script to do it for us.

From a terminal, type the following:

sudo gedit /usr/local/bin/skype

And write the following code to the file:

64-bit users:
#!/bin/bash
LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype

32-bit users:
#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype

(You should only be writing two lines to the file, depending on if you’re a 32-bit or 64-bit user. Don’t include the ??-bit users lines in the file.) Once this is done, save and exit. Finally, we need to make the new script executable:

sudo chmod +x /usr/local/bin/skype

And that’s it. Run Skype like you normally would. It should now be working with your webcam.

  1. Heitor says:

    Great n useful. I just installed 10.10 on a friend’s PC n this tip fits perfectly.

    Thanx

  2. Douglas Amorim Ferreira says:

    Hello, worked the first time I tried.
    But in the second test, the webcam image is completely dark.

    After this command: sudo gedit / usr / local / bin / skype

    The following errors occur:

    (Gedit: 27469): Gtk-WARNING **: Attempting to store changes into `/ root / .local / share / recently-used.xbel ‘, but failed: Failed to create file” / root / .local / share / recently -used.xbel.UI8N0V “: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to set the permissions of `/ root / .local / share / recently-used.xbel ‘, but failed: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to store changes into `/ root / .local / share / recently-used.xbel ‘, but failed: Failed to create file” / root / .local / share / recently -used.xbel.IOOZ0V “: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to set the permissions of `/ root / .local / share / recently-used.xbel ‘, but failed: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to store changes into `/ root / .local / share / recently-used.xbel ‘, but failed: Failed to create file” / root / .local / share / recently -used.xbel.MUC50V “: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to set the permissions of `/ root / .local / share / recently-used.xbel ‘, but failed: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to store changes into `/ root / .local / share / recently-used.xbel ‘, but failed: Failed to create file” / root / .local / share / recently -used.xbel.P55T0V “: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to set the permissions of `/ root / .local / share / recently-used.xbel ‘, but failed: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to store changes into `/ root / .local / share / recently-used.xbel ‘, but failed: Failed to create file” / root / .local / share / recently -used.xbel.4PYQ0V “: File or directory not found

    (Gedit: 27469): Gtk-WARNING **: Attempting to set the permissions of `/ root / .local / share / recently-used.xbel ‘, but failed: File or directory not found

    Any suggestions?
    Sorry for the inconvenience, I am a beginner in linux.
    Thank you!

  3. The Mad GEneral says:

    Great have been trying for some time to get this Web-cam to work. I recently upgraded to Ubuntu 11.10. I ran lsusb and got the following list;

    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    Bus 001 Device 002: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
    Bus 005 Device 002: ID 15d9:0a41 Trust International B.V. MI-2540D [Optical mouse]
    Bus 001 Device 004: ID 1c4f:3002 SiGma Micro

    Entered “sudo apt-get install libv4l-0” into the terminal window.

    Then removed the old driver that I had with “sudo apt-get autoremove” as recommended.

    Opened up Cheescake, (I already had it installed.) and bingo there was my pretty face.

    Thanks mate appreciate this one.

  4. Grendel says:

    Thank you for that tutorial! The only difference with my system was the location of the library, but simple ‘locate v4l1compat.so’ worked just fine and now my camera is working. All i have to do is to get rid of pulse audio server, because it makes weird noises. Thanks!

  5. TheGurkha says:

    I’m on Ubuntu 13.04 Raring Ringtail, i just had to change the location of the library as well, making the line to put in the script file as follows:

    LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype

    Then it works a treat! Thanks a lot, appreciate you putting this info out there for all of us.