Steam內建方便的Proton工具,基於Wine研發,讓我們可以輕鬆啟動遊戲
但如果要調整一些設定就很不方便…若我們想要修改遊戲字體大小呢?如果要更換第三方Wine版本呢?若是有額外的字體要裝呢?若想要強制程式以指定視窗解析度執行呢?若要給遊戲打補丁呢?
以上操作在Wine環境下可以用Winetricks達成,但是Steam並沒有提供此工具。於是就有開發者寫了工具「ProtonUp-QT」和「ProtonTricks」,專門針對Steam Proton環境設計,方便我們調整遊戲的設定值。
在使用本文介紹的二款工具前,請先安裝 Linux版Steam客戶端。
0. Steam的Proton Prefix是什麼#
Linux版Steam之所以能夠執行Windows遊戲,背後乃是採用了名為Proton的轉譯技術。而Proton是基於「Wine」這款軟體研發而來的。
- 相關文章: Wine指令使用教學
根據 Steam官方文件的說明,每個Windows遊戲安裝後都會建立Proton Prefix。
Proton使用了Wine的Wine Prefix功能來建立多個Windows環境,這裡叫做Proton Prefix。Proton Prefix可以想成是給每個Windows程式都建立一個C槽 (容器),每個Proton Prefix的資料夾都是獨立的,確保exe之間不會互相干擾。並且使用者調整某個遊戲設定的時候,不會破壞其他遊戲的設定。
下圖是Proton Prefix的結構,每個資料夾的數字對應一個Steam遊戲ID,每個資料夾下面都有自己的C槽和設定檔。
預設Steam的Proton Prefix路徑位於~/.steam/steamapps/compatdata/Steam遊戲ID/pfx/
Flatpak版Steam的Proton Prefix路徑位於~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/Steam遊戲ID/pfx/
其實仔細觀察,Proton Prefix所在的路徑就是Steam遊戲收藏庫的位置。如果你有多個遊戲收藏庫,Proton Prefix的位置也會跟著變。
1. ProtonUp-QT用法#
原始碼位於 Github
這款工具能夠下載不同開發者維護的Wine,並將其套用至Steam、Lutris、Bottles的容器環境。
其中,Proton-GE是開源社群維護的Proton,開發進度較官方Proton快,內含一些修補程式,或許可以提昇遊戲性能。
- 如果Steam是用Flatpak安裝的,那麼透過 Flatpak安裝ProtonUp-QT:
flatpak --user install flathub net.davidotek.pupgui2
- 賦予ProtonUp-QT讀取Steam收藏庫目錄的權限,此處是Flatpak版
flatpak --user override --filesystem="~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps" net.davidotek.pupgui2
在應用程式列表找到ProtonUp-QT,開啟後應該會偵測到Steam的路徑
點選「新增版本」下載要使用的Proton
下載完之後,點選「顯示遊戲列表」,給個別Steam遊戲設定要使用哪個Proton版本,之後按下套用(回到Steam的界面再設定也可以)
2. Protontricks用法#
原始碼位於 Github
Protontricks功能等同Winetricks,可以給Proton容器安裝字體、調整字體大小、安裝額外exe或dll、打patch(打補丁)、修改登錄檔、啟動命令提示字元等等操作。
- 如果Steam是用Flatpak安裝的,那麼透過 Flatpak安裝:
flatpak --user install flathub com.github.Matoking.protontricks
- 賦予讀取Steam收藏庫目錄的權限。(如果你的遊戲不是裝在Steam收藏庫目錄,那麼也要另外賦予讀取權限)
flatpak --user override --filesystem="~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps" com.github.Matoking.protontricks
Protontricks圖形界面啟動後,會要你選擇Steam遊戲再操作
接下來會跳出面板
名字很明顯的我就不講了,常用的選項如下:
安裝一個Windows應用:快速安裝.Net framework、DirectX、Winamp、Winrar等軟體。
安裝字型:安裝Windows系統的字型,例如中日韓文裝cjkfonts
修改設定:調整Wine的環境,例如模擬其他Windows版本
執行Wine設定程式:也就是winecfg,在這裡可以設定字體大小(螢幕解析度DPI),勾選「桌面大小」的話則會在啟動程式前開一個虛擬桌面出來,讓程式變成在視窗執行。
遊戲打補丁通常得透過exe操作。在你下載好補丁程式後,於Linux系統檔案管理器對exe按右鍵,選擇以Protontricks Launcher開啟,再選取遊戲程式,即可將補丁安裝到那個遊戲的目錄。
Protontricks也可以用指令來操作,加快安裝軟體的速度,語法 參考Winetricks。Flatpak版執行指令的語法如下:
# 給Steam ID為15320的遊戲容器安裝cjkfonts字體
flatpak run com.github.Matoking.protontricks 15320 cjkfonts
- 或者執行protontricks-launch指令,執行任意exe
flatpak run com.github.Matoking.protontricks --command=protontricks-launch "exe路徑"
如果安裝exe的時候出現Unknown arg...
錯誤,代表Protontricks版本太舊,可能得等作者更新。