Asahi-Linuxはいつ完成するの?
2025/3/9時点のwhen-will-asahi-be-doneの翻訳
特定の機能への対応状況を知りたいならば、機能対応にApple Silicon Macに含まれる主要なハードウェアのリストと その対応レベルが掲載されています。
なぜIRCでこの質問をしてはいけないのですか?¶
IRCチャンネルでAsahi Linuxはいつ完成するのかと尋ねると、おそらく次のような返答が返ってくるでしょう。 * 『もうじき』(Soon) * 『すでに動作』(It already works) * 『まだ』(Never)
実はどれも正解で、このような正しい解答を投げつけられて引き起こされた混乱は頭痛をもたらすでしょう。
なぜどれも正しいのですか?¶
このような広いコミュニティで『完成度』(doneness)を尋ねることの問題は『完成度』の考え方が人それぞれ異なることです。 私たちにさまざまな経歴を持つ開発者、テスター、熱心なユーザーからなる大きなコミュニティがあり、全員がプロジェクトに 対して異なる期待を抱いています。
『もうじき』¶
完全な(Just WorksTM)ディストリビューションを使用しているエンドユーザーにとっては、Asahi Linuxは
お気に入りのディストリビューションのインストーラをUSBメモリから起動し、amd64マシンで行うようなインストール手順で
実行できるようになるまでは『完成』にはならないのかもしれません。また、3Dアクセラレーション、modesetting、
WiFi、Bluetooth、Thunderboltなどの機能がすべて箱から出してすぐに使えることも期待しているでしょう。
これを実現するには、関連するすべてのカーネルパッチが上流で受け入れられ、ディストリビューションの汎用カーネルに
取り込まれ、ユーザーの特定のマシンがU-Bootに対応する必要があります。この記事を書いている時点では、
これらのドライバの多くは linux-asahi
にすらコミットされていないので、このポイントはおそらくまだまだ遠いところに
あるのだと思います。このようなことを期待している人たちにとっては、Asahi Linuxはあと1年、いや2年は
『完成』していないことになりそうです。
『すでに動作』¶
次に、linux-asahi
で最先端のドライバを積極的にテストしている人のケースを考えてみましょう。このような人は、
これらのマシンで何ができるかをテストするために、一つの機能や機能のセットを熱心に待ち望んでいるかもしれません。
例えば、誰かは3Dアクセラレーションを待ち望んでいて、最初にMetalへの変換するというボトルネックなしにGPUが
どの程度特定のワークロードでうまく動くか確かめようとしているかもしれません。別の人はネットワーク接続された
ビルドマシンとしてMac Mini を使うテストしたいかもしれません。その場合、おそらくネットワークとpstatesと
cpufreq
ドライバのみが必要でしょう。このような人にとっては、必要とする特定の機能が linux-asahi
カーネル
ブランチに到達したときが『完成』を意味することとなるでしょう。それは今日かもしれないし、明日かもしれないし、
もうすぐかもしれないし、見るべきもののリストに載っていないのかもしれません。
『まだ』¶
最後に開発者の視点について考えてみます。文書化されていないプラットフォームでの開発は踏み絵のような単調な仕事です。 新しい機能を追加するたびに、関連するハードウェアをリバースエンジニアリングし、ドライバを書き、そのドライバをテストし、 上流に送る必要があります。ドライバが上流に統合されたされた後でもメンテナンスや最適化が必要な場合があります。例えば、 Appleが私たちがインターフェースを必要とするファームウェアに破壊的な変更を加えた場合です。開発者にとって 仕事が本当に終わることはありません。ただ、どの仕事を優先するか決めるために、私たちは口語的な『完成度』の ようなものを、ドライバが上流に統合するために受け入れられる品質レベルまで完成したときに使っています。
これがあなたにとって意味すること¶
Asahi Linux がいつ『完成』するかはあなた以外には決められません。ユースケースや技術力、向上心、リスク許容度は、 あなた自身によります。開発作業は進行中であるため、正式な『完成』日をお知らせすることはできません。 ですから、ご自身の判断と機能対応にある機能一覧を参考にして、Apple SiliconでLinuxを試す時期が来たか どうか判断するのが一番です。
新ハードウェアに関する注意点¶
新しいハードウェアをオンラインにするまでの時間は完全にAppleが新しいシリコンリビジョンでその特定のサブシステムに加える 変更に依存します。コア SoC のビルディング ブロックは多くの新しいマシンで変更のない間はそのまま動作(Just WorkTM) するでしょうし、他のものはまったく新しいドライバやリバース エンジニアリングによるさらなる作業を必要とするかもしれません。
Appleは絶対に必要な場合にのみハードウェアに変更を加えるので、私たちを多少楽にしています。AIC(Apple Interrupt Controller)の一連のオリジナルは初期のiPhoneから M1までずっと変わっていません。M1 ProとMaxで初めて搭載されたAIC2も、同じような、いやもっと長い寿命になると期待しています。 一般的にハードウェアの変更は最初にハードウェアを立ち上げるのにかかった時間よりも短い時間で対応することができます。
GPUやNeural Engineのような大規模なアーキテクチャーの変更には若干の時間がかかることがあります。そのため、Appleがリリースする 新しいシリコンへの対応日時やターンアラウンドタイムを保証できません。『いつ[マシン]の[機能]に対応しますか?』と いう質問に対する答えは常に『文書に対応していると記載されていたとき』になります。