• Skype and Ubuntu: green, black or scrambled video

    A new beta version of Skype for Linux has been released some time ago (2.2.0.35) and is now available for download.

    Even if a couple of bugs have been fixed we are still missing a native 64-bits version and there are still issues with some webcams working fine under other applications but still showing black, green or scrambled output.

    One possible solution has been around for a while but I found a lot of poorly written/confusing posts.

    Basically it seems that even if Skype support the v4l2 programming interface, some driver implementations are not working fully with the standard.

    The one example is the gspca implementation found for some webcams (like the Logitech Quickcam IM/Connect or the Creative Webcam Instant) can work only if we force Skype to use the old v4l implementation by pre-loading the old library.

    The best way to do this is by creating a script that automatically pre-load the library and launches Skype (Ubuntu 32 bits):

    1. Install the libv4l-0 package:

    sudo apt-get install libv4l-0

    1b. If you have Ubuntu 64 bits you’ll have to install two packages:

    sudo apt-get install libv4l-0 lib32v4l-0

    2. Then use the following line to launch Skype:

    LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype

    2b. if it doesn’t work, then look at the output in the terminal. If it is complaining about “error unexpected width / height in JPEG headerexpected: 320×240, header: 1600×1200” then try the following line:

    LD_PRELOAD=/usr/lib/libv4l/v4l2convert.so skype

    If you have Ubuntu 64 bits you’ll have to slightly change the two lines into:

    LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so skype

    LD_PRELOAD=/usr/lib32/libv4l/v4l2convert.so skype

    As pointed out by realmagnum, if you have Lubuntu 32bits, the line will have to be: LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l2convert.so skype

    3. Once you’ve found the line that works for you, create a new empty file, and put inside:

    #!/bin/sh
    LD_PRELOAD=/usr/libxx/xxxxxxx.xx skype

    4. chmod a+x filenameyou’vecreated

    Now everytime you’ll need to launch Skype, you’ll be able to do so (and use the webcam) by launching the script you’ve created!