The GNU/Linux client is a combination an executable app that connects to the phone, and Video4Linux and ALSA loopback drivers.
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.
If droidcam is already installed, make sure it’s not open.
Download and install latest client:
wget -O droidcam_latest.zip https://files.dev47apps.net/linux/droidcam_1.7.1.zip
# sha1sum: c687253a17ca6a2337b85ed90de585c776174250
unzip droidcam_latest.zip -d droidcam
cd droidcam && sudo ./install-client
You can use the standard
v4l2loopback module, or the DroidCam version
The main difference is that you’ll see “DroidCam” in the list of webcams, it works with Skype+Chrome without needing extra options like
exclusive_caps=1, and the provided install scripts will make sure the module stays loaded after reboot.
For DroidCam v4l2loopback,
1. Install these packages:
sudo apt install linux-headers-`uname -r` gcc make
The install script will try to auto-sign the drivers if you have secure boot enabled. If the signing fails, you will be prompted to manually take care of signing the driver by following ‘Secure Boot Module Signing’ instructions for your distro (more info on Google).
If all goes well, you can ensure the video device is loaded via
lsmod | grep v4l2loopback_dc. You should see v4l2loopback_dc in the output.
Skype, Zoom, OBS Studio, etc. should now list DroidCam as a video device (it might also be listed as a raw /dev/video device).
This will load the Linux ALSA Loopback sound card, which the Droidcam client will use for audio input.
droidcam client from the Gnome launcher menu or via the Terminal. There is also a cli client,
droidcam-cli, that you can use.
You can achieve portrait video by inverting the webcam. See the HD Mode section below.
Android USB connections:
For USB connections, you need to: a. enable USB Debugging on the phone, b. install
adb on the computer.
(a) Turn on “USB Debugging” on your phone. Its located in the system Settings, under Developer Options.
On most phones the Developer Options screen is hidden by default. To unlock it, open the phones Settings, go to About Phone and search for Build number. Tap Build Number seven times to unlock Developer options. Once unlocked, search for USB Debugging and turn it On.
(b) Ensure adb is installed. The client app will try to invoke
adb automatically to setup the DroidCam connection.
Debian-based Linux users can do:
sudo apt-get install adb
Fedora/SUSE-based Linux users can do:
sudo yum install android-tools
If you have multiple devices, you can specify which one to connect to using ANDROID_SERIAL environment variable. Use
adb devices to list available devices and serials, then
env ANDROID_SERIAL=XYZ droidcam-cli adb 4747.
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.
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.
HD Mode – Change webcam resolution
For the DroidCam v4l2loopback, you can 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 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).
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.
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).