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

Investigate into the possibility of using dlmopen to completely isolate GLXOSD libraries from the host process #71

Closed nickguletskii closed 8 years ago

nickguletskii commented 8 years ago

There are currently multiple games that conflict with the libraries GLXOSD utilises. I have confirmed that the following games are currently problematic because of symbol clashes between libraries loaded by GLXOSD and libraries linked by the games:

As of today, I only know of one solution to the problem: using dlmopen instead of dlopen. However, there are multiple problems with that approach. Namely, it seems that trying to link certain symbols causes crashes. I am not sure if these problems were caused by the way I use dlmopen or if these are problems with dlmopen itself, as the information I've found on dlmopen is sparse and it requires a lot more attention.

If you are sure that GLXOSD doesn't work with an application or a game because of a symbol conflict, please do leave the name of the game and the conflicting library in the comments.

nickguletskii commented 8 years ago

I think I'll close this since static linking is sufficient at the moment. Maybe I'll reopen this some day, when an unlikely conflict will happen. That said, I'll probably avoid dlmopen because it causes some issues that I found impossible to debug.