Install FaceTime Camera on older MacBooks

Edit: This script can pop some “Permission Denied” for several users. So, feel free to follow the steps from this post:

This will ensure that your camera is properly installed and that it follows the DKMS automatic re-compiling when you change or upgrade your Kernel.

Original message follows:

Hello everyone!
Since this has been asked several times, I created a small, custom bash script to detect your distro and automatically install your MacBook’s FaceTime HD camera, in case it does not found by your Linux installation.

The file:
mac_camera_dkms.sh (2.3 KB)

Simply download the file into your downloads folder, then open up a terminal and type:

cd ~/Downloads
sh ./mac_camera_dkms.sh

It will ask you for your sudo password to run the installation. At any additional installation, like the Development Tools (to compile the modules), simply answer Y and hit Enter/Return for it to continue.

If you encounter any errors, please post them here and I will help you through.

By the way, this script supports:

  • Arch-based distros (like Manjaro)
  • Ubuntu-based distros (and their derivatives, like Mint, Zorin, Elementary, etc.)
  • Redhat’s Fedora

In short, this script will download and install the Firmware and the Kernel module for your MacBook camera. It will also start the module on the fly.

Note: If you start a camera-capture application and it appears too slow (like Cheese), it is because the app configures the capture with a color-type that is very slow. You can try and install OBS Studio via Flatpak, with the following command:

flatpak install com.obsproject.Studio

Then, run OBS Studio and in the Source Panel, select to add the Video Capture Device (V4L2). Then, go to the video format and select an option that will allow the camera to work at full speed. Hit OK and then exit. The properties should be saved for your camera. For further info, please look at the screenshots below:


1 Like

I can use this. Thank you!

1 Like

In re: “access denied”.
Wow this has been fun going back and forth on different computers with different OS’s. I tried to do this Macbook camera scrip but it comes back with access denied running MX linux that I have root permission with.
agentsmith@mbp15:~
$ cd ~/Downloads
agentsmith@mbp15:~/Downloads
$ ./mac_camera_dkms . sh
bash: ./mac_camera_dkms: No such file or directory
agentsmith@mbp15:~/Downloads
$ ./mac_camera_dkms.sh
bash: ./mac_camera_dkms.sh: Permission denied
agentsmith@mbp15:~/Downloads
$
Not sure if I copied right or not, thanks.

1 Like

Hey @Happy1 and welcome to the forums!
I do find that interesting. By the way, in Telegram you mentioned that you performed an action as root. Did you happen to execute it, or save it while you were running as root?

I assumed that I executed it by hitting the ‘enter’ key?

I just found your ‘camera issues for macbook pro’ post and I will go through those now, thanks,

It’s a similar approach, with the difference that it may not update automatically with every kernel upgrade.

I am in the process of doing that now and I will see how it goes, thanks for your time! All’s good!

I’m having the same permissions error.
Permission error

In some scenarios (distros), it produces faults for some reason. So, I’ll break down all the commands for the DKMS installation here.

DEVELOPMENT TOOLS

First, you’ll need the tools to compile the module.
For Ubuntu/Mint/Zorin, etc. installation:

sudo apt install build-essential dkms git

For Arch/Manjaro:

sudo pacman -S base-devel dkms git

For Fedora:

sudo dnf groupinstall "Development Tools"
sudo dnf install dkms git

FIRMWARE INSTALLATION
The following works for all distros:

cd ~/Downloads
git clone https://github.com/patjak/facetimehd-firmware.git
cd ~/Downloads/facetimehd-firmware
make
sudo make install

KERNEL MODULE INSTALLATION
Likewise, this works for all distros:

cd ~/Downloads
git clone  https://github.com/patjak/bcwc_pcie.git
cd ~/Downloads/bcwc_pcie
sudo mkdir /usr/src/facetimehd-0.1
sudo cp -Rf ./* /usr/src/facetimehd-0.1
sudo dkms add -m facetimehd -v 0.1
sudo dkms build -m facetimehd -v 0.1
sudo dkms install -m facetimehd -v 0.1
sudo modprobe facetimehd

And that should do it. :slight_smile:

Hey Vasileios,
Naturally my MBP would be stubborn. Very first line. Right out of the chute.
michael@MBP:~$ sudo apt install build-essentials dkms git
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package build-essentials

Woopsie! My bad. It’s build essential without the “s” at the end.

1 Like

Welcome Happy. We can never have enough happy people!

Just now found time to try this again. Thank you Vasileios! You da man!!! working perfectly. We are so blessed to have you on the “Right”.

1 Like

That is perfect to hear and bravo, @GrillerMiller!
I’m curious as to why the script pops the “permission denied” message - as it worked nicely on my MacBook when I first tried it. In any case, the script itself, even if it does fail, does not cause any disruptions to the system at all, so anyone can move in with the rest of the commands.

1 Like