概要
- Apple M1登場後、Linux対応とGPUリバースエンジニアリングの挑戦
- Asahi Linuxプロジェクトの始動と主要メンバーの活躍
- OpenGL/Vulkan等のグラフィックスドライバ開発と業界標準適合
- ProtonによるWindowsゲームのLinux対応実現
- 主要目標達成後、次の挑戦への意欲
Apple M1とAsahi Linuxプロジェクトの始まり
- 2020年12月、Apple M1 がリリースされ、独自GPU搭載を受けてLinux移植とハードウェア解析開始
- Hector Martin がAsahi Linuxを立ち上げ、オープンソースコミュニティへ協力要請
- Collabora でPanfrost(Arm Mali向けMesa3Dドライバ)開発中、協力に参加
- 個人的な興味から Apple GPUのシェーダ命令セット を解析、最初の三角形描画に成功
- OpenGLドライバとシェーダコンパイラ の自作、短期間でOpenGLギア描画まで実現
ドライバ開発とコミュニティの進展
- 継続的なリバースエンジニアリングで 3Dゲーム動作 をmacOS上で達成
- Asahi Lina によるApple GPUカーネルドライバ開発
- ユーザー空間のOpenGLドライバとカーネルドライバで オープンソースグラフィックススタック が完成
- 2022年12月、Asahi Linuxでグラフィックスアクセラレーション を正式リリース
Panfrostとキャリアの転換
- 2017年、高校時代からMali Midgard GPU解析 を開始
- 2019年Collaboraインターン、その後4年間Panfrost開発に従事
- Panfrostは 個人プロジェクトからプロフェッショナルなドライバ に成長
- 新たな挑戦 としてM1向けの完全なOpenGLドライバ開発を決意
業界標準への挑戦とProton対応
- Appleのドライバは業界標準(OpenGL/Vulkan)非準拠、標準準拠ドライバ開発を目指す
- Proton(Valve/Steam Deck)によるWindowsゲームのLinux動作 をM1でも実現
- 2023年、OpenGL 3.1/ES 3.1準拠達成、Panfrostと同等の機能到達
- OpenGL (ES) 3.2以降のジオメトリシェーダ等、業界初のエミュレーション実装
- 2024年1月、OpenGL 4.6準拠達成、Vulkan 1.3も短期間でコンフォーマンス取得
最終成果と今後
- Proton対応でDirect3Dゲーム動作、OpenCL 3.0もKarol Herbstの協力で準拠
- Vulkan 1.4仕様公開と同時に準拠版リリース、Sparse Texture対応でDirect3D 12も解禁
- すべての目標(OpenGL 4.6, OpenGL ES 3.2, OpenCL 3.0, Vulkan 1.4, Proton)を達成
- Mesa本家に全ドライバが統合、性能も良好
- LunarG KosmicKrispプロジェクト がmacOS向けVulkan準拠実装を展開
- Appleエコシステムからは一旦撤退、 Asahi Linuxコミュニティにバトンタッチ
- 新たな挑戦への意欲