The GNU/Linux module (prototype) is a combination of a Video4Linux2 device driver, and an executable app that will transfer the stream from the phone to the driver.

It’s assumed you are somewhat familiar with the system and how to use the Terminal. Also please keep in mind other posts on the blog are Windows oriented.


1. You must first remove any old versions of the client you have. Scroll down to the “Removal” section below.

2. If you are using an older Android device, check the version of DroidCam that was installed from the play store and run the appropriate commands from below.

For DroidCam & DroidCamX version 6 and above (newest):
cd /tmp/
sudo apt-get install linux-headers-`uname -r`
bits=`getconf LONG_BIT`
[[ ${bits} -eq 32 ]] && checksum=c8baa64b3f1e1d9b9051ece23474e58f
[[ ${bits} -eq 64 ]] && checksum=ad14437f0556d80f981d1027766afe29
echo "${checksum}  droidcam-${bits}bit.tar.bz2" | md5sum -c --
# OK?
tar xjf droidcam-${bits}bit.tar.bz2
cd droidcam-${bits}bit/
sudo ./install

For DroidCam & DroidCamX below 6: [show]

Please download one the following packages to /tmp, extract and run sudo ./install 640 480
64-bit (f937c3510615af68c007b8c72deadb14), or 32-bit (73c6b9d853a0a6ab7c6d15174450a3f1).

* If you are running the newest Linux kernel (version 4 or above) and seeing errors, make sure your installed gcc version is 4.9 or above:
uname -r # prints linux version
gcc -v # prints gcc version

3. Once everything goes without error, you can ensure the device is installed with lsmod. Look for ‘v4l2loopback_dc’.

Open up a V4L2 compatible program (VLC player, Skype, Cheese, etc) and you should see DroidCam listed as a video device.

4. Start droidcam via the Terminal, or create a launcher if you’re using gnome. You can also try droidcam-cli -h.

5. Check the connection post on how to connect. If all goes well, you should see the output in the chat application, and you’re done!

A note about USB connections: The latest version of the client will try to invoke ‘adb’ automatically, provided the executable is found via the $PATH environment variable (ie. export PATH=$PATH:/path/to/adb).
The following commands are automatically executed:
adb start-server
adb devices # Look in output for a connected device
adb forward tcp:$port tcp:$port # $port = specified port on the client

The Linux client is open source.

Update webcam resolution

You may change the webcam output resolution as follows:

1. Close any programs using the droidcam webcam. Unload the device driver:
sudo rmmod v4l2loopback_dc

2. Re-load it as follows (WIDTH and HEIGHT are numbers). :
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=WIDTH height=HEIGHT
Recommended resolutions: 320×240, 480×360, 640×480, 960×720 or 1280×720.

3. Restart the droidcam client to reload the settings, and test it out. You can keep changing the resolution.

4. Edit the text file /etc/modprobe.d/droidcam.conf with the new options to make the change stick.


To remove the DroidCam client (or existing old version):
Close any running programs. Run one of the following (depends which version of the linux client you got)
sudo /opt/droidcam-uninstall
# OR
sudo ~/.droidcam/uninstall
  1. Islam Abdel Fadil says:

    I need to (select connection mode, type in ip, port, and click connect.) using terminal .. how can i do that ??

  2. Gustavo says:

    “Device not found (/dev/video[0-9]).
    Did you install it?”

    • dev47 says:

      DroidCam V4L2 did install correctly.
      Were there any errors when you ran ./install ?
      Try the uninstall instructions, and then try again.

  3. Wang says:

    I have installed in Ubuntu, run droidcam-cli -l 4747 and now it is showing “waiting on 4747…”
    For my android phone: USB debugging connected, mode PTP, Droidcam is running with IP and port 4747.
    I tried using Cheese webcam, but all I get is a green screen. So what am I missing?

    • dev47 says:

      You basically have both the app and the client waiting for a connection. The -l option is for when you connect the phone to the computer.
      If you want to connect over USB, you need ADB port forwarding (the non-cli client does this for you):

      adb start-server
      adb devices # Look in output for a connected device
      adb forward tcp:$port tcp:$port # $port = port option in the app, 4747
      droidcam-cli 4747

      • Wang says:

        Hi, I tried to reinstall. Then it says v4l2loopback_dc is in use. From lsmod, it is used by videodev, which is used by media (even after reboot). Can I safely rmmod media ? Thanks.

        • dev47 says:

          Honestly, I’m not sure 🙁
          media could be some system service – like sound or something.
          It might be worth asking this on the Ubuntu help forms to confirm.

          • Wang says:

            oh, I got it backwards… v4l2loopback_dc uses videodev, so I can rmmod it after reboot (something was using it before reboot). and got it working after installing (and some more fiddling). Mine works on usb3, but seems that MTP & PTP modes should be off.

  4. Jason Ivey says:

    I keep getting a pop-up window that says, “Settings Error, no such file or directory.”

  5. Ayuy says:

    I am trying to install it in raspbian and I get this error:

    Does it have solution?

Leave a Reply

Your email address will not be published. Required fields are marked *


Follow @dev47apps