Apple M1/M2 GPUドライバー更新
- Apple M1およびM2 GPU向けのカーネルグラフィックスドライバーはRustで書かれており、さまざまなグラフィックス標準への適合性を達成したことで注目を集めている。
- X.Org Developers Conference (XDC) 2024で、Alyssa Rosenzweigがドライバーの状況と対応可能なゲームの種類に関するアップデートを発表した。
- Rosenzweigは2019年から、XDCで魔女の衣装を着て発表する伝統を続けている。
更新とテッセレーション
- 昨年のXDCでは、ドライバーがOpenGL ES 3.1適合を達成したと報告された。
- 現在のドライバーはOpenGL 4.6適合を達成しており、テッセレーションシェーダーについての議論が続いた。
- Apple GPUのハードウェアテッセレーターは、OpenGL、Vulkan、Direct3D標準を実装するには機能が不足しており、利用が難しい。
- ドライバーはソフトウェアでテッセレーションを実装しており、Microsoftの参照テッセレーターコードをOpenCL Cに変換して使用している。
Vulkanとゲーム
- Honeykrisp M1/M2 GPUドライバーがVulkan 1.3適合を達成した。
- DirectX、Windows、x86 CPUとの互換性のために、DXVKドライバーとWineを使用してVulkanへ変換している。
- FEX-Emuを使ってx86からArm64へ変換し、ページサイズの違いを解決するために仮想マシンを使用している。
性能とゲーム実行
- ドライバーはさまざまなゲームを実行でき、性能はハードウェアアクセラレーションに比べてやや劣るものの、実用的な水準にある。
- 高負荷なゲームには16GB以上のRAMが必要で、一部のゲームは8GBのシステムでも動作可能である。
- レイトレーシング対応は現時点では優先度が低く、M3 GPU向けの作業を始める計画だ。
GN⁺のまとめ
- Apple M1/M2 GPUドライバーはRustで書かれており、高い安定性と性能を提供する。
- ドライバーはさまざまなグラフィックス標準に適合しており、OpenCLを活用したテッセレーション実装が興味深い。
- VulkanおよびDirectX互換性により多様なゲームを実行でき、仮想マシンを使ったページサイズ問題の解決も独創的だ。
- この記事は、最新のGPUドライバー開発における課題と解決策を理解するのに有用であり、類似機能を持つプロジェクトとしてはDXVKとWineが推奨される。
1件のコメント
Hacker Newsの意見
/SubscriberLink/のリンクを共有するのが非倫理的か気になるという意見があるtessellator.clファイルはキャリアの中で最も混乱するファイルだという意見がある