This guide provides step-by-step instructions to install the FaceTimeHD driver for MacBook webcams on Linux (Debian/Ubuntu).
The process includes installing prerequisites, extracting firmware, and building/installing the driver using two methods.
Please clone this repo here and don't forget skip some step, then move to Copy Firmware
cd ~; git clone https://github.com/cobaohieu/facetimehd.git
Install the necessary software packages before proceeding.
| Package | Command |
|---|---|
| GCC 12 | sudo apt install -y gcc-12 |
| Utilities | sudo apt install -y xz-utils curl cpio make dwarves |
| Kernel Headers | sudo apt install -y linux-headers-generic git kmod libssl-dev checkinstall |
| Build Tools | sudo apt install -y debhelper dkms |
| MPlayer | sudo apt install -y mplayer |
Extract the sensor calibration files and firmware for the FaceTimeHD driver.
| Step | Command/Description |
|---|---|
| Clone Repository | Clone the driver and firmware repositories:git clone https://github.com/patjak/facetimehd.gitcd facetimehd/firmwaregit clone https://github.com/patjak/facetimehd-firmware.git . |
| Download BootCamp Package | Download from Apple Support or check Windows drivers on Apple.com. Unzip the package: cd ~/Downloads/unzip bootcamp5.1.5769.zip -d ~/Downloads/bootcamp5.1.5769/ |
| Extract Driver | Extract AppleCamera64.exe:unrar x bootcamp5.1.5769/BootCamp/Drivers/Apple/AppleCamera64.exeVerify AppleCamera.sys:ls bootcamp5.1.5769/BootCamp/Drivers/Apple/ | grep AppleCamera.sys |
| Extract Firmware Files | Extract .dat files:dd bs=1 skip=1663920 count=33060 if=AppleCamera.sys of=9112_01XX.datdd bs=1 skip=1644880 count=19040 if=AppleCamera.sys of=1771_01XX.datdd bs=1 skip=1606800 count=19040 if=AppleCamera.sys of=1871_01XX.datdd bs=1 skip=1625840 count=19040 if=AppleCamera.sys of=1874_01XX.dat |
| Copy Firmware | Copy .dat files to firmware directory:sudo scp *.dat /lib/firmware/facetimehd/ |
| Compile Firmware | Compile and install firmware (reference):cd ~/facetimehd/firmwaresudo makesudo make install |
Note: For detailed firmware extraction instructions, see Extracting the Sensor Calibration Files.
Build and install the kernel module for Debian (More detail click here).
| Step | Command/Description |
|---|---|
| Build Kernel Module | cd ~/facetimehdsudo make |
| Install with Checkinstall or Make | Generate a Debian package for easy uninstallation:sudo checkinstall Alternatively: sudo make install |
| Update Kernel Modules | depmod |
| Load Module | modprobe facetimehd |
| Verify Module | Check loaded modules:lsmod | grep facetimehd |
| Test Camera | Open camera with MPlayer:mplayer -vo gl tv:// |
| Troubleshoot | If not working, reload the module:sudo modprobe -r facetimehdsudo modprobe facetimehdIf camera quality is poor, reboot your MacBook. |
Step 1: build and install the kernel module for Ubuntu (More detail click here).
| Step | Command/Description |
|---|---|
| Compile Driver | cd ~/facetimehdsudo make |
| Install Driver | sudo make install |
| Update Kernel Modules | depmod |
| Remove bdc_pci (if exists) | sudo modprobe -remove --quiet bdc_pci |
| Load Driver | sudo modprobe facetimehd |
| Fix BTF Error | If you see Skipping BTF generation error:cd ~/facetimehdsudo cp /sys/kernel/btf/vmlinux /usr/lib/modules/`uname -r`/build/ |
| Verify Module | lsmod | grep facetimehd |
| Test Camera | mplayer -vo gl tv:// |
| Troubleshoot | If not working, reload the module:sudo modprobe -r facetimehdsudo modprobe facetimehdIf camera quality is poor, reboot your MacBook. |
| Step | Command/Description |
|---|---|
| Remove Old Package | sudo dpkg -r bcwc-pcie |
| Create Directory | sudo mkdir /usr/src/facetimehd-0.1 |
| Copy Files | cd ~/facetimehdsudo cp -r * /usr/src/facetimehd-0.1/ |
| Clean Previous Build | cd /usr/src/facetimehd-0.1/sudo rm backup-*tgz bcwc-pcie_*debsudo make clean |
| Register with DKMS | sudo dkms add -m facetimehd -v 0.1 |
| Build Module | sudo dkms build -m facetimehd -v 0.1 |
| Build Debian Packages | sudo dkms mkdsc -m facetimehd -v 0.1 --source-onlysudo dkms mkdeb -m facetimehd -v 0.1 --source-only |
| Copy Debian Package | sudo cp /var/lib/dkms/facetimehd/0.1/deb/facetimehd-dkms_0.1_all.deb /root/ |
| Clean DKMS | sudo rm -r /var/lib/dkms/facetimehd/ |
| Install Package | sudo dpkg -i /root/facetimehd-dkms_0.1_all.deb |
| Verify Module | lsmod | grep facetimehd |
| Test Camera | mplayer -vo gl tv:// |
| Troubleshoot | If not working, reload the module:sudo modprobe -r facetimehdsudo modprobe facetimehdIf camera quality is poor, reboot your MacBook. |
- Reboot: If the camera quality is poor after installation, reboot your MacBook.
- References:
- Testing: Use
mplayer -vo gl tv://to test the camera after each method.
- Patrik Jakobsson https://github.com/patjak/facetimehd