Linux 7.3、M3 Pro/Max/Ultraのデバイスツリーを初めてマージへ
Apple SiliconのLinuxメインラインサポートに、M3の上位チップが加わる。
Apple SiliconのLinuxメインラインサポートに、M3の上位チップが加わる。
6000行のデバイスツリー
Apple SoCメンテナーのスヴェン・ペーター(Sven Peter)氏が現地時間8月7日、Linux 7.3のマージウィンドウに向けたGIT PULL(マージ依頼)を送信した。M3 Pro(T6030)、M3 Max(T6031/T6034)、M3 Ultra(T6032)のデバイスツリーを、初めてメインラインカーネルに取り込む。
デバイスツリーとは、SoCに搭載されているハードウェアの構成をカーネルに伝えるデータ構造だ。ARMプラットフォームでは、カーネルが各デバイスを認識する起点になる。
今回の差分は51ファイル、6018行の追加。そのほとんどがM3 Pro/Max/Ultraのデバイスツリーファイルで、CPUコア、割り込みコントローラ(AICv3)、電力管理、シリアル/GPIOコントローラなどの基本構成を記述している。前サイクルのLinux 7.2でメインラインに入ったM3無印のデバイスツリーと同等の水準だ。
GPU加速は含まれていない。ディスプレイ出力もUSB 3もThunderboltもない。起動してシリアルコンソールが出る。日常的に使える段階ではない。
M3 ProとM3 Maxが発表されたのは2023年10月。M3 Ultraを搭載するMac Studioは2025年3月に発売された。発表から約3年を経て、メインラインカーネルで「起動できる」段階に到達した。
センサーと省電力
同じGIT PULLには、もう2つの変更が入っている。
ひとつはM1/M2世代向けのHWMON(ハードウェアモニタリング)デバイスツリーだ。Apple SiliconのSMC(System Management Controller)が管理する温度、電圧、電流、電力、ファン速度のセンサーを、Linuxの標準的なHWMONインターフェースから読み取れるようにする。ドライバ自体は以前のカーネルサイクルで取り込まれており、今回はデバイスツリー上で機種ごとのセンサーを定義する作業にあたる。
もうひとつはM1/M2 Pro/Max/Ultraへのpmgr-miscノードの追加で、これらのマシンで約1Wの消費電力削減が見込まれる。対応ドライバは同サイクルのApple SoCドライバ変更タグで別途マージされる。
メインラインと下流の距離
Asahi Linuxプロジェクトの下流カーネル(linux-asahi)では、M3の対応がずっと先を行っている。機能対応状況のページによると、M3 Pro/Max搭載のMacBook Pro(14/16インチ、2023年後期)ではWiFi、Bluetooth、キーボード、トラックパッド、オーディオまで動作する。M3 Ultra搭載のMac Studio(2025年)はWiFiやNVMeを含む複数の機能が対応途上にある。
メインラインでは、そのどれもまだない。デバイスツリーのマージは最初の一歩で、各ドライバが個別にレビューとマージを経て初めて機能が使えるようになる。
なぜこれほど差があるのか。Appleはハードウェアのドキュメントを公開していない。すべてはリバースエンジニアリングで進む。
| メインライン | 下流 | |
|---|---|---|
| Linux 7.3でマージ | ||
| デバイスツリー | ○ | ○ |
| 割り込みコントローラ | ○ | ○ |
| GPIO / I2C | ○ | ○ |
| ウォッチドッグ | ○ | ○ |
| 下流(linux-asahi)のみ動作 | ||
| CPU周波数制御 | × | ○ |
| WiFi / Bluetooth | × | ○ |
| NVMe | × | ○ |
| キーボード | × | ○ |
| トラックパッド | × | ○ |
| オーディオ | × | ○ |
| 未対応 | ||
| GPU加速 | × | × |
| ディスプレイ出力 | × | × |
| Thunderbolt | × | × |
M2からM3ではGPUの設計が大きく変わっており、グラフィックスドライバの作業には特に時間がかかる。下流で動いているドライバをメインラインに持っていく作業も、カーネルコミュニティのコードレビュー基準を満たすための別の工程だ。
M3チップが世に出てから約3年。メインラインカーネルで「起動できる」ところまで来た。その間にM4の初期パッチも投稿され始めている。Asahi Linuxの歩みは止まらないが、Appleもまた先へ進む。
関連記事
- Valve開発者の旧GPU改善、Linux 7.3でカーネルに到達
- Apple自身が捨てて17年。AppleTalkがLinuxからも消える
- macOS 27ベータがAsahi Linuxを起動不能に。原因と対処法
- Linux 7.2でApple M3が起動可能に、ただし実用までは遠い
- FreeBSD、GPL完全除去の宣言を訂正。カーネルにまだ残っていた
- Linux 7.2-rc1公開。6年越しの安全対策が完了
- トーバルズが「不快」と一蹴したのは機能ではなく、ファイルの置き方だった
- USB4STREAMがLinux 7.2にマージ。ケーブル1本のPC間転送が正式機能に
- Linuxカーネルからstrncpyが消えた。6年362コミットの結末
- Linux-libre 7.1-gnu。i486が遺したもの