Package Details: droidcam 1:2.1.3-2

Git Clone URL: https://aur.archlinux.org/droidcam.git (read-only, click to copy)
Package Base: droidcam
Description: A tool to turn your phone/tablet into a wireless/usb webcam
Upstream URL: https://github.com/dev47apps/droidcam-linux-client
Keywords: android ios webcam
Licenses: GPL-2.0-or-later
Submitter: marquicus
Maintainer: mhdi
Last Packager: mhdi
Votes: 138
Popularity: 2.22
First Submitted: 2011-06-29 20:31 (UTC)
Last Updated: 2024-06-14 19:38 (UTC)

Dependencies (21)

Required by (0)

Sources (3)

Pinned Comments

Latest Comments

1 2 3 4 5 6 .. 37 Next › Last »

mnyolt commented on 2024-06-12 08:59 (UTC)

The sha256sum of the release sources do not match what is in the PKGBUILD.

86d18029364d8ecd8b1a8fcae4cc37122f43683326fe49922b2ce2c8cf01e49d droidcam-linux-client-2.1.3.tar.gz

Also, the repository seems to have moved to https://github.com/dev47apps/droidcam-linux-client.

amdlike commented on 2024-04-04 21:30 (UTC)

Please add this fix to PKGBUILD

# Maintainer: CodeXYZ <jesusbalbastro@gmail.com>
# Maintainer: Mateusz Gozdek <mgozdekof@gmail.com>
# Contributor: Rein Fernhout <me@levitati.ng>
# Past Contributor: James An <james@jamesan.ca>

pkgbase=droidcam
pkgname=('droidcam' 'v4l2loopback-dc-dkms')
pkgver=2.1.3
pkgrel=1
epoch=1
pkgdesc='A tool for using your android device as a wireless/usb webcam'
arch=('x86_64')
url="https://github.com/dev47apps/${pkgbase}"
license=('GPL')
makedepends=('libappindicator-gtk3' 'gtk3' 'ffmpeg' 'libusbmuxd')

source=("${pkgbase}.desktop"
        "dkms.conf"
        "${pkgbase}.conf"
        "${pkgbase}-${pkgver}.zip::${url}/archive/refs/tags/v${pkgver}.zip"
)

sha256sums=('90dd73cf146fae0de0c11b46e97412d2aaca50ec879e1be2d793261e853dd0d3'
            '1e91f58ae83d433d32b483b14f1bb39cc245d2ace711b12c894de27dd2ea3413'
            '1d4b3ff98b4af9de77a24d1b6fad6e004deadf1f157eb800aa878ba1e7693dac'
            '3e3f48ad48bd6775d81d424d6822e810124c229069c1d11fd5283a1cbc3dff77')

prepare() {
  # Generate the module loading configuration files
  echo "options v4l2loopback_dc width=640 height=480" >| "${pkgbase}.modprobe.conf"
}

build() {
  cd ${pkgbase}-${pkgver}

  # All JPEG* parameters are needed to use shared version of libturbojpeg instead of
  # static one.
  #
  # Also libusbmuxd requires an override while linking.
  make JPEG_DIR="/usr/lib" JPEG_INCLUDE="/usr/include" JPEG_LIB="-lturbojpeg" USBMUXD=-lusbmuxd-2.0
}

package_droidcam() {
  depends=('alsa-lib' 'libjpeg-turbo' 'ffmpeg' 'v4l2loopback-dc-dkms' 'libusbmuxd')
  optdepends=('gtk3: use GUI version in addition to CLI interface' 'libappindicator-gtk3: use GUI version in addition to CLI interface')

  pushd ${pkgbase}-${pkgver}

  # Install droidcam program files
  install -Dm755 "${pkgbase}" "$pkgdir/usr/bin/${pkgbase}"
  install -Dm755 "${pkgbase}-cli" "$pkgdir/usr/bin/${pkgbase}-cli"
  install -Dm644 icon2.png "${pkgdir}/usr/share/pixmaps/${pkgbase}.png"
  install -Dm644 icon2.png "${pkgdir}/opt/droidcam-icon.png"
  install -Dm644 "${srcdir}/${pkgbase}.desktop" "${pkgdir}/usr/share/applications/${pkgbase}.desktop"
  install -Dm644 "${srcdir}/${pkgbase}.conf" "${pkgdir}/etc/modules-load.d/${pkgbase}.conf"
  install -Dm644 README.md "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
}

