Categories
Uncategorized

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: https://github.com/patjak/bcwc_pcie/issues/123

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 https://github.com/patjak/facetimehd-firmware.git
cd facetimehd-firmware
make
sudo make install
cd ..
sudo apt-get install kmod libssl-dev checkinstall
git clone https://github.com/apunto13/bcwc_pcie.git
cd bcwc_pcie
make
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: https://repo.skype.com/deb/pool/main/s/skypeforlinux/

Resources:

https://askubuntu.com/questions/990218/camera-not-working-on-macbook-pro
https://github.com/patjak/bcwc_pcie
https://github.com/apunto13/bcwc_pcie

Leave a Reply

Your email address will not be published. Required fields are marked *