解決 CS:GO 在 Linux 環境下無法啓動問題

這幾天折騰好了 Fedora 的 NVIDIA 閉源驅動,雖然還是有點小問題(GNOME 登錄頁面黑屏),不過至少能用。

既然裝上了驅動那就肯定要跑些遊戲,我測試了《Left 4 Dead 2》《Portal 2》,都能在原生環境下完美運行,但唯獨《Counter-Strike:GlobalOffensive》一直無法正常運行,遊戲啓動後僅黑屏幾秒後便崩潰。

稍微翻了一下 Valve 在 GitHub 的「csgo-osx-linux」倉庫的 Issues 之後,我找到了解決方法:

由於 Valve 沒有更新 tcmalloc 庫,所以導致了遊戲無法正常運行,解決方法是從「gperftools」中拷貝一份 libtcmalloc_minimal 來替換遊戲自帶的庫。
這個方法並非是最好的,但至少有效,希望 Valve 能儘早更新修復這個惡性問題

新建一個 .sh 文件,將如下代碼複製保存並運行即可解決問題:

#!/bin/bash
#https://github.com/ValveSoftware/csgo-osx-linux/issues/2659#issuecomment-962417347
sudo dnf install -y gperftools-libs # Just in case we don't have the library yet.

sudo mkdir -p /usr/legacy/lib64
sudo ln -sf /usr/lib64/libtcmalloc_minimal.so.4.5.9 /usr/legacy/lib64/libtcmalloc_minimal.so.0
cd ~/.local/share/Steam/steamapps/common/Counter-Strike\ Global\ Offensive # Installation directory of CSGO
sed -i 's|export LD_LIBRARY_PATH="${GAMEROOT}"/bin:"${GAMEROOT}"/bin/linux64:$LD_LIBRARY_PATH|export LD_LIBRARY_PATH=/usr/legacy/lib64:"${GAMEROOT}"/bin:"${GAMEROOT}"/bin/linux64:$LD_LIBRARY_PATH|g' csgo.sh

運行成功後再次啓動遊戲便可正常運行,Enjoy!

參考:
Failure to start: game bundled tcmalloc crash with system glibc 2.33 · Issue #2659 · ValveSoftware/csgo-osx-linux

Fedora-Scripts/csgo_fix_blackscreen.sh at main · michaaels/Fedora-Scripts

# 教程  CSGO  閃退 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×