NOTE:
Leaving this module running at all times may cause suspend/resume issues: https://github.com/patjak/facetimehd/wiki#known-issues
Consider blacklisting the module at boot and enabling it whenever you need to use the camera.
Git Clone URL: | https://aur.archlinux.org/facetimehd-dkms-git.git (read-only, click to copy) |
---|---|
Package Base: | facetimehd-dkms-git |
Description: | Reverse engineered Linux driver for the FacetimeHD (Broadcom 1570) PCIe webcam |
Upstream URL: | https://github.com/patjak/facetimehd |
Keywords: | driver facetime macbook webcam |
Licenses: | GPL2 |
Provides: | bcwc-pcie, bcwc-pcie-dkms, facetimehd-dkms |
Replaces: | bcwc-pcie, bcwc-pcie-dkms, facetimehd-dkms |
Submitter: | HTV04 |
Maintainer: | HTV04 |
Last Packager: | HTV04 |
Votes: | 32 |
Popularity: | 0.000514 |
First Submitted: | 2024-07-08 02:17 (UTC) |
Last Updated: | 2024-07-08 02:55 (UTC) |
NOTE:
Leaving this module running at all times may cause suspend/resume issues: https://github.com/patjak/facetimehd/wiki#known-issues
Consider blacklisting the module at boot and enabling it whenever you need to use the camera.
Looks like this is the cause: https://lkml.iu.edu/hypermail/linux/kernel/2312.0/06197.html
I was able to build the module
cd /var/lib/dkms/bcwc-pcie/0.6.8.r2.g2b287d4/build
sudo vi fthd_v4l2.c
Then change line 686 from
q->min_buffers_needed = 1;
to
q->min_queued_buffers = 1;
and build with
sudo KERNELRELEASE=6.8.0-zen1-1-zen make
sudo sudo mkinitcpio -P
[edited] - after building and installing properly, confirming this change fixes the problem.
Had a similar issue today after Zen updates to linux-zen-6.8.zen1-1 & linux-zen-headers-6.8.zen1-1
==> dkms install --no-depmod bcwc-pcie/0.6.8.r2.g2b287d4 -k 6.8.0-zen1-1-zen
Deprecated feature: MODULES_CONF (/usr/src/bcwc-pcie-0.6.8.r2.g2b287d4/dkms.conf)
Error! Bad return status for module build on kernel: 6.8.0-zen1-1-zen (x86_64)
Consult /var/lib/dkms/bcwc-pcie/0.6.8.r2.g2b287d4/build/make.log for more information.
Checked the log referenced, and the error is:
/var/lib/dkms/bcwc-pcie/0.6.8.r2.g2b287d4/build/fthd_v4l2.c: In function ‘fthd_v4l2_register’:
/var/lib/dkms/bcwc-pcie/0.6.8.r2.g2b287d4/build/fthd_v4l2.c:686:10: error: ‘struct vb2_queue’ has no member named ‘min_buffers_needed’
686 | q->min_buffers_needed = 1;
| ^~
Looks like the change to the #include mentioned by vloq below has already been made permanent so doesn't help here.
Had the same problem as @rahulmb.
The following seems to solve the problem:
change
#include <media/videobuf-dma-sg.h>
to
#include <media/videobuf2-dma-sg.h>
in fthd_v4l2.h file.
I'm having trouble for some reason the package isn't building against linux-zen-headers . Anyone suggest troubleshooting steps I could try?
:: Processing package changes...
(1/1) installing bcwc-pcie-git [----------------------------------------------------------------------------------------------------------] 100%
Optional dependencies for bcwc-pcie-git
linux-headers: Building with the stock kernel
linux-lts-headers: Building with the lts kernel
:: Running post-transaction hooks...
(1/3) Arming ConditionNeedsUpdate...
(2/3) Install DKMS modules
==> dkms install --no-depmod bcwc-pcie/0.5.18.r0.g75a2a58 -k 6.7.0-zen3-1-zen
Deprecated feature: MODULES_CONF (/var/lib/dkms/bcwc-pcie/0.5.18.r0.g75a2a58/source/dkms.conf)
Error! Bad return status for module build on kernel: 6.7.0-zen3-1-zen (x86_64)
Consult /var/lib/dkms/bcwc-pcie/0.5.18.r0.g75a2a58/build/make.log for more information.
==> WARNING: `dkms install --no-depmod bcwc-pcie/0.5.18.r0.g75a2a58 -k 6.7.0-zen3-1-zen' exited 10
(3/3) Generating unified EFI kernel images...
:: Rebuilding all unified kernel images
I am getting similar errors to nicoandresr, but these are occurring in the "Install DKMS modules" Pacman hook. The package builds just fine, but isn't installable.
@nicoandresr, I checked the build (makepkg
) on a system with linux 6.1.12.arch1-1 and could not reproduce your issue; it builds fine.
I am actually using this driver on a machine running the 5.10.xxx-lts Linux kernel series. That works, too (including the build, which I do locally).
I'm getting this error on Kernel 6.1+
==> ERROR: Missing 6.1.6-arch1-3 kernel modules tree for module bcwc-pcie/0.5.18.r0.g75a2a58.
I solved my issue installing and switching to linux-lts kernel:
sudo pacman -S linux-lts linux-headers-lts
I'm using systemd-boot
instead of grub
, so, I copy my boot loader entry with
sudo cp /boot/loader/entries/XXX.conf /boot/loader/entries/linux-lts.conf
XXX.conf is my only boot in that folder, so I copied it and changed it:
/vmlinuz-linux -> /vmlinuz-linux-lts
...
initrd /initramfs-linux.img -> /initramfs-linux-lts.img
I checked the list of boot entries with:
sudo bootctl list
I changed the default kernel with:
sudo bootctl set-default linux-lts.conf
reeboted my machine and I rebuild and installed this package again, my camera works after that!
thank you for making this package!!
PD. please add support for new kernel 6.1.
Thanks for making it work on 5.18
Pinned Comments
HTV04 commented on 2024-07-08 02:23 (UTC) (edited on 2024-07-08 03:43 (UTC) by HTV04)
NOTE:
Leaving this module running at all times may cause suspend/resume issues: https://github.com/patjak/facetimehd/wiki#known-issues
Consider blacklisting the module at boot and enabling it whenever you need to use the camera.