Asahi LinuxでのAAAゲームプレイ
(rosenzweig.io)- Asahi Linux は、M1ハードウェアで唯一互換性のある OpenGL、OpenCL、Vulkan ドライバを提供している。今回の発表はアルファ版で、ゲーム『Control』が問題なく動作する。
- インストール方法: Fedora Asahi Remix をインストールし、最新ドライバに更新した後、Steam をインストールしてゲームを実行できる。M1/M2シリーズのシステムで動作し、ほとんどのゲームはエミュレーションのオーバーヘッドにより 16GB のメモリが必要となる。
スタック
- ゲームは通常 DirectX を使用する x86 Windows バイナリとしてレンダリングされ、目標は Arm Linux 上で Vulkan を使用すること。
- FEX は Arm 上で x86 をエミュレートする。
- Wine は Windows を Linux に変換する。
- DXVK と vkd3d-proton は DirectX を Vulkan に変換する。
- ページサイズの問題: x86 は 4K ページを前提としているが、Apple システムは 16K ページを使用する。これを解決するため、小さな仮想マシンを使ってゲームを実行する。
Vulkan
- DirectX 変換には多くの拡張を必要とする Vulkan 1.3 が必要。Honeykrisp は Apple ハードウェア向けで唯一の Vulkan 1.3 ドライバである。
- テッセレーション: M1 ハードウェアのテッセレーションには制限があるため、複雑なコンピュートシェーダを使ってテッセレーションを行う。
- ジオメトリシェーダ: M1 にはジオメトリシェーダのハードウェアがないため、コンピュートでエミュレートする。
- 強化されたロバストネス: DirectX のロバストネスを実装するために VK_EXT_robustness2 拡張を使用する。
次のステップ
- スパーステクスチャリング: Honeykrisp に追加され、さらに多くの DX12 ゲームを実行できるようになった。
- 多くのゲームはプレイ可能だが、最新の AAA タイトルはまだ 60fps に達していない。次の目標は性能改善である。
- ゲーム以外にも、一般的な x86 エミュレーションを追加する予定。
GN⁺のまとめ
- Asahi Linux は、M1 ハードウェアでゲームを実行できる唯一のドライバを提供し、Linux ゲーミングの新たな可能性を切り開いている。
- このプロジェクトはオープンソースの力を示しており、さまざまな開発者の貢献によって成り立っている。
- 性能改善とより多くのゲーム対応が期待されており、Linux でのゲーム体験を向上させる可能性がある。
- 類似の機能を持つプロジェクトとしては Proton と Wine がある。
1件のコメント
Hacker Newsのコメント
テッセレーションは The Witcher 3 のようなゲームでジオメトリを生成するために使われる。M1 チップはハードウェアテッセレーションをサポートしているが、DirectX、Vulkan、OpenGL では制限がある。代わりに複雑なコンピュートシェーダーでテッセレーションを実行しなければならない
性能面・技術面の両方から見て素晴らしい成果だ
Asahi の開発者、Valve、Apple が協力して、Windows 向けゲームを x86 と ARM ハードウェアで動かせるクロスプラットフォーム版 Proton を構築するのが夢だ
M シリーズ ARM チップの性能と電力効率を備え、Steam Deck と Proton で動くゲームライブラリというのは夢のような組み合わせだ
とてもクールだ
これは Linux から Mac に移るとゲーム体験が良くなるという意味なのか?
驚くべき仕事だ。retrowin32 に興味があるか聞いてみたい。これは変換や仮想化の段階を減らそうとする試みだ
Apple の M シリーズチップには、x86 をほぼネイティブ性能でエミュレートする特別なハードウェアがある。この機能を活用しているのか気になる
すべてがエミュレートされているのに、それでも AAA ゲームを動かせるという点で驚異的な成果だ
Linux における素晴らしい概念実証だ。Mac では Crossover、Parallels、VMWare Personal を通じて、多くの AAA ゲームがすでにプレイ可能だ
Apple コンピュータで良いゲーム体験を得るために必要な努力には衝撃を受ける。ここ数年、ゲームに対して敵対的な姿勢を取っているように見える
M3 は M1 や M2 とかなり違う点があるので、それが理由でサポートされていないのだろうかと気になる
FEX を使っているのを見たが、性能面で box86 と比較可能なのか気になる
NixOS、あるいは少なくとも Arch が Fedora 並みにサポートされることを望む