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:
root@sage:/usr/src/bcwc_pcie ★ dmidecode | grep -i "Product Name" Product Name: MacBookPro12,1 Product Name: Mac-E43C1C25D4880AD6
It should say MacbookPro12,1 above. 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. The errors are:
At main.c:158: - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175 - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:182 sign-file: certs/signing_key.pem: No such file or directory
Keeping this in mind, install and initiate the drivers:
sudo make install sudo depmod sudo modprobe facetimehd
I like to use the application called “cheese” to test webcams:
dnf install cheese cheese