package_v4l2loopback-dc-dkms() {
  depends=('dkms')
  backup=("etc/modprobe.d/${pkgbase}.conf")

  _pkgname=v4l2loopback-dc
  local install_dir="${pkgdir}/usr/src/${_pkgname}-${pkgver}"

  # Copy dkms.conf
  install -Dm644 dkms.conf "${install_dir}/dkms.conf"

  # Set name and version
  sed -e "s/@_PKGNAME@/${_pkgname}/" -e "s/@PKGVER@/${pkgver}/" -i "${install_dir}/dkms.conf"

  # Install module loading configuration
  install -Dm644 "${pkgbase}.modprobe.conf" "${pkgdir}/etc/modprobe.d/${pkgbase}.conf"

  # Install module source
  cd ${pkgbase}-${pkgver}/v4l2loopback

  for d in $(find . -type d); do
    install -dm755 "${install_dir}/${d}"
  done

  for f in $(find . -type f ! -name '.gitignore'); do
    install -m644 "${f}" "${install_dir}/${f}"
  done
}

sayang2001 commented on 2024-03-27 06:45 (UTC)

The patch for supporting kernel 6.8 has been patched to upstream master. please update the PKGBUILD accordingly.

undg commented on 2024-03-22 10:05 (UTC)

Until patch for kernel 6.8 will be released by v4l2loopback team, I've switched to v4l2loopback-dkms-git (AUR). This solves problem of compilation.

lutze commented on 2024-03-20 09:19 (UTC)

Hi, i did this way

--- PKGBUILD  2024-03-20 09:03:17.703065352 +0100
+++ PKGBUILD.mine 2024-03-20 10:03:57.499083343 +0100
@@ -6,7 +6,7 @@
 pkgbase=droidcam
 pkgname=('droidcam' 'v4l2loopback-dc-dkms')
 pkgver=2.1.2
-pkgrel=1
+pkgrel=2
 epoch=1
 pkgdesc='A tool for using your android device as a wireless/usb webcam'
 arch=('x86_64')
@@ -18,16 +18,19 @@
         "dkms.conf"
         "${pkgbase}.conf"
         "${pkgbase}-${pkgver}.zip::${url}/archive/refs/tags/v${pkgver}.zip"
