nickguletskii / GLXOSD

GLXOSD is an extensible on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11 which aims to provide similar functionality to MSI Afterburner/RivaTuner OSD. It can show FPS, frame timings, temperatures and more in OpenGL games and applications. It can also be used to benchmark games, much like voglperf.
https://glxosd.nickguletskii.com
MIT License
123 stars 20 forks source link

libstdc++ compatibility issues #24

Closed nickguletskii closed 8 years ago

nickguletskii commented 9 years ago

Due to the stupid ABI, GLXOSD does not work in some applications on some distributions.

The only real workaround I see is rewriting the whole project from scratch without using libstdc++.

There is no ETA.

nickguletskii commented 8 years ago

The workaround is to compile using an old compiler to link against an old libstdc++. The problem is that some applications ship old libstdc++ with them, so GLXOSD crashes because it needs a newer libstdc++.

nickguletskii commented 8 years ago

Please see the according FAQ entry.

kparal commented 8 years ago

There is a useful workaround for many games - very often they have libstdc++.so library somewhere in their game directory (usually in lib/ or similarly named subdirectory). By moving/renaming/deleting that file, the game will no longer be able to its own (old) libstdc++ library and will instead use the system one (newer). In 99% of cases, the game will run just fine without any issues, and glxosd will start working with it as well. I have just tested this myself with an affected game.

So the workaround would be:

  1. locate libstdc++.so* in the game directory, including subdirectories (if you find libgcc*.so*, you can try the same approach with it as well)
  2. move the file elsewhere or rename it (e.g. add _disabled suffix)
  3. verify that the game still starts OK
  4. try to run glxosd on the game

Could you please add this to the FAQ entry? I believe it would help quite a few people. (I wanted to send you a pull request for that FAQ, but it seems your gh-pages branch is out of date, older than what you have on your web).

nickguletskii commented 8 years ago

This issue should be fixed in GLXOSD v3.