処理の流れを単純化すると次のようになります。
Game (Direct3D 12)
→ Proton / Wine
→ VKD3D‑Proton
→ Vulkan ドライバー
→ GPU
この変換は通常かなりうまく機能しますが、ゲームが特殊なGPU動作や想定外のAPI利用をしている場合、翻訳層で問題が顕在化することがあります。
そしてForza Horizon 6では、まさにそれが起きている可能性があります。
VKD3D‑Protonの主要開発者であるHans‑Kristian Arntzenは、Linux互換対応の作業中にこのゲームを**「extremely broken」**と表現しました。
この発言はLinuxでの挙動を指しており、Windows版の品質を直接批判したものではありません。
報告によると、このゲームをLinuxで動かすためにはProton側にかなり強引な互換ワークアラウンドが必要になるとされています。
一部の技術分析では、例えば次のような挙動が示唆されています。
Windowsのドライバーでは許容される場合でも、Vulkanベースの翻訳層では不安定やクラッシュの原因になりやすい動きです。
Linux環境のテストでは、複数のタイプの問題が確認されています。
NVIDIA Linuxユーザーの報告では、特定の場所で再現性のあるGPUハングが発生しています。
例として、Miyazu Bay Kakurega付近から道路に出た際、最初の交差点でフリーズし、その後Vulkan device lossエラーでゲームが終了するケースが報告されています。
これはGPUドライバーが処理を停止したことを意味し、アプリ側はクラッシュするしかなくなります。
Steamコミュニティでは、Linuxユーザーから
といった報告が多数出ています。
これらは設定ミスというより、レンダリングパイプラインの不安定さが原因と考えられています。
VKD3D‑Protonのログには、画像遷移やメモリバリアに関する警告が出ているケースもあります。
これはゲームのリソース管理がVulkanの期待する状態遷移と一致していない可能性を示しています。
この種の不一致は
などのトラブルにつながります。
早期アクセス段階でプレイしたユーザーからは、次のような症状が報告されています。
Steam DeckはSteamOS(Linuxベース)でProtonを使うため、デスクトップLinuxと同じ問題の影響を受けます。
完全な解決ではありませんが、いくつかの暫定対策が共有されています。
代表的な起動オプションは次の通りです。
PROTON_VKD3D_HEAP=1 VKD3D_CONFIG=enable_experimental_features,descriptor_heap %command%
これはVKD3D‑Protonのメモリ割り当てやdescriptor heap管理の挙動を変更する設定で、一部環境ではクラッシュ頻度が減ると報告されています。
他にも次の方法が試されています。
ただしこれらは公式の修正ではなく、環境によって効果が大きく異なります。
安定性の改善には、Linuxゲームスタックの複数の要素が関係すると見られています。
主な候補は次の通りです。
実際にProtonには、Forza Horizon 6向けの互換ワークアラウンドがすでに準備されていると報じられています。
これらがProton Experimentalや将来の安定版に統合されれば、LinuxやSteam Deckでも手動設定なしで改善される可能性があります。
現段階の報告を見る限り、Forza Horizon 6を最も安定してプレイできるのはWindowsです。
LinuxやSteam Deckでも動作する可能性はありますが、現状では
などの試行錯誤が必要なケースが多い状態です。
長期的には、Proton・VKD3D‑Proton・GPUドライバーのアップデートによって、Linuxでの互換性は徐々に改善されていくと考えられています。