CodeWeavers團隊致力於為Mac引入DirectX 12遊戲相容支援
當 Valve 攜手 CodeWeavers 團隊的部分成員以幫助構建 Proton 時,他們可能沒料到後者取得現今如此巨大的成就。 自 2016 年秘密開動以來,Steam 遊戲庫中的很大一部分,現在都可以在 Linux 平台上體驗了。 這些遊戲的一個共通點,就是未搭配旨在檢測其運行環境的 Windows 反作弊用戶端,所以也沒有成為與 DXVK / VKD3D 不完全相容的 DirectX 調用的受害者。
(來自:CodeWeavers)
Neowin指出,DXVK 是負責將 DirectX 即時轉換為 Vulcan 的軟體,而 VKD3D 也為 DirectX 12 提供了同樣的支援。
當然,CodeWeavers 對 Proton 的衍生技術並不陌生。 20 多年來,他們一直在Wine(不是一套單純的模擬器)上構建,積極為公共與私營部門供應商用解決方案。
2006 年,當蘋果轉投英特爾晶片時,CodeWeavers 的消費級產品 Crossover Office也獲得了新生,促使其將 Linux / Xorg 上的原生應用程式移植到 BSD / Aqua 環境。
現在,CodeWeavers 團隊正面臨著與 DirectX 12 實現相容的新挑戰。 儘管實驗代碼已合併到 Valve / Proton 中,以供 Linux 使用者使用。 然而 Mac 上的 VKD3D,仍面臨著諸多必須克服的技術挑戰和限制。
具體說來是,登陸 macOS 平臺的最大障礙,是蘋果家的 Metal 底層。 與 Vulkan 等跨平台技術相比,DX12 可調用百萬級的著色器資源視圖(SRV),而 Metal 的 SRV 上限僅為它的一半。
簡而言之,Metal 以不同的方式進行細分,且缺少幾何著色器與變換反饋,結果就是 DX12 / Metal 存在特定的資源限制問題。
通常遊戲需要訪問至少百萬個著色器資源檢視(SRV),訪問這麼多 SRV 需要在第 2 層級進行資源綁定。 但 Metal 的每個參數緩衝區僅支持大約 50 萬資源,因而無法做到 2 級資源綁定。
即使 Metal 的 50 萬限制對於 Vulkan 描述符索引已足夠,但這種情況並不適用於 D3D12 —— 意味著 CrossOver Mac 不支援 Tier 2 綁定,導致許多 DX12 遊戲無法運行。
好消息是,CodeWeavers 似乎有信心掃除這些障礙,並在即將推出的 CrossOver 23 中為 Mac 帶來 DX12 相容性(推向上游Proton 實驗)。
當然,如果你不強求在 M1 硬體上玩 PC 遊戲,那在 Steam Deck、SteamOS 3.0、以及廣闊的 Linux 桌面環境中玩遊戲的朋友,還是能夠更快地獲得這項體驗的。
這對於那些想要在M1 硬體上玩PC遊戲的人來說是個好消息。 對於那些計劃在 Steam Deck、Steam OS 3.0 或廣闊 Linux 桌面環境中的任何其他地方玩遊戲的人,您將能夠更快地利用這些進步,因為它們被推向上游Proton 實驗。