HIB 游戏(Aquaria 和 Penumbra)无法找到 libGL.so.1,即使它存在

HIB 游戏(Aquaria 和 Penumbra)无法找到 libGL.so.1,即使它存在

我正在尝试玩一些 Humble Indie Bundle (HIB) 游戏,但是在玩 Aquaria 和 Penumbra: Overture 时遇到了与 libGL.so.1 文件相关的错误。

Aquaria 在启动时出现此错误:

Message: SDL_GL_LoadLibrary Error: Failed loading libGL.so.1

并且 Penumbra: Overture 在启动时出现此错误:

./penumbra.bin: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

我知道文件 libGL.so.1 确实存在(在 中/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1)。从过去类似的错误来看,我猜你需要将库符号链接到另一个目录,但我不知道是哪一个。

答案1

发生这种情况可能是因为您正在运行 64 位版本的 Ubuntu,而那些特定的 HIB 游戏仅有 32 位版本。

尝试安装 32 位版本的主要 OpenGL 库(使用多架构):

sudo apt-get install libgl1-mesa-glx:i386 libgl1-mesa-dri:i386

在 Ubuntu 11.04“Natty”之前的版本中,创建一个32 位 chroot反而。

答案2

您应该将其复制或链接到

/usr/lib/libGL.so.1

但是,请确保您的图形驱动程序安装正确,libGL.so.1 属于 mesa 驱动程序。如果您使用的是其他驱动程序(例如专有的 nvidia 或 ati 驱动程序),则应该找到此驱动程序的正确库。通常重新安装驱动程序应该会有所帮助,或者至少会显示一条有帮助的错误消息。

答案3

尽管我安装了 32 位库,但我还是遇到了同样的问题。结果发现 /etc/alternatives/i386-linux-gnu_gl_conf 仍然指向旧的 fglrx 安装,因此我不得不运行

sudo update-alternatives --set i386-linux-gnu_gl_conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf
sudo ldconfig

手动选择 mesa GL 实现。

相关内容