Slic3r appImage 运行失败,出现“libGL 错误:无法加载驱动程序:radeonsi_dri.so”

Slic3r appImage 运行失败,出现“libGL 错误:无法加载驱动程序:radeonsi_dri.so”

Slic3r(以及可能依赖 OpenGL 的其他 appImage)失败,

libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

有没有办法解决或解决这个问题?

答案1

这似乎是因为捆绑的标准 c++ 库已经过时了(即使我使用的是 Ubuntu 16.04。

根据回答解决 Android Studio 的相同问题你需要预加载正确的 C++ 库

LD_PRELOAD='/usr/lib/x86_64-linux-gnu/libstdc++.so.6' /path/to/Slic3r-Slic3r-1.3.0-x86_64.AppImage

如果要将其添加到仪表板或应用程序网格,您可以创建~/.local/share/applications/Slic3r.desktop包含以下内容的

[Desktop Entry]
Type=Application
Icon=/path/to/icon/Slic3r_128px.png
Name=Slic3r
Terminal=false
Exec=sh -c "LD_PRELOAD='/usr/lib/x86_64-linux-gnu/libstdc++.so.6' /path/to/Slic3r-1.3.0-x86_64.AppImage"
Hidden=false

答案2

这是一种变通方法,而不是解决方案,除非您知道如何使其永久生效,否则您每次都必须这样做。一个例子是 quazix 的答案。但我使用 Slic3r 作为 Repetier Host 的一部分。

在用户终端输入:

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6

cd {path to Repetier appimage eg /home}

然后输入

./{Repetier appimage file}

注意:不要输入{},只需在上面两行中找到appimage所在目录的正确位置和appimage文件本身。

这为我删除了错误消息并允许我打开 Slic3r 的配置菜单 - 但是如果您关闭配置窗口它会导致 Repetier Host 崩溃。

如果你也遇到了 canberra-gtk 的问题,请尝试以下操作:

sudo apt install libcanberra-gtk-module libcanberra-gtk3-module libcanberra-gtk-module:i386

我认为这是因为 Repetier Host 需要 32 位模块。

相关内容