VirtScreen
VirtScreen copied to clipboard
Lots of errors when running AppImage
Maybe a more detailed installation section is needed?
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
libGL error: MESA-LOADER: failed to open iris: /tmp/.mount_VirtScWp3UyZ/usr/share/virtscreen/env/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib64/dri/iris_dri.so) (search paths /usr/lib64/dri, suffix _dri)
libGL error: failed to load driver: iris
libGL error: MESA-LOADER: failed to open swrast: /tmp/.mount_VirtScWp3UyZ/usr/share/virtscreen/env/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib64/dri/swrast_dri.so) (search paths /usr/lib64/dri, suffix _dri)
libGL error: failed to load driver: swrast
Fedora 35
same issues on Fedora 34 for me
Does VirtScreen still run properly for you after displaying those errors?
As I understand it, partially translating this error message, this means:
libGL error: MESA-LOADER: failed to open iris: /tmp/.mount_VirtScWp3UyZ/usr/share/virtscreen/env/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/lib64/dri/iris_dri.so) (search paths /usr/lib64/dri, suffix _dri)
- the OpenGL loader program tried & failed to open a DRI "driver" named "iris" which is a shared library (contained in a file named
/usr/lib64/dri/iris_dri.so). - It failed to load the shared library because that shared library depends on a version (3.4.29) of
libstdc++.sowhich could not be found.
So, that probably means either:
- The shared library search path isn't set up correctly; or,
- The AppImage was created on a OS version more recent than your own & wasn't configured to include the correct version of the shared library within the AppImage.
Given that the driver file (/usr/lib64/dri/iris_dri.so) seems to be located on your system, not within the AppImage, but it's trying to load /tmp/.mount_VirtScWp3UyZ/usr/share/virtscreen/env/bin/../lib/libstdc++.so.6 which is on the AppImage, I think that might mean that the AppImage was created on an OS version older than yours.
I wonder if this is somewhat an AppImage packaging issue in regard to loading local drivers from within an AppImage application.
The swrast driver is a software rasterizer/renderer which can be used (slowly) instead of a GPU.
The iris driver is used to render with Intel integrated graphics: https://linuxreviews.org/Intel_Iris.
While I can't test this workaround (because I'm in the opposite situation of running on an older system that does need the libstdc++ version included in the AppImage) a LD_PRELOAD workaround was what I was thinking might help & appears to do so:
-
https://superuser.com/questions/1377555/slic3r-appimage-fails-to-run-with-libgl-error-unable-to-load-driver-radeonsi#1377556
-
via https://github.com/kiwix/kiwix-desktop/issues/393#issuecomment-924556977
Alternatively, you could possibly try extracting the contents of the AppImage & deleting the version of libstdc++ included within it (not your system version of it).
Some related discussions about the underlying OpenGL-related packaging issue:
- https://github.com/linuxdeploy/linuxdeploy/issues/152
- https://github.com/probonopd/linuxdeployqt/issues/486#issuecomment-847977925
- https://github.com/AppImage/pkg2appimage/issues/477
- https://docs.appimage.org/reference/best-practices.html?highlight=libstdc#libstdc-so-6