Macbook air 2015-16, camera doesn't work

Dear all, I am new to Manjaro, I installed it on my Macbook air but (because i was completely mad at apple) i completely removed Mac OS. my Mackbook is from around 2015-2016, and its camera is not working.

i got the camera working while running ubuntu based distros, but i don’t like them. Manjaro is my favorite, i love it, but it would be nice to be able to use the camera. the filmware that one can find online doesn’t work on Manjaro’s latest kernels, does anyone know if i can somehow make it work? also what if i get Mac’s original driver, can i then somehow install it?

i would appreciate any help, as Manjaro is simply amazing.

the following is the particular solution i had in mind, it works on many distros but not on Manjaro’s latest kernels.

p.s. to be more precise, this solution, which works on many distros, doesn’t work on Manjaro.

Hi @grigors04 and welcome to the Manjaro community.

There is an Arch-specific installation procedure (Manjaro is Arch-based), plus the bcwc-pcie-git and facetimehd-firmware AUR packages mentioned in the same link you posted (scroll down).

No. This is why the driver has been reverse-engineered – because the Mac driver (any native mac driver) can not be installed on any other OS.

These queries should best be made by opening an issue at the very same GitHub link; or by submitting a request at the respective AUR pages (you would need to create an account).

I hope this helps. Cheers.

Aside:- One possible workaround might be to multiboot macOS and Manjaro, in which case, you could continue to use your camera (in macOS) even if it’s not functioning in Manjaro.

okay, thank you! i will create an issue there.

just one question, is using older kernels not recommended?

i read somewhere that it cannot be installed on newer kernels because of linux headers, and there was a suggestion to manually change all the headers. does anyone happen to know what this might mean?

Newer kernels are generally recommended, although in some cases an older kernel might be used for compatibility reasons. If the system works with current kernels there’s no real reason to use an older one.

The instructions for Arch suggest that bcwc-pcie-git is all that is needed (it automatically uses the firmware package previously linked). Installation of the linux headers is presumably likewise automated.

Or, you could install everything as per the manual instructions.

The correct linux-headers versions for the installed kernel should normally be installed. If installing manually, you would also need to install the version-specific linux headers manually.

Aside:- If you would like a deeper understanding of linux headers, then [root tip] [How To] Kernel - Headers - DKMS might be of possible interest.


In addition to the above it is important to remember that using build scripts hosted on AUR often requires Manjaro Linux unstable branch.

Whatever works is fine. For old hardware the best are LongTermSupport kernels; the star of the show is 6.1LTS with 10 years support, try if you get it to work with that. As a backup 5.10LTS is supported until Dec’26.

The comments on facetimehd-firmware provide the answer here:

Updated PKGBUILD to automatically extract firmware

I’d try this package first since it doesn’t rely on dkms with its issues with newer kernels. Be aware of “Suspend / resume doesn’t work properly.”.

Hi Guys, i fixed it, thank you all very very much.

here is the solution, in case others have a similar problem.

  1. First and foremost, please read [root tip] [How To] Kernel - Headers - DKMS

  2. follow the steps there to install correct linux headers, i had to run

sudo pacman -Syu linux66-headers
  1. then run
pacman build bcwc-pcie-git

which built the package.

thank you very very much. manjaro on my macbook runs better than mac, some of the keyboard keys were dysfunctional and now they work. in general everything works, the touchpad is working just as in mac with zoom in out features, and other distros didn’t have this (at least not out of box).

i had one other common issue with the wifi driver, but this was not hard to resolve. there was some conflict between linux driver and broadcom driver and i had to remove the broadcom driver. once again thank you for this wonderful OS.

also, i don’t know if i can help maintain this os, but i am willing to learn and help the community. is there a learning path that you could suggest? also, i don’t know exactly with what i can help, but i can figure it out as i learn more. i am a mathematician with 0 experience in coding, but it will be fun to learn and be useful in some way.

1 Like

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.