Appleがここ数年の間に発売したMacBook / MacBook Proは、ハードウェアの変更によってLinuxで動作させることが困難になっていることが知られています。特にキーボードとタッチパッド(トラックパッド)がLinuxではそのままでは動作しないことが問題となっていましたが、これをサポートするためのパッチがLinuxメインラインカーネルに取り込まれようとしていることがわかりました(Phoronix)。
最新モデルのMacBook / MacBook Proのキーボードとトラックパッドは、従来のUSBベースの入力デバイスではなく、SPIコントローラとして動かす必要があります。Appleはこのプロトコルを文書化しておらずLinuxでの対応が遅れていましたが、Linux開発者コミュニティがリバースエンジニアリングによって動作を解析し、ハードウェアをサポートすることに成功した模様です。
プロトコルに不明な部分はあるとはいえ、このApple SPI Linuxドライバーは過去2年の間うまく動作しており、ドライバーが十分に成熟したと考えられることからメインラインカーネルに取り込むための作業が始まったとのこと。
Apple SPIドライバーはKEYBOARD_APPLESPI Kconfigスイッチで切り替えることが可能で、ドライバは2千行弱のコードとなっています。レビューはまだカーネルメーリングリストで進行中で、実際にLinux 5.1に取り込まれるかどうかは不明です。
すぐにLinuxでApple SPIキーボード/タッチパッドを使用したい人のために、ドライバーはこのGitHubレポジトリで公開されています。