mikelindner.com

powering the Internet since 1995

| Photography | Computing | Cooking |

MacBook Pro Camera on Fedora

March 16th, 2018

The MacBook Pro 13″ (otherwise known by the codename MacbookPro12,1), has pretty good Linux support for a MacBook. The hardware is beautiful and everything works now that the camera is supported. Here are the steps needed to make it work.

The information for this article has primarily come from the FacetimeHD (Broadcom 1570) project instructions. This article focuses on Fedora, so if you want instructions for another distro, look on the project page.
First, check you have the correct hardware:

sudo dmidecode | grep -i "Product Name"

It should return “Product Name: MacBookPro12,1”. If it says anything else, don’t continue (unless you know the laptop has the “FaceTime HD” camera.

1. Install kernel development package:

dnf install kernel-devel

2. Download the driver source (safely) Note that we’re not doing this as root. It’s poor practice to git clone or build anything as root. It’s just unneccessary.

cd /usr/src
sudo mkdir bcwc_pcie
sudo chown $(whoami):$(whoami) bcwc_pcie
git clone https://github.com/patjak/bcwc_pcie.git

3. Extract the firmware

cd bcwc_pcie/firmware
make
sudo make install

4. Build the driver source

cd /usr/src/bcwc_pcie/
make

The next command might generate some errors. These can be safely ignored as long as you don’t care about secure boot or driver signing (which of course you bloody well should but serves you right for buying a mac haha). The errors are something like:

– SSL error:02001002:system library:fopen:No such file or directory: bss_file.c
– SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c

Keeping this in mind, install and initiate the drivers:

sudo make install
sudo depmod
sudo modprobe facetimehd

5. Test I like to use the application called “cheese” to test webcams:

dnf install cheese
cheese