FacetimeHDカメラを使う(Ubuntu 20.04 on MacBookPro 15" Late2013)
Ubuntu上でMacBookProのFacetimeHDカメラを利用するために、Patrik Jakobsson氏のツールを用います。
github.com
この記事に沿って作業を進めると、MacBookPro (15" Late2013) のFacetimeHDカメラを簡単に使えるようになりました。
手順は、氏の以下の記事"Get Started"に書かれています。
Get Started · patjak/bcwc_pcie Wiki · GitHub
ファームウェアの抽出
$ git clone https://github.com/patjak/facetimehd-firmware.git $ sudo apt install make curl cpio (もしインストールしてなければ) $ cd facetimehd-firmware/ $ make Found matching hash from OS X, El Capitan 10.11.5 ==> Extracting firmware... --> Decompressing the firmware using gzip... --> Deleting temporary files... --> Extracted firmware version 1.43.0 $ sudo make install Copying firmware into '//usr/lib/firmware/facetimehd'
インストール
以下の記事"Get Started"によれば、Ubuntuでの手順は、Debianでの手順とほぼ同じです(違いは、ファームウェアのコピー先が異なることだけです)。この記事には、Ubuntu用のスクリプトもあります。私は、スクリプトを用いずに、手動で作業を進めました。
Get Started · patjak/bcwc_pcie Wiki · GitHub
自分のシステムのカーネルのバージョンと同じバージョンのヘッダをインストールします。
$ uname -r 5.4.0-40-generic $ sudo apt install linux-headers-5.4.0-40-generic
続けて、作業を進めます。
$ sudo apt install kmod libssl-dev checkinstall (もしインストールしてなければ) $ git clone https://github.com/patjak/bcwc_pcie.git $ cd bcwc_pcie $ make $ sudo checkinstall パッケージドキュメントを聞かれたら、適当な説明 (例えば "FacetimeHD Linux Driver")を入力
新たに作ったモジュール"facetimehd"をロードする前に、モジュール"bdc_pci"を外します。モジュール"bdc_pci"は、デバイス"/dev/video0"の準備を妨げます。
$ sudo modprobe -r bdc_pci
bdc_pciをロードしないようにブラックリストに登録します。
/etc/modprobe.d/blacklist-bdc_pci.confに以下を記載します
blacklist bdc_pci
モジュール"facetimehd"をロードします。
$ sudo depmod $ sudo modprobe facetimehd
これで、FacetimeHDカメラが利用できるようになります。gnomeのアプリ"Cheese"を起動すると、緑色のランプが点灯し、撮影画像が表示されます。
Macの起動時に自動的に"facetimehd"をロードするように、/etc/modulesに以下を記載します。
facetimehd
カメラを扱うツール"v4l-utils"は、便利そうです。
$ sudo apt install v4l-utils
カメラの情報を確認できます。
$ v4l2-ctl --list-device Apple Facetime HD (PCI:0000:04:00.0): /dev/video0