+        "https://github.com/dev47apps/droidcam/files/14626425/kernel-6.8.patch.txt"
 )

 sha256sums=('90dd73cf146fae0de0c11b46e97412d2aaca50ec879e1be2d793261e853dd0d3'
             '1e91f58ae83d433d32b483b14f1bb39cc245d2ace711b12c894de27dd2ea3413'
             '1d4b3ff98b4af9de77a24d1b6fad6e004deadf1f157eb800aa878ba1e7693dac'
-            'c669ccac95a91b5a673eef6dfceb785658f337e69c2fe0f7b1d34c82ad00e04b')
+            'c669ccac95a91b5a673eef6dfceb785658f337e69c2fe0f7b1d34c82ad00e04b'
+            'fda4d8bb6404ad02933b3dac1ab0d75d05f1e8decc6d954cf49d85d5d93fe18c')

 prepare() {
   # Generate the module loading configuration files
   echo "options v4l2loopback_dc width=640 height=480" >| "${pkgbase}.modprobe.conf"
+  patch -p0 -b -i kernel-6.8.patch.txt
 }

 build() {

Zeroedout commented on 2024-03-19 23:42 (UTC) (edited on 2024-03-19 23:43 (UTC) by Zeroedout)

Hi, this won't compile with kernel 6.8

Someone wrote a patch to get it going https://github.com/dev47apps/droidcam/issues/271

I did this on my local build but need to lookup how to wget the patch in the PKGBUILD.

HurricanePootis commented on 2024-02-18 02:00 (UTC)

Hey, why does this package make the devault v4l2loopback camera 480p? Most phones now a days are 1080p.

diff --git a/PKGBUILD b/PKGBUILD
index 315248e..d29bed1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -27,7 +27,7 @@ sha256sums=('90dd73cf146fae0de0c11b46e97412d2aaca50ec879e1be2d793261e853dd0d3'

 prepare() {
   # Generate the module loading configuration files
-  echo "options v4l2loopback_dc width=640 height=480" >| "${pkgbase}.modprobe.conf"
+  echo "options v4l2loopback_dc width=1920 height=1080" >| "${pkgbase}.modprobe.conf"
 }

 build() {

antena commented on 2024-01-10 00:07 (UTC) (edited on 2024-01-10 00:08 (UTC) by antena)

Here's a PKGBUILD patch for version 2.1.2:

--- PKGBUILD.200    2024-01-10 01:02:42.844933818 +0100
+++ PKGBUILD.212    2024-01-10 01:05:04.254949019 +0100
@@ -5,25 +5,25 @@

 pkgbase=droidcam
 pkgname=('droidcam' 'v4l2loopback-dc-dkms')
-pkgver=2.0.0
+pkgver=2.1.2
 pkgrel=1
 epoch=1
 pkgdesc='A tool for using your android device as a wireless/usb webcam'
 arch=('x86_64')
-url="https://github.com/aramg/${pkgbase}"
+url="https://github.com/dev47apps/${pkgbase}"
 license=('GPL')
 makedepends=('libappindicator-gtk3' 'gtk3' 'ffmpeg' 'libusbmuxd')

 source=("${pkgbase}.desktop"
         "dkms.conf"
         "${pkgbase}.conf"
-        "${pkgbase}-${pkgver}.zip::${url}/archive/v${pkgver}.zip"
+        "${pkgbase}-${pkgver}.zip::${url}/archive/refs/tags/v${pkgver}.zip"
 )

 sha256sums=('90dd73cf146fae0de0c11b46e97412d2aaca50ec879e1be2d793261e853dd0d3'
             '1e91f58ae83d433d32b483b14f1bb39cc245d2ace711b12c894de27dd2ea3413'
             '1d4b3ff98b4af9de77a24d1b6fad6e004deadf1f157eb800aa878ba1e7693dac'
-            'a81a0b31c5693f63c56cf29484639c7b827ea8ce458a367bfba1e4c850beba4e')
+            'c669ccac95a91b5a673eef6dfceb785658f337e69c2fe0f7b1d34c82ad00e04b')

 prepare() {
   # Generate the module loading configuration files
@@ -37,7 +37,7 @@
   # static one.
   #
   # Also libusbmuxd requires an override while linking.
-  make JPEG_DIR="" JPEG_INCLUDE="" JPEG_LIB="" JPEG=$(pkg-config --libs --cflags libturbojpeg) USBMUXD=-lusbmuxd-2.0
+  make JPEG_DIR="/usr/lib" JPEG_INCLUDE="/usr/include" JPEG_LIB="-lturbojpeg" USBMUXD=-lusbmuxd-2.0
 }

 package_droidcam() {

thursday_bw commented on 2023-12-17 11:23 (UTC)

Fixing DroidCam Installation on Manjaro Linux

This update provides a solution for users facing linking errors during the installation of DroidCam on Manjaro Linux.

System Context
  • Kernel Version: Linux workhorse 6.1.68-1-MANJARO #1 SMP PREEMPT_DYNAMIC Thu Dec 14 00:46:56 UTC 2023 x86_64 GNU/Linux
  • System Specifications: see bottom of comment
Issue Encountered

During the installation of DroidCam using yay (yay -Syy droidcam), the following linking errors were encountered related to the TurboJPEG library:

/usr/bin/ld: /tmp/ccYSjh0z.o: in function `decoder_prepare_video':
decoder.c:(.text+0x35f): undefined reference to `tjInitDecompress'
...
/usr/bin/ld: decoder.c:(.text+0xac3): undefined reference to `tjGetErrorStr2'
collect2: error: ld returned 1 exit status
make: *** [Makefile:61: droidcam-cli] Error 1
==> ERROR: A failure occurred in build().
Steps Taken to Resolve the Issue
  1. Cloning the Git Repository:
  2. Initially cloned the DroidCam repository from its AUR package.
  3. git clone https://aur.archlinux.org/droidcam

  4. Modifying the PKGBUILD File:

  5. Edited the PKGBUILD script to resolve the linking issue.
  6. The build() function in the script was modified from: bash make JPEG_DIR="" JPEG_INCLUDE="" JPEG_LIB="" JPEG=$(pkg-config --libs --cflags libturbojpeg) USBMUXD=-lusbmuxd-2.0 to: bash make JPEG_DIR="/usr/lib" JPEG_INCLUDE="/usr/include" JPEG_LIB="-lturbojpeg" USBMUXD=-lusbmuxd-2.0

  7. Building and Installing the Modified Package:

  8. After modifying the PKGBUILD file, the package was successfully built and installed without the previous linking errors using makepkg -is in the folder where droidcam aur was cloned.
Conclusion

This modification to the PKGBUILD file addresses the specific linking errors encountered with the TurboJPEG library during the installation of DroidCam on Manjaro Linux. Users facing similar issues can follow these steps to resolve the problem.

I do not understand myself why this explicit linking was necessary, open to suggestions.


System info:

inxi -Fxz
System:
  Kernel: 6.1.68-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    Desktop: KDE Plasma v: 5.27.10 Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: X58A-UD5 serial: <superuser required>
    BIOS: Award v: FD date: 02/01/2011
CPU:
  Info: quad core model: Intel Core i7 960 bits: 64 type: MT MCP arch: Nehalem
    rev: 5 cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB
  Speed (MHz): avg: 1603 high: 1634 min/max: 1596/3193 boost: enabled cores:
    1: 1599 2: 1599 3: 1599 4: 1634 5: 1599 6: 1599 7: 1599 8: 1599
    bogomips: 51181
  Flags: ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics:
  Device-1: NVIDIA GK106 [GeForce GTX 660] vendor: Gigabyte driver: nvidia
    v: 470.223.02 arch: Kepler bus-ID: 03:00.0
  Display: x11 server: X.Org v: 21.1.10 with: Xwayland v: 23.2.3 driver: X:
    loaded: nvidia gpu: nvidia resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: kms_swrast,nvidia,swrast platforms:
    active: gbm,x11,surfaceless,device inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 470.223.02
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce GTX 660/PCIe/SSE2
  API: Vulkan v: 1.3.269 drivers: nvidia surfaces: xcb,xlib devices: 1
Audio:
  Device-1: Intel 82801JI HD Audio vendor: Gigabyte GA-EP45-DS5/GA-EG45M-DS2H
    driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
  Device-2: NVIDIA GK106 HDMI Audio vendor: Gigabyte driver: snd_hda_intel
    v: kernel bus-ID: 03:00.1
  API: ALSA v: k6.1.68-1-MANJARO status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.0 status: active
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel port: ae00 bus-ID: 07:00.0
  IF: enp7s0 state: down mac: <filter>
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Gigabyte driver: r8169 v: kernel port: 9e00 bus-ID: 08:00.0
  IF: enp8s0 state: down mac: <filter>
  Device-3: TP-Link Archer T9UH v1 [Realtek RTL8814AU] driver: rtl8814au
    type: USB bus-ID: 9-1:2
  IF: wlp2s0u1 state: up mac: <filter>
  IF-ID-1: br-275fa1ecbe8a state: down mac: <filter>
  IF-ID-2: br-4979e87956bb state: down mac: <filter>
  IF-ID-3: br-4a6d90915cde state: down mac: <filter>
  IF-ID-4: br-b80245bb5ab5 state: down mac: <filter>
  IF-ID-5: br-be0abe5d9c19 state: down mac: <filter>
  IF-ID-6: br-cee54582c206 state: down mac: <filter>
  IF-ID-7: br-f2e2836dbec6 state: down mac: <filter>
  IF-ID-8: docker0 state: down mac: <filter>
Drives:
  Local Storage: total: 931.52 GiB used: 356.53 GiB (38.3%)
  ID-1: /dev/sda vendor: Samsung model: HD501LJ size: 465.76 GiB
  ID-2: /dev/sdb vendor: Seagate model: ST500DM002-1BD142 size: 465.76 GiB
Partition:
  ID-1: / size: 78.12 GiB used: 63.69 GiB (81.5%) fs: btrfs dev: /dev/sdb2
  ID-2: /home size: 379.63 GiB used: 292.83 GiB (77.1%) fs: btrfs
    dev: /dev/sdb3
  ID-3: /var/log size: 78.12 GiB used: 63.69 GiB (81.5%) fs: btrfs
    dev: /dev/sdb2
Swap:
  ID-1: swap-1 type: partition size: 8 GiB used: 1.8 MiB (0.0%) dev: /dev/sdb4
Sensors:
  System Temperatures: cpu: 65.0 C mobo: N/A gpu: nvidia temp: 47 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 47%
Info:
  Processes: 332 Uptime: 9h 20m Memory: total: 16 GiB available: 15.62 GiB
  used: 12.07 GiB (77.3%) Init: systemd Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: 1445 Shell: Bash v: 5.2.21 inxi: 3.3.31