Black image with skype for linux on macbook and ubuntu

This kernel module enables the macbook webcam on linux.

On my Ubuntu 20.04 Gnome Cheese works perfectly with the webcam. Skype for linux works also but the video shows the “facetimehd” camera name with a black image.

The problem is the way Chromium (yes skype for linux relies on chromium…) handles the camera resolution, for more technical info see here:

This fork of the original kernel module solves the issue and adds a “switch” to enable correct handling of webcam resolution.

  • Install the driver
sudo apt-get install git
sudo apt-get install curl xz-utils cpio
git clone
cd facetimehd-firmware
sudo make install
cd ..
sudo apt-get install kmod libssl-dev checkinstall
git clone
cd bcwc_pcie
sudo make install
sudo depmod
sudo modprobe -r bdc_pci
sudo modprobe facetimehd

At this stage Cheese can use the camera but not Skype.

sudo nano /etc/modules

Add facetimehd on a new line and close the file

  • To enable this workaround pass the module parameter "enable_chromium_workaround" when loading the module
  • Permanent activation on Ubuntu 20.04
sudo nano /etc/modprobe.d/facetimehd.conf

Add options facetimehd enable_chromium_workaround=1 and close the file.

  • Apply the new setting
sudo rmmod facetimehd
sudo modprobe facetimehd

After this, Skype will correctly display the camera image but not cheese.
you can always revert back by setting the option enable_chromium_workaround to 0

Thanks a lot to all people who worked on this.

As a additional note, you can find latest debian packages here:



How to change Ubuntu gdm login resolution on a macbook

After installing ubuntu 19.10 on my macbook, I changed the resolution to 2560×1600 and scaling to 100%¬†instead of the default 200%.

Ubuntu supports very well the retina screen but the login screen was still at the old resolution after reboot.

To have the same resolution during the login with gdm you need to copy the monitors.xml file from your personal config to the /var/lib/gdm3/.config folder:

cd;sudo cp .config/monitors.xml /var/lib/gdm3/.config/

The content of my monitors.xml file is:

<monitors version="2">
          <product>Color LCD</product>

On next login after reboot the solution will be the same as it is during the gnome session.