Jakeuj's Notes Help

在 macOS CrossOver 的 Guild Wars 2 啟用 arcdps

在 CrossOver 安裝 arcdps 時,只有把 d3d11.dll 放到 Gw2-64.exe 旁邊通常還不夠;還要進入該 bottle 的 Wine 設定 | 函式庫 ,加入 d3d11 override,並設成 Native, then Builtin 。完成後重新啟動 Guild Wars 2,即可正常載入 arcdps。

問題症狀

依照 arcdps 官方說明下載 d3d11.dll ,並放到 Guild Wars 2 安裝目錄後,遊戲可以正常啟動,但看不到 arcdps 介面,也沒有產生 addons/arcdps/arcdps.log

檔案位置可能已經正確,真正缺少的是 CrossOver / Wine 的 DLL 載入設定。

根本原因

arcdps 官方安裝方式是把 d3d11.dll 放在 Gw2-64.exe 旁邊。這個 DLL 必須先被遊戲載入,arcdps 才能介入 Direct3D 11 的啟動流程。

CrossOver 預設會使用 Wine 內建的 DLL 實作與 bottle 選定的圖形 backend。即使遊戲目錄中已經存在 arcdps 提供的 d3d11.dll ,如果沒有 DLL override,Wine 仍可能直接使用內建的 D3D11 實作,導致 arcdps 完全沒有被載入。

d3d11 設成 Native, then Builtin ,就是要求 Wine 優先載入遊戲目錄中的 Windows 原生 DLL;若無法使用,才回退到 Wine 內建版本。

操作步驟

  1. 完全關閉 Guild Wars 2。

  2. arcdps 官方網站下載最新的 d3d11.dll

  3. 在 CrossOver 選取安裝 Guild Wars 2 的 bottle,使用 Open C: Drive 開啟虛擬 C 槽。

  4. 進入 C:\Program Files\Guild Wars 2\ ,把 d3d11.dll 放到 Gw2-64.exe 同一層。

  5. 回到 CrossOver,開啟 Control Panels | Wine Configuration

  6. 切換到 Libraries/函式庫

  7. New override for library 輸入 d3d11 ,不需要輸入 .dll 副檔名,然後按下 Add/新增

  8. 在既有 override 清單中選取 d3d11 ,按下 Edit ,確認載入順序為 Native, then Builtin

  9. 套用設定並關閉 Wine Configuration,再重新啟動 Guild Wars 2。

在 CrossOver 的 Wine 設定函式庫頁面輸入 d3d11 並按下新增

如果這個 bottle 除了 Guild Wars 2 還裝了其他程式,可以先在 Wine Configuration 的 Applications 頁面選取 Gw2-64.exe ,再建立 d3d11 override,避免設定影響 bottle 內的其他應用程式。

圖形 backend 要選 DXVK 還是 DXMT?

DLL override 才是這次能否載入 arcdps 的核心設定,圖形 backend 則屬於效能與版本相容性變數:

  • 本次使用 CrossOver 26.2,啟動紀錄顯示 Guild Wars 2 使用 DXVK;加入 d3d11 override 後,arcdps 可以正常運作。

  • Reddit 討論中的更新解法使用 DXMT 搭配 MSync,也有人在 CrossOver 24、25 使用 DXVK 成功。

  • 討論中曾有人回報 D3DMetal 無法載入 arcdps,但這不代表所有 CrossOver、GW2 與 arcdps 版本都會有相同行為。

因此建議先保留目前可以正常啟動遊戲的 backend,只新增 DLL override。如果仍無法載入,再一次只改一個變數,依序測試:

  1. DXVK。

  2. DXMT。

  3. DXMT 搭配 MSync。

CodeWeavers 對 CrossOver 26 的定義是:DXVK 將 Direct3D 10 / 11 轉為 Vulkan;DXMT 是基於 Metal 的 Direct3D 11 實作;MSync 則是 macOS 的 semaphore-based synchronization。不同 Mac、CrossOver 版本與遊戲更新可能有不同結果,應以穩定性和 frame time 實測為準。

如何確認已載入?

啟動 Guild Wars 2 後可以用以下方式確認:

  • 在角色選擇畫面按 Alt + Shift + T ;Mac 鍵盤上的 Option 通常對應 Windows 的 Alt

  • 檢查遊戲目錄是否建立 addons/arcdps/

  • 檢查 addons/arcdps/arcdps.log 是否產生並持續更新。

如果完全沒有 arcdps 視窗,也沒有 arcdps.log ,優先回頭檢查 DLL 檔名、所在目錄與 d3d11 override,而不是先調整遊戲內的 UI 選項。

常見問題

遊戲更新後突然不能用

Guild Wars 2 更新可能改動 arcdps 使用的遊戲元件。先完全關閉遊戲,再從官方網站下載新版 DLL 覆蓋舊檔。

d3d11.dll 還是無法載入

arcdps 官方允許把 DLL 改名為 dxgi.dll 。若要測試這條路徑,應把 override 一起改成 dxgi = Native, then Builtin ,不要同時保留兩份 arcdps DLL,以免重複載入或干擾判斷。

遊戲在角色選擇畫面崩潰

先移除其他 arcdps extension、chainload DLL 或會注入遊戲的 overlay,只保留官方 arcdps DLL 測試。官方也建議先修復遊戲客戶端,再用最小組合重現問題。

如何更新、重設或移除?

  • 更新 :遊戲關閉時,以最新版 d3d11.dll 覆蓋舊檔。

  • 重設設定 :遊戲關閉時,刪除遊戲目錄下的 addons/arcdps/

  • 移除 :遊戲關閉時,刪除 arcdps 的 d3d11.dll ,並移除 Wine Configuration 裡新增的 d3d11 override。

實測結論

這次遇到的問題不是 DLL 下載錯誤,也不是檔案放錯位置,而是 CrossOver 沒有優先載入遊戲目錄中的 arcdps DLL。設定 d3d11 = Native, then Builtin 後,在 CrossOver 26.2、DXVK 環境下已確認可以正常啟動與使用。

參考資料

15 July 2026