我有一个在 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 中... 有人知道我需要做什么来修复这个错误并让 steam 在虚拟机内运行吗?
答案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
现在一切正常!