How to install the MacBook camera (FaceTime HD) on TailsOS

TheĀ FaceTime HDĀ camera of MacBooks is proprietary hardware that requires a specific process to work onĀ TailsOS. Below, Iā€™ll show you how to enable it safely using a simple script and checking your kernel version beforehand to ensure compatibility.

The problem: why doesnā€™t the camera work on TailsOS?

The FaceTime HD (Broadcom 1570) camera is a proprietary hardware component that requires specific drivers to function properly. Since TailsOS is a privacy-focused operating system based on Debian, it does not include support for this type of hardware by default.

This means that after starting TailsOS, the camera wonā€™t be detected until the necessary drivers are installed.

General information about the FaceTime HD driver on Linux

The driver for theĀ FaceTime HDĀ camera is developed by the open-source community and is available on GitHub:Ā patjak/facetimehd. This driver allows PCIeĀ Broadcom 1570Ā cameras, found in recent MacBooks, to work on Linux-based systems like TailsOS.

Value 4 valueāš”ļø

If the content has been useful to you, please consider supporting me so that I can create more articles like this.

The installation process includes:

  • Downloading the necessary files.
  • Compiling the driver.
  • Installing the modules to enable the camera.

Kernel check before installation

Before running the script, itā€™s essential to check the exact version of your systemā€™s kernel to avoid package installation errors.

Open a terminal and type:

uname -r

This will show a result like:

6.1.0-28-amd64

In the installation script (which youā€™ll see below), replaceĀ linux-headers-Ā with your specific version:

If your result wasĀ 6.1.0-28-amd64, the line should be:

apt install -y make linux-headers-6.1.0-28-amd64 libssl-dev checkinstall mplayer

Alternative in case of failure
If the above command fails, try using the generic package:

apt install -y make linux-headers-generic libssl-dev checkinstall mplayer

Driver installation and script configuration

Create the persistent storage folder

Ensure that Persistent Storage is enabled. If you havenā€™t set it up, follow the official TailsOS instructions to configure it.

  • Recommended Path:Ā ~/Persistent/camera/

Save the installation script in the folder

Create a file namedĀ install-camera.shĀ and paste the following content:

#!/bin/bash

echo "Updating packages"
apt update

echo "Installing modules make linux-headers-6.1.0-28-amd64 libssl-dev checkinstall mplayer"
apt install -y make linux-headers-6.1.0-28-amd64 libssl-dev checkinstall mplayer

echo "Cloning repos facetimehd-firmware & bcwc_pcie"
cd /home/amnesia/Downloads
sudo -u amnesia git clone https://github.com/patjak/facetimehd-firmware.git
sudo -u amnesia git clone https://github.com/patjak/bcwc_pcie.git

echo "Installing facetimehd-firmware"
cd /home/amnesia/Downloads/facetimehd-firmware
sudo -u amnesia make
make install

echo "Installing bcwc_pcie"
cd /home/amnesia/Downloads/bcwc_pcie
sudo -u amnesia make
checkinstall -y
depmod
modprobe facetimehd

echo "Finished - Testing cam"
sudo -u amnesia mplayer tv://

Make the script executable

Open a terminal and type:

chmod +x ~/Persistent/camera/install-camera.sh

How to use the script after system boot

Since TailsOS resets the system on reboot, you need to run the script each time you start the system.

  1. Connect to the internet: make sure you are connected to a network before running the script, as it will download necessary packages.
  2. Run the script in the terminal:
sudo ~/Persistent/camera/install-camera.sh

Final thoughts: time to use your camera on TailsOS

While TailsOS prioritizes privacy and disables proprietary hardware by default, you can enable the MacBook FaceTime HD camera thanks to the facetimehd open-source driver. By following these steps, you can conduct video calls or conferences while keeping your system secure without sacrificing essential features.

If you have any questions or encounter issues during the installation, feel free to share your concerns in the comments. I hope this guide has been helpful! šŸ˜‰

Leave a Reply

Your email address will not be published. Required fields are marked *