Appleは1年前のWWDC 2019のセッション702において将来的にmacOSでのカーネル拡張(kext - Kernel Extensions)の廃止をアナウンスし、従来のkextからSystem Extensions及びDriverKitという新たなフレームワークへ移行することを発表している。

このため、macOS Catalinaがkextをフルサポートする最後のmacOSとなり、macOS Big SurではいくつかのKPI(Kernel Programming Interface)を用いたkextがサポートされなくなる。
参考 Apple、将来のmacOSでカーネル拡張(kext)を廃止しDriverKitへ移行するのに伴い、macOS 10.15.4 Catalinaでは非推奨のKPIがアプリで使用されるとユーザーに通知すると発表。AAPL Ch. 参考 Some Kernel Extensions Won’t Work in macOS 11 Big SurThe Mac ObserverここではmacOS Big Sur以降でサポートされなくなるkextとSystem Extensions・サードパーティーkextのリストアップ方法をまとめる。
INDEX
macOS Big Sur以降でサポートされなくなるkext

macOS Big Sur、及び将来のアップデートでサポートされなくなるkextは以下の通り。
- KAUTH
- Network Filter
- IOHIDFamily
- IOUSBFamily
- USB Networking
- USB Serial
- USB Vendor Specific IPC
Appleはこれらのkextを利用するアプリケーション・ドライバーのデベロッパーに対して推奨されるフレームワークへの移行を促している。
一部のアプリケーションでは影響が出ている
この変更は多くのエンドユーザーにとってあまり大きな問題となるものではないが、例えば先日紹介したネットワーク監視アプリ「Little Snitch」はmacOS Big Surで「Network Filter」がサポートされなくなったことで、次期バージョンではAppleが推奨する「Network Extension framework」へと移行することをアナウンスしている。

現行のLittle Snitchであれば「Network Filter」がmacOS Big Surではデフォルトではロードされなくなるため通常の方法では実行が不可能となる。
そのため、前述のkextを利用するアプリケーションはLittle Snitchのようにデベロッパーが対応しなければmacOS Big Surでは利用不可、もしくは機能に制限が加わる可能性がある。
なお、Little Snitchについては下記記事を参照して頂きたい。

現在MacにロードされているSystem Extensions及びサートパーティーkextをリストアップする

現在自分のMacにロードされているSystem Extensions及びサードパーティーのkextをリストアップするには下記コマンドを実行する。
System Extensionsをリストアップ
systemextensionsctl list

僕の環境では現在macOS内に存在するSystem Extensionsは「0」であることがわかる。
サードパーティーのkextをリストアップ
kextstat | grep -v com.apple

System Extensionsと違ってkextは長らくmacOSで採用されてきた仕組みであるため、サードパーティーのkextに限っても僕の環境では3つほどのkextが見つかった。

上記画像ではIntelのドライバー、及びSteam、前述したLittle Snitchのkextがリストアップされているが、この内少なくともLittle Snitchのkext(nke - Network Kernel Extension)は前述の通りサポート外のkextであるため、macOS Big SurではロードされなくなりLittle Snitchが通常の方法では動作しなくなる。
macOS Big Surを将来的に導入する場合、現在自分が愛用しているアプリケーションがあるのなら上記コマンドでサードパーティーのkextをリストアップし、愛用しているアプリケーションのkextがある場合は公式サイトのチェックやデベロッパーへ確認を取った方がいいだろう。
まとめ
前述の通りkextが将来的に廃止となることは1年前からアナウンスされており、影響を受けるアプリケーションはそれほど多くないと思われる。
ただ、動作しなくなると困るといったアプリケーションがある場合は念のため前述の方法でkextをチェックしよう。