簡化流程大概係:
Game (Direct3D 12) → Proton / Wine → VKD3D‑Proton → Vulkan Driver → GPU
如果翻譯順利,效能損失通常唔大。但一旦遊戲使用咗某啲 Vulkan 難以對應或驅動處理方式不同 嘅 GPU 行為,整個翻譯層就可能出現崩潰或者卡死。
而《Forza Horizon 6》似乎正正遇到呢種情況。
VKD3D‑Proton 核心開發者 Hans‑Kristian Arntzen 喺準備 Linux 兼容修補時形容遊戲「extremely broken」。
呢句評價係針對遊戲 經 D3D12 → Vulkan 翻譯之後嘅行為,而唔係 Windows 原生表現。
分析同討論指出,遊戲似乎存在一啲對 Windows 驅動「勉強可接受」但對 Vulkan 環境非常不友善嘅操作,例如:
Windows driver 有時會容忍呢啲情況,但翻譯層必須嚴格模擬 API 行為,一旦不一致就容易導致崩潰。
早期 Linux 測試已經出現幾類比較明顯嘅故障。
有 NVIDIA Linux 玩家報告喺某些地點可以 穩定重現 GPU 卡死。例如離開 Miyazu Bay Kakurega 之後進入第一個路口時,遊戲會直接 freeze,最後出現 Vulkan device loss。
呢種錯誤通常代表 GPU driver 停止回應,應用程式只能強制終止。
Steam 社群討論中,多個 Linux 玩家表示遊戲會喺以下情況崩潰:
呢類 crash 多半同渲染 pipeline 穩定性有關。
VKD3D‑Proton debug log 亦出現關於 資源初始化同 image barrier 嘅警告訊息。
呢類 mismatch 可能引發:
早期試玩報告顯示問題類型相當多,例如:
部分玩家表示只有改用 自訂 Proton 版本 或加特殊參數先可以勉強玩到。
由於 Steam Deck 使用 SteamOS(Linux)+ Proton,所以基本上同樣會受到影響。
Linux 玩家目前試過幾個 workaround。
最常見嘅啟動參數係:
PROTON_VKD3D_HEAP=1 VKD3D_CONFIG=enable_experimental_features,descriptor_heap %command%
呢組設定會改變 VKD3D‑Proton 管理 descriptor heap 同記憶體分配嘅方式,有機會減少 crash。
另外有玩家表示以下方法有幫助:
但呢啲都係社群測試,效果會因 GPU 同 driver 而異。
要真正解決問題,很可能需要 Linux 遊戲堆疊多個層面一齊更新:
報道指 Proton 開發者已經開始為《Forza Horizon 6》準備兼容性修補。
一旦呢啲 patch 進入 Proton Experimental 或未來穩定版,Linux 同 Steam Deck 玩家可能毋須手動 tweak 就能夠正常遊玩。
根據現有報告,Windows 仍然係《Forza Horizon 6》最穩定嘅平台。
Linux 同 Steam Deck 主要問題來自 Direct3D 12 經 VKD3D‑Proton 翻譯成 Vulkan 嘅過程,導致 GPU hang、device loss 同渲染錯誤。
對 Linux 玩家嚟講,短期內可以試自訂 Proton 或 VKD3D‑Proton 參數;但長遠解決方案仍然要等 Proton、VKD3D‑Proton 同 GPU driver 更新。