2

I'm trying to run Skype on Ubuntu 13.04, and getting a black void instead of my webcam input, when my webcam works with other applications such as Cheese.

The traditional solution is to run

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

However, this is now failing to work, with

$ LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.

$ locate v4l1compat.so
/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so

file `which skype`
/usr/bin/skype: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xe7a4372f77f31bca55d7b0e26422b8901d916e51, stripped

I have also tried without ld_preloading anything. Why might LD_PRELOAD be failing and has anyone else had any luck?

1
  • Is this reproducible anymore?
    – Braiam
    May 9, 2014 at 22:02

2 Answers 2

3

start skype with the following command

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

If this doesn't work, make sure you install the 32bit libv4l-0 package first.

Your Skype is a 32bit version and it needs the 32bit libv4l-0 package (even though your ubuntu is 64 bit). If you don't have it install it by the following commands.

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libv4l-0:i386

If you don't want to type this long command every time while launching Skype, you should edit the /usr/share/applications/skype.desktop file and add the following at the Exec line so that it looks like this:

Exec=sh -c 'LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so skype'
0

Try:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .