How-To:Linux 安裝 Steam

操作環境:

  • Fedora 28

 

自從 Steam 於 2012 年開始支援 Linux 後,Linux 遊戲發展便邁向了新的里程碑。不僅如此,自 2018 年 8 月起,Steam Play 整合了基於 Wine 的相容性工具 Proton,可讓玩家在 Linux 平台上安裝及執行 Windows 遊戲。

 

不過就如同於 Wine 並無法保證每一款 Windows 應用程式都能夠順利執行,Proton 的處境其實也相當類似,因此會建議玩家透過 ProtonDB 網站來查詢遊戲的可玩性。

 

本文除了說明 Steam Linux 桌面客戶端的安裝及操作方式外,還會介紹命令行客戶端 SteamCMD。它主要是作為遊戲伺服器的下載與更新工具,並且在 Proton 尚未出現前,它還是用於下載 Windows 版遊戲的其中一種可行方式。

 

1. 安裝 Steam 桌面客戶端

雖然 Steam 僅為 Ubuntu 發行版提供官方的安裝套件,不過 Fedora 的使用者仍可以從第三方套件庫(例如 RPM Fusion)取得適用的套件,使用 dnf 的安裝指令如下:

  • sudo dnf install steam
 

2. 執行 Steam 桌面客戶端

安裝完畢後,在應用程式集中會有捷徑可以直接執行,或者也可以在命令列下執行:

  • steam

 

3. 安裝 Windows 遊戲

Steam Play 的相關設定選項在選單【Steam】→【Settings】→【Steam Play】內,首先勾選【Enable Steam Play for supported titles】,這表示有經過 Valve 驗證可支援的 Windows 遊戲便能夠啟用 Proton(清單可參見 SteamPlay 2.0 Manifests)。不過玩家也可以勾選【Enable Steam Play for all other titles】,便不會有此一限制,而是所有的 Windows 遊戲都可以啟用 Proton。一旦啟用 Proton 後,Windows 遊戲便如同於 Linux 遊戲,可以透過 Steam 安裝及執行。

 

 

於【Compatibility tool】下拉式選單裡,可以指定所使用的 Proton 版本。而 Proton 版本基本上即代表著相應的 Wine 版本,舉例來說,Proton 3.16 表示是基於 Wine 3.16,其它的變更則可參見 Changelog 文件。除此之外,在個別遊戲的【Properties】選項內,倘若勾選【Force the use of a specific Steam Play compatibility tool】項目,則可以針對個別遊戲來指定 Proton 版本:

 

 

Windows 遊戲的存放位置,與 Linux 遊戲相同,都位在 ~/.steam/steam/steamapps/common 目錄下。然而如果遊戲會儲存某些檔案在所謂的 Windows 使用者目錄下,則相應的位置會在 ~/.steam/steam/steamapps/compatdata/<AppID>/pfx/drive_c/users/steamuser 目錄下。

 

Proton 相較於原始 Wine 的主要變更,是預設啟用了 esyncDXVK。倘若因故需要在執行遊戲時停用這兩項功能,則可以在遊戲的【Properties】→【Set Launch Options】裡,加入以下參數:

PROTON_NO_ESYNC=1 %command%

PROTON_USE_WINED3D=1 %command%

 

前者表示停用 esync,後者表示使用 wined3d,也就是停用 DXVK。此外,若有需要手動利用 Proton 中的 Wine 來執行某些應用程式的話,則執行方式列舉如下:

  • WINEPREFIX=/home/<使用者名稱>/.steam/steam/steamapps/compatdata/<AppID>/pfx /home/<使用者名稱>/.steam/steam/steamapps/common/Proton\ 3.16\ Beta/dist/bin/wine <執行檔名>

 

4. 安裝 SteamCMD

下列流程會將 SteamCMD 安裝於使用者家目錄下的「steamcmd」目錄:

  • wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
  • mkdir steamcmd
  • tar -zxvf steamcmd_linux.tar.gz -C steamcmd

 

5. 執行 SteamCMD

執行 steamcmd 目錄中的 steamcmd.sh:

  • ./steamcmd/steamcmd.sh

 

如此便會啟動 SteamCMD 的命令行操作介面,而下列指令依序是帳號登入、指定為 Windows 平台、下載遊戲、以及結束 SteamCMD 的操作流程:

  • Steam>login <username>
  • Steam>@sSteamCmdForcePlatformType windows
  • Steam>app_update <AppID>
  • Steam>quit

 

<username> 即是 Steam 的使用者帳號,如果同時裝有 Steam 桌面客戶端及 SteamCMD,SteamCMD 將會共用相同的登入憑證,反之則會要求輸入密碼及認證碼。至於 <AppID> 則可以從下列網站查詢:

 

如果同時裝有 Steam 桌面客戶端,SteamCMD 所下載的遊戲會存放在相同的目錄:

~/.steam/steam/steamapps/common

 

反之則會放置在:

~/Steam/steamapps/common