如何在 Wine 下通過 Steam 安裝一些遊戲?
我的大多數 Steam 庫都可以在 Wine 下正常安裝和執行。但是,一些新的遊戲(到目前為止,Borderlands 2 和 XCOM: Enemy Unknown)將無法安裝。初始下載成功完成,但在首次啟動時會出現一個進度對話框,其中包含以下文本:
Completing installation ... 1%
然後,在控制台上,接下來的大約 30 秒內會出現以下內容:
fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\userdata", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\config", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\Backups", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\bin", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\logs", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\dumps", 0xdefeb20, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\system32\\mui", 0xdefeb1c, 520), stub! fixme:volume:GetVolumePathNameW (L"C:\\windows\\Fonts", 0xdefeb1c, 520), stub! fixme:volume:GetVolumePathNameW (L"Z:\\home\\user\\games\\Windows\\Steam\\Config", 0xdefeb20, 520), stub!"
最後,會出現一個帶有文本的錯誤對話框:
The Steam servers are too busy to handle your request for [Game name]. Error Code (2)
http://support.steampowered.com
我的葡萄酒版本是 1.5.8。我嘗試使用乾淨的 WINEPREFIX 執行,並嘗試在 steamapps 目錄的遊戲目錄中手動執行 DirectX 和 VCRedist 安裝程序。誰能提供有關我如何解決此問題的見解?謝謝!
我發現“伺服器太忙”消息基本上是在任何錯誤阻止遊戲(在我的情況下為無主之地 2)啟動時拋出的。它當然與 Steam 伺服器沒有任何關係,而且非常不幸的是,它如此誤導性地掩蓋了系統的一些特定問題。
經過多次試驗和錯誤,基於 Wine AppDB 報告等的線索,我能夠通過安裝各種依賴項和東西來執行它。不幸的是,我未能正確記錄我的冒險經歷,但我做了一些你可能想嘗試的事情:
- 用winetricks或者直接用wine,安裝:vcredist vcrun2008 vcrun2010 msxml3 winhttp physx
- 使用您的本機包管理器,安裝: lib32-mpg123 gpgme libassuan
- 確保 DirectX 已安裝在 wine 環境中
wine Borderlands2.exe
通過從命令行執行來啟動遊戲(沒有符號連結!)為了獲得更好的性能,我最後還創建了一個交換文件,並調整了 wine 系統資料庫以辨識我的影片卡的所有 2GB 記憶體——它預設只定址高達 128MB 或類似的東西。
希望這可以幫助!祝你好運。
好吧,我一直在這個全職工作了將近一個星期,終於有了突破。問題:
我的許多 Steam 遊戲開始無法載入。IE: Bioshock Infinite Just Cause 2 Deadpool Borderlands: The Pre-Sequel Saints Row IV 可能還有更多我還沒有嘗試過。
他們中的大多數人都給了我標題中的錯誤。
我嘗試了以下所有方法來解決問題…
我確認我的邊緣防火牆沒有阻止流量。確認 PC 已插入牆壁。禁用 Windows 防火牆和 Windows Defender 以及我的 Malwarebytes Premium 病毒防護。關閉 Steam 覆蓋。禁用 Steam 云同步。殺死任何可能產生 OSD 內容的程序,例如 Afterburner 或 EVGA Precision XOC 中的 FPS 計數器。已驗證的記憶體文件。解除安裝並重新安裝有問題的遊戲首先,嘗試執行steam://flushconfig,重新啟動,從steam文件夾執行steam。退出 Steam 並刪除了 clientregistry.blob 並重新啟動了 Steam。從遊戲子目錄手動安裝 vcredist、dotnet 和 DirectX 安裝程序。執行 msconfig 並在診斷啟動中重新啟動並嘗試了遊戲。將 steam 移至 C:\Program Files (x86)\ 和其他驅動器上的其他文件夾。安裝了最新的 geforce 驅動程序安裝了所有最新的 Windows 更新重新執行了 Directx 11 安裝解除安裝的遊戲並將 Windows 重新啟動到帶網路的安全模式,並嘗試在安全模式下重新安裝。完全解除安裝 Steam,以及所有 Steam 遊戲。手動刪除所有與閥門/蒸汽相關的系統資料庫項。重新安裝的 Steam 和重新安裝的遊戲以管理員權限執行 Steam。為每個遊戲創建適當的 steam_appid.txt 文件。在每個遊戲的執行檔夾中創建指向 Steam 文件夾的軟連結。還有很多很多。重新安裝的遊戲以管理員權限執行 Steam。為每個遊戲創建適當的 steam_appid.txt 文件。在每個遊戲的執行檔夾中創建指向 Steam 文件夾的軟連結。還有很多很多。重新安裝的遊戲以管理員權限執行 Steam。為每個遊戲創建適當的 steam_appid.txt 文件。在每個遊戲的執行檔夾中創建指向 Steam 文件夾的軟連結。還有很多很多。
沒有任何效果。然後我偶然發現了一個頁面,其中一位名叫 Wildstar 的使用者推測該錯誤是由於 Steam CEG 複製保護系統中的一些故障而引發的,而所有失敗的遊戲都碰巧使用了該系統。它使用一些算法來創建僅在使用者帳戶下執行的加密執行檔。所以我嘗試從遊戲中刪除所有 .exe 和 .dll 文件,然後讓驗證執行恢復失去的文件,希望它能生成正確加密的二進製文件。沒用。
最後,我決定盡我所能將我的 Steam 設置恢復到盡可能預設的狀態。一旦我執行了以下程序,我的每一個有問題的遊戲都恢復了正常執行,在某些情況下,我失去的已保存遊戲突然重新出現。
在最近的安排中,我的 E: 驅動器上有我的 Steam 文件夾,因為我的啟動 SSD 上沒有足夠的空間容納我擁有的 600GB 遊戲。我的 C: 驅動器上還有一個應用程序目錄,我嘗試將一些遊戲移動到該目錄中,以查看從引導驅動器執行是否會有所幫助。所以我有一個 E:\Steam 安裝目錄和一個 C:\Steam 庫目錄,這兩個路徑都在我的 Steam 庫文件夾列表中註冊。
這些是解決 CEG 問題的步驟…
- 退出蒸汽。
- 將 SteamApps 和 UserData 文件夾從您目前的安裝移動到您目前儲存它們的同一驅動器上的某個安全目錄。移動這些文件夾將比複製它們快得多,因為它真正所做的只是更新每個文件的目錄鏈資訊而不觸及文件的實際內容。
- 使用 Geek 解除安裝程序解除安裝 Steam。標準解除安裝腳本結束後,它將刪除任何額外的 reg 條目或垃圾文件。
- 將 Steam 重新安裝到“C:\Program Files (x86)”並啟動它。你會看到你所有的遊戲都是灰色的,等待安裝。
- 隨機選擇您喜歡的任何遊戲並開始安裝過程。它會詢問您要安裝它的位置。
- 如果您打算在 C: Drive 上安裝所有 Steam 遊戲,請選擇預設安裝 D/L 位置。如果您打算將部分或全部 Steam 遊戲安裝到另一個驅動器上,請選擇該驅動器。在我的例子中,我在我的 E: 驅動器上創建了一個名為 SteamLibrary 的新文件夾,新的 SteamApps 文件夾位於其中。
- Steam 完成空間分配並開始實際下載過程後,暫停下載。
- 右鍵點擊剛開始下載的遊戲,然後選擇解除安裝。我們這樣做的唯一原因是讓 Steam 為我們的應用程序設置預設文件夾結構。
- 退出蒸汽。
- 轉到 Steam 剛剛為您下載創建的 SteamApps/Common 文件夾,並刪除您剛剛執行的解除安裝可能遺漏的所有文件或文件夾。
- 將我們之前保存的 UserData 文件夾移動到“C:\Program Files (x86)\Steam”文件夾中,覆蓋所有現有文件。
- 將我們之前保存的 SteamApps 文件夾的內容移動到我們開始第一個遊戲下載時剛剛創建的 SteamApps 文件夾中。
- 啟動蒸汽。
- 現在您的每一款遊戲都需要重新安裝,但我們設置 Steam 的方式將跳過下載任何已經存在的文件。對於之前執行良好的遊戲,您應該能夠點擊“安裝”按鈕,讓它驗證現有文件,執行其所有預安裝腳本,然後執行遊戲。
對於拋出錯誤的遊戲,我建議在每個遊戲目錄中找到起始二進製文件,然後將其刪除。刪除主遊戲 .exe 和任何啟動器類型的 .exe,然後點擊安裝。一旦發現舊的失去了,它將下載您玩遊戲所需的正確定制/加密的主要執行檔。
遵循這些步驟後,每一款給我帶來問題的遊戲都起死回生。
如果您碰巧在一個尚未將其文件放置在您指定的位置的遊戲上點擊安裝,它將開始下載它們。在那之後,將游戲目錄複製到您的預期目的地將沒有任何好處。Steam 將無法辨識新文件的外觀。它將繼續下載到臨時文件夾中,直到完成,然後複製您剛剛移動到位的文件。
如果發生這種情況,要更正此問題,您必須暫停下載並解除安裝遊戲,將完整的遊戲目錄複製到所需的文件夾中,然後再次點擊安裝。如果您看到“發現現有文件”消息,而不是下載進度條,則說明您已成功。