快轉到主要內容

DXVK Linux版安裝方法,改善Wine轉譯Windows遊戲的3D效能

· 民國113年甲辰年
·
切換繁體/簡體
分類 Linux系統 Linux玩遊戲
標籤 Vulkan Wine Steam
目錄

DXVK是把DirectX繪圖指令轉譯成Vulkan的程式,可以提昇部份遊戲效能。

據說開發DXVK的這位老兄Philip Rebohle,當初是為了在Linux玩《尼爾:自動人形》就自行寫出了這支程式,造福廣大玩家!

為什麼Linux會需要這個呢?過去Wine將Windows exe轉譯成Linux的繪圖指令,靠的是WineD3D技術,用OpenGL去模擬DirectX繪圖指令,藉此在Linux跑Windows遊戲。

現在有新型繪圖技術Vulkan,效能勝過OpenGL,但Wine 9.0內建的Vulkan轉譯功能不夠完整,所以要靠第三方的DXVK達到目的。

根據LinuxReviews用UNIGINE Superposition所作的測試,開DXVK後真的有差!FPS大幅提昇!

此外,DXVK還可以使用DXVK HUD檢測遊戲的GPU資訊並顯示FPS。


比較詭異的用法:DXVK沒有限定只能在Linux Wine使用,它也可以在Windows執行,達成在Windows 7老系統玩新遊戲的操作。

1. 前置依賴項目
#

請先安裝Wine

Steam Proton已內建DXVK,故遊玩Steam遊戲不需要裝DXVK,所有遊戲預設都是用Vulkan跑的,除非你在遊戲啟動選項加上PROTON_USE_WINED3D=1它才會改回OpenGL。

如果你的Wine是用Flatpak安裝的就不需要安裝DXVK了。同理,Flatpak版Steam、Lutirs、Bottles皆已內建DXVK。

2. 在Linux系統安裝Vulkan驅動
#

以Ubuntu為例,Intel/AMD顯示卡安裝以下套件:

sudo apt install libvulkan1 libvulkan-dev vulkan-utils

Nvidia需要先安裝閉源驅動,再安裝以上的Vulkan套件。

之後,用以下指令確認系統的Vulkan支援狀況:

vulkaninfo

3. 安裝DXVK
#

  1. Github Releases下載最新版zip檔,解壓縮
cd ~/Downloads

wget https://github.com/doitsujin/dxvk/releases/download/v2.4.1/dxvk-2.4.1.tar.gz

tar -xvf dxvk-2.4.1.tar.gz

cd dxvk-2.4.1
  1. 接著將DLL檔複製到Wine的安裝目錄,預設應為~/.wine
export WINEPREFIX=~/.wine

cp x64/*.dll $WINEPREFIX/drive_c/windows/system32

cp x32/*.dll $WINEPREFIX/drive_c/windows/syswow64
  1. 啟動winecfg
winecfg
  1. 到函式庫頁面,設定DLL覆寫,將d3d11、d3d10core、dxgi、d3d9調整為「內建先於原生」。

4. 如何確認DXVK安裝成功
#

DXVK_HUD用於檢測GPU和FPS。

使用環境變數DXVK_HUD執行Wine,再執行Windows 3D應用程式

DXVK_HUD=1 wine game.exe

看看遊戲左上角DXVK HUD有無跑出來,就知道DXVK是否有啟用了。

順帶一提,DXVK_HUD=1這個環境變數也可以用在Steam遊戲的啟動選項,不過我們已經有功能更強的MangoHud了。

還請注意不是所有遊戲用DXVK都能提昇效能,有的可能會崩潰。

DXVK 2.4.1目前支援轉譯DirectX 9、DirectX 10、DirectX 11的遊戲。如果需要更新版的DirectX轉譯方案請到Github找,例如Valve研發的VKD3D,支援DirectX 12。

參考資料
#

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。