The GNU/Linux client is a combination of a Video4Linux2 device driver and an executable app that will transfer the stream from the phone to the driver. Sound support is provided via the ALSA Loopback device.
It’s assumed you are somewhat familiar with the system and how to use the Terminal. Please keep in mind other posts on the site are Windows oriented.
1. Ensure the following dependencies are installed (using apt-get, yum, etc.):
gcc make linux-headers-`uname -r`
2. If droidcam is already installed, make sure it’s not open.
3. Get the latest client:
echo "952d57a48f991921fc424ca29c8e3d09 droidcam_latest.zip" | md5sum -c --
unzip droidcam_latest.zip -d droidcam && cd droidcam
The install script will try to auto-sign the drivers if you have secure boot enabled. If the signing fails, you’ll be promoted to manually take care of signing the driver by following ‘Secure Boot Module Signing’ instructions for your distro (you can Google it).
If all goes well, you can ensure the video device is installed via
lsmod | grep v4l2loopback_dc. You should see v4l2loopback_dc in the output.
Open up a V4L2 compatible program (VLC player, Skype, Cheese, etc) and you should see DroidCam listed as a video device (or it might be listed as /dev/video).
Sound support is also available. After the above installation succeeds, you can then run
in the same directory. This will load the Linux ALSA Loopback sound card which the Droidcam client will use for audio input.
4. Start the
droidcam client via the Terminal, or create a launcher if you’re using gnome. There is also a simpler cli client,
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!
Video rotation: You can achieve portrait video by inverting the webcam. See the HD Mode section below.
Android USB connections: The client app will try to invoke
adb automatically, provided
adb is installed.
Debian-based Linux users can do: sudo apt-get install adb
Fedora/SUSE-based Linux users can do: sudo yum install android-tools
iOS USB Connections: The client will try to communicate with
usbmuxd to detect and connect to your iOS device. Make sure
usbmuxd is installed and running.
Sound support: In order to get the mic to show up in PulseAudio you can either run
pacmd load-module module-alsa-source device=hw:Loopback,1,0 (you may need to adjust the last number), or by editing /etc/pulse/default.pa as described here. On some systems you need to do this after launching the droidcam client, and before you connect to the app.
HD Mode – Change webcam resolution
1. Close any programs using the droidcam webcam. Unload the device driver:
sudo rmmod v4l2loopback_dc
2. Re-load it with new options (WIDTH and HEIGHT are numbers). :
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=WIDTH height=HEIGHT
Standard sizes (Width x Height): 640×480, 960×720, 1280×720 (720p), 1920×1080 (1080p).
It’s also possible to invert the video size (eg. 480×640,
width=480 height=640), which will make the webcam vertical and rotate the video 90º. Not all programs may load the webcam with inverted parameters (eg. Discord does not) but many do (eg. Zoom and OBS).
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.