我有一個在 Virtualbox(在 Debian 主機上)中運行的 Debian Sid 來賓,我在其中steam
從non-free
存儲庫安裝了軟體包。
當我嘗試運行時steam
,出現以下錯誤:
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
我發現了一些關於此錯誤訊息的其他帖子(例如」Steam 無法在 Ubuntu 16.04 LTS 中開啟」)...但它們都與 virtualbox 無關,而且它們沒有解決我遇到的問題的答案。我也嘗試過使用.deb
steam網站提供的文件並遇到了相同的問題。
大多數其他線上「解決方案」建議執行以下操作:
rm ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
....然後steam
像這樣運行:LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
...但這對我來說都不起作用,即使從 steam 目錄中刪除庫後,我也會遇到相同的錯誤。firmware-amd-graphics
,libgl1-mesa-dri
而其他 3D 渲染庫已在主機和來賓上安裝並正常工作,因此這不會導致問題。
我認為這個問題實際上可能與 VirtualBox 為客人使用這個虛擬顯示卡有關。當我lspci
從來賓內部運行時,這是顯示的顯示卡:
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
主機上顯示的實際顯示卡是:
Advanced Micro Devices, Inc. [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445] (rev c1)
它使用amdgpu
驅動程式。
我在網路上找不到專門解決steam
在 Debian 上運行的解決方案在 Virtualbox 中……有誰知道我需要做什麼來修復此錯誤,並使蒸汽在虛擬機器內運行?
答案1
我在這方面遇到了麻煩,這對我有用,你必須通過這樣做來準備蒸汽:
在您的終端機中輸入以下命令:
cd ~/.local/share/Steam/ubuntu12_32/
./steam
另外,運行:
steam
如果第一次凍結,只需按 ctrl+c 幾次即可使其運行,
第二次嘗試應該會起作用。
答案2
我找到了解決問題的方法。基本上,Linux 版 Steam 用戶端需要 32 位元函式庫才能運行,而 Debian 的預設安裝僅支援 64 位元架構。
為了解決這個問題,我從新的虛擬機器(沒有安裝 Steam)開始,然後執行以下命令來新增對 32 位元 (i386) 庫的支援:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install steam
現在一切正常!