If you’ve installed Linux on your MacBook Air, you’ve probably discovered that while most hardware works out of the box, the built-in FaceTime HD camera is notably absent from your video applications. Don’t worry—you’re not alone, and there’s a solution that doesn’t involve external USB webcams or complicated workarounds.
The issue stems from Apple’s use of Broadcom’s proprietary FaceTime HD camera hardware. Unlike most standard USB webcams that work with Linux’s UVC (USB Video Class) drivers, the MacBook Air’s camera uses a PCIe interface with the Broadcom 1570 chipset, which requires specialized drivers that aren’t included in the Linux kernel.
Identifying Your Hardware
Before diving into the solution, let’s confirm you have the same hardware. Open a terminal and run:
|
1 2 |
lspci -nn | grep Cam |
If you see output similar to this, you’re dealing with the same Broadcom camera:
|
1 2 |
02:00.0 Multimedia controller [0480]: Broadcom Inc. and subsidiaries 720p FaceTime HD Camera [14e4:1570] |
The key identifier here is [14e4:1570]—this tells us we have the Broadcom 1570 chipset that needs the reverse-engineered driver.
The Solution: Community-Developed Drivers
Thanks to the hard work of the Linux community, reverse-engineered drivers are available through the Arch User Repository (AUR). These drivers have been developed by analyzing the hardware behavior and creating open-source alternatives to Apple’s proprietary drivers.
If you’re using an Arch-based distribution (like EndeavourOS, Manjaro, or plain Arch), you can search for the available packages:
|
1 2 |
yay -Ss facetime |
This will show you several packages:
- facetimehd-dkms: The main reverse-engineered driver
- facetimehd-firmware: Required firmware files extracted from macOS
- facetimehd-data: Sensor calibration data for optimal performance
- facetimehd-dkms-git: Development version of the driver
The installation is straightforward. Install the main driver package:
|
1 2 |
yay -S facetimehd-dkms |
The package manager will automatically pull in the required dependencies, including the firmware and calibration data packages.
After installation, you must reboot your system. This isn’t just a suggestion—the kernel module needs to be loaded fresh, and the hardware needs to be properly initialized during the boot process.
|
1 2 |
sudo reboot |
Once your system boots back up, your webcam should be functional. However, there’s an important caveat to be aware of.
While the driver successfully enables the webcam, there are some compatibility quirks:
- Google Chrome/Chromium: Works perfectly
- Firefox: May not detect the camera
- Native Linux applications (like Kamoso): May have issues
This inconsistency likely stems from the different ways in which various applications interact with the video4linux (V4L2) subsystem and handle the specific quirks of this reverse-engineered driver.