在 Virtualbox debian guest 中執行 steam 時出錯:“libGL 錯誤:無法載入驅動程式:swrast”

在 Virtualbox debian guest 中執行 steam 時出錯:“libGL 錯誤:無法載入驅動程式:swrast”

我有一個在 Virtualbox(在 Debian 主機上)中運行的 Debian Sid 來賓,我在其中steamnon-free存儲庫安裝了軟體包。

當我嘗試運行時steam,出現以下錯誤:

libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

我發現了一些關於此錯誤訊息的其他帖子(例如Steam 無法在 Ubuntu 16.04 LTS 中開啟)...但它們都與 virtualbox 無關,而且它們沒有解決我遇到的問題的答案。我也嘗試過使用.debsteam網站提供的文件並遇到了相同的問題。

大多數其他線上「解決方案」建議執行以下操作:

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-graphicslibgl1-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

現在一切正常!

相關內容