每当我启动 32 位程序时。 386 与 debian jessie 上的 primusrun (无论是 steam 还是任何 32 位游戏),我收到以下错误:
wv@localhost:~$ primusrun steam
Running Steam on debian 8 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1437790054)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
我安装了 bumblebee-nvidia、primus、primus-libs 和 primus-libs:i386。 Swrast 驱动程序位于 /usr/lib/i386-linux-gnu/dri/ 目录中。系统中存在 32 位和 64 位 libGL.so.1*。这里可能出了什么问题?有没有人遇到过并成功解决了类似的问题? 64 位游戏通过 steam 运行正常(使用启动选项 primusrun %command%)。仅 32 位游戏才会出现这种情况。
答案1
最后我找到了解决方案。系统中的所有多个 libGL.so.1 lib 文件都完全出了问题。因此,解决方案是以 root 身份执行以下命令:
apt-get purge bumblebee bumblebee-nvidia primus primus-libs primus-libs:i386
apt-get purge glx-diversions
apt-get purge libgl1-mesa-glx:i386
apt-get autoremove
等待一段时间,直到所有内容都被删除(这也可能会删除 Skype 和/或其他一些 32 位程序,如果它们依赖于 32 位 libgl1-mesa-glx,不用担心,很容易恢复它们。就我而言,它只有 Skype)
apt-get update
apt-get install bumblebee-nvidia primus primus-libs primus-libs:i386 libgl1-mesa-glx:i386
所有符号链接都被重新创建,所有库的版本都是正确的,并且一切都按预期工作。