VK3D-Protonは、OpenXR/OpenVRのサポートを強化し、いくつかの変更を含む新しいアップデートを受け取りました。
VK3D-Protonの最新アップデートは、Linuxゲーム体験を新たなレベルに引き上げることを目標とし、重要な変更をもたらします。
新バージョン2.13は、主にLinuxでのゲーム体験を向上させるための複数の調整を含んでいます。
ご存じない方のために説明すると、VK3D-ProtonはProton環境内のDX12専用の互換レイヤであり、サードパーティの修正なしにLinuxエコシステムでWindowsゲームをシームレスに機能させることができます。
最新のアップデートでは、Proton上でのOpenVR/OpenXRの相互運用性に加え、Shader Model 6.8の実装など、いくつかの興味深い変更が加えられた。以下は、新しいアップデートの特徴です:
- シェーダーモデル6.8のmin-specを実装する
- SV_StartInstanceLocation
- SV_StartVertexLocation
- WaveSizeの範囲
- Vulkanテクスチャリングキャッチアップ機能の実装(難解な比較サンプリング関数)
- Proton上のOpenVR / OpenXRの相互運用を実装
- VK_KHR_maintenance6でNULLインデックスバッファを正しくサポート。
- VK_MESA_image_alignment_controlを実装。特にAMDカードでのメモリの肥大化を抑える。
それとは別に、ValveのProton開発者は、Proton ReBarまたはProton Resizable BARの調整という、もう1つの興味深いパフォーマンスの変更を導入した。
このバーは、CPUが割り当てられたメモリ領域にGPUが無制限にアクセスできるように設計されており、効率とパフォーマンスを向上させます。
しかし、この新しい変更により、8GB以上のVRAMを搭載したGPUのみがこの機能にアクセスできるようになります。
開発者は、より低いメモリのGPUは “より重要なメモリがシステムメモリに降格されるリスクがある “と述べています。
以下は、新しいアップデートで強化されたパフォーマンスです(GitHub経由):
- UPLOAD heapsのReBARへのオプトイン方法を調整。8GB以上のカードにのみ適用されるようになりました。
8GBのカードでは、GPUがVRAMに保持できる量の上限に定期的にぶつかっていました、
そしてReBARを使用することは、より重要なメモリがシステムメモリに降格されるリスクがあるため、パフォーマンスにとって有害でした。
より重要なメモリがシステムメモリに降格される危険性があったためです。VK_MESA_image_alignment_controlと併用すると効果的です。
と併用することで、かなりの量の VRAM を解放することができます。8 GB の ReBAR による性能向上も、より大きな GPU に比べてわずかであることがわかりました。
512MiBという限られたバジェットをすぐに使い果たしてしまったからです。 - 小さなイメージヒープをサブアロケート。デスクトップ版Ghost of Tsushimaの激しいスタッターを回避。
(Steam Deckのコードパスはそもそも小さなヒープを使用していないようです)。 - より複雑なシェーダーコードパターンで使用する場合のROVのパフォーマンスを改善。
新しいアップデートはまた、NVIDIAのReflexテクノロジーのエクスペリエンスも改善しますが、最新のドライバが必要です。全体として、新しいバージョン2.13は堅実であり、特にハイエンドの消費者にとっては、Linuxでのゲーム体験を向上させるだろう。
解説:
VK3D-Protonがアップデート、VR関連のサポート強化
ProtonとはSteamOSに搭載されているWindows互換レイヤーでその他のLinuxディストリビューションにもインストール可能です。
SteamはWindowsの他はChromebook向けとdebパッケージで提供されています。
※ macosでも提供されていますがここでは触れません。
Linuxの場合、SteamOSがdebianベースですから、debian系とUbuntu系のディストリビューションには使えると思います。(未確認)
さて、過去の体験(トラウマ?)から一時期Protonの評価が低かったわたくしですが、基本的にほとんどゲームが実行できるようです。
特にSteamdeckの場合、非対応になっていてもやってみたら動くケースがあるようですので、ダメ元で一応やってみたほうが良いと思います。
ProtonのもとになっているWineは過去のバージョンでは動くが最新のバージョンでは動かないとかいろいろありましたので軽くトラウマになっていたのですが、現在ではそのようなことはないようです。
昔はWineで動かしたいアプリ・ゲーム毎にユーザーディレクトリに個別にディレクトリを作成してWineの本体ごとインストールするのが普通で非常に容量を圧迫していたので良くも悪くもWindowsと同じ感覚では使えなかったのですが、現在ではかなりマシになっているようです。
もともと、SteamがProtonに力を入れたのはマイクロソフトストア対策だったと思うのですが、そのおかけでLinuxのPCゲーミングはかなり前進したと思います。
こうした営利企業がLinuxアプリに一定の投資をしてくれるというのは非常に恩恵が大きく、いくらオープンソースとは言ってもプロプライエタリと上手に付き合って投資を受けるという世渡りは非常に重要かなと思います。
そういう意味ではFreeBSDのほうが親和性が高く、大学の産官学連携プロジェクトに携わっている方などは、あえてLinuxを選択せずにFreeBSDを選択している方も多いのではないかと思います。
やはり、技術は営利に転換できる形態のほうが収益化も簡単ですし、営利企業からの投資も受けやすいと思います。
人が食っていくためにはどうしてもお金が必要です。
善意での無償の労力を提供してくれる開発者は貴重ですが、マンパワーが大きいのはそのプロジェクトでメシを食っている専業・専任の開発者だと思います。
ProtonはWineのフォークでProtonの成果はWineにもフィードバックされていますので、このあたり、商用とうまく付き合っていくにはGPLはやはり邪魔なのかなと思います。
ちなみにProtonのライセンスは当然3-clause BSDでWineのライセンスはLGPLv2.1+です。
これをもってGPLを否定するつもりはありませんので念のためにお断りさせていただきます。