Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Install the kernal module required for the facetimehd camera to work on Linux
set -e
# For current kernel
export KERNELRELEASE=$(cat /proc/version | awk '{print $3}')
temp_dir=$(mktemp -d)
echo "Installing FacetimeHD camera for $KERNELRELEASE"
cd $temp_dir
git clone
git clone
cd $temp_dir/facetimehd-firmware
make install
cd $temp_dir/bcwc_pcie
make install
rm -rf $temp_dir
if [ ! -d "/etc/modules-load.d" ]; then
mkdir -p "/etc/modules-load.d"
cat > "/etc/modules-load.d/facetimehd.conf" << EOL
# Workaround for depmod being skipped above with error:
# Warning: modules_install: missing '' file. Skipping depmod
echo "Generate modules.dep and map files"
sudo depmod
echo "Adding kernel modules"
sudo modprobe -r bdc_pci
sudo modprobe facetimehd
echo "Install complete"
Copy link

hi i need help
Installing FacetimeHD camera for 5.7.11-200.fc32.x86_64
Clonando en 'facetimehd-firmware'...
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 886 (delta 0), reused 1 (delta 0), pack-reused 885
Recibiendo objetos: 100% (886/886), 290.76 KiB | 167.00 KiB/s, listo.
Resolviendo deltas: 100% (585/585), listo.
Clonando en 'bcwc_pcie'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 1101 (delta 11), reused 10 (delta 4), pack-reused 1083
Recibiendo objetos: 100% (1101/1101), 377.88 KiB | 658.00 KiB/s, listo.
Resolviendo deltas: 100% (738/738), listo.
Checking dependencies for driver download...
Downloading the driver, please wait...
Found matching hash from OS X, El Capitan 10.11.5
==> Extracting firmware...
--> Decompressing the firmware using gzip...
--> Deleting temporary files...
--> Extracted firmware version 1.43.0
Copying firmware into '//usr/lib/firmware/facetimehd'
install: no se pueden cambiar los permisos de «//usr/lib/firmware/facetimehd»: No existe el fichero o el directorio
make: *** [Makefile:46: install] Error 1

I'm not sure if you are still having the problem but I hit the same error and completed the below steps to make it work.

  1. I created a facetimehd folder in the firmware directory.
  2. I ran sudo chmod +x on the .sh file.
  3. I ran the .sh file via terminal with sudo ./
  4. I restarted my machine.

*There was still an error in the output but at the very end and everything else ran fine. I had to do the restart for the changes to take effect and it works.

Machine: Macbook Pro Retina, Early 2015, MX Linux 19.3

Hope this helps!

This has saved my life.

Copy link

xyb commented Oct 9, 2022

It works perfectly on my MacBook Pro Retina 13″, Mid 2014, MX Linux 21.2

I updated the script to install kernel modules as root user and also added the color calibration files. You might want to check it out here:

Copy link

ghoshpp commented Jan 14, 2023

on entering the bcwc-pcie directory the make command:
make -C /lib/modules/5.10.161-1-MANJARO/build M=/home/partha/Downloads/bcwc_pcie modules
returns the error:
make[1]: *** /lib/modules/5.10.161-1-MANJARO/build: No such file or directory. Stop. make: *** [Makefile:12: all] Error 2

Please help...

Copy link

ghoshpp commented Jan 14, 2023

further, when the directory /lib/modules/5.10.161-1-MANJARO/build was created and make run from bcwc_pcie directory there is a further error message:
make -C /lib/modules/5.10.161-1-MANJARO/build M=/home/partha/Downloads/bcwc_pcie modules
make[1]: Entering directory '/usr/lib/modules/5.10.161-1-MANJARO/build'
make[1]: *** No rule to make target 'modules'. Stop.
make[1]: Leaving directory '/usr/lib/modules/5.10.161-1-MANJARO/build'
make: *** [Makefile:12: all] Error 2

So there is some problem here with the files in the directory; please help....

Copy link

ukn commented Jan 16, 2023

No rule to make target 'modules'.

I don't use this setup any more but have you tried searching the web for this error?
Check if you have kernel headers installed that match the current kernel version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment