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
124 stars 20 forks source link

symbol lookup error: /usr/lib/x86_64-linux-gnu/glxosd/libglxosd-plugins-nvidia-support.so: undefined symbol: XextFindDisplay #5

Closed jonchampagne closed 8 years ago

jonchampagne commented 10 years ago

Running glxosd with the nvidia 337.25 drivers via optimus/primus. Crashes immediately. Output from all varations of primusrun/optirun is the same.

$ primusrun glxosd glxgears [GLXOSD] Loading libglxosd-plugins-libsensors-support.so [GLXOSD] Loaded libglxosd-plugins-libsensors-support.so [GLXOSD] Loading libglxosd-plugins-nvidia-support.so [GLXOSD] Loaded libglxosd-plugins-nvidia-support.so glxgears: symbol lookup error: /usr/lib/x86_64-linux-gnu/glxosd/libglxosd-plugins-nvidia-support.so: undefined symbol: XextFindDisplay

Not sure whether the program needs to be updated the newer drivers, or if it's a problem with bumblebee, but figured i'd mention it here.

jonchampagne commented 10 years ago

I should also add that I'm on linux mint 17, and completely up to date.

nickguletskii commented 10 years ago

Could you please try running

glxosd primusrun glxgears

?

I can't test Primus on my machine because I don't have Optimus.

jonchampagne commented 10 years ago

As I stated, identical output for all variations of putting primusrun/optirun before and after the glxosd command.

nickguletskii commented 10 years ago

Oh, okay, sorry.

I did some searching and it seems like I am not at fault here. I don't use XextFindDisplay in my code, My guess is that it is called from XOpenDisplay, but I haven't verified that.

Please check that libxext6 is installed. If it isn't, please install it and try again.

jonchampagne commented 10 years ago

Yup it is. Must have gotten pulled in by the packages in the ppa or something else. Just for good measure, i installed libxext6-dbg, but that doesn't seem to have made any more debug output.

nickguletskii commented 10 years ago

Thank you very much. I will add this library to the dependency list tomorrow.

jonchampagne commented 10 years ago

Alrighty. Still not working, but great response time! Wouldn't have expected to hear back for a day or two with such a small project.

nickguletskii commented 10 years ago

Hmm, what isn't working? I know that this refuses to work with some applications, but if you have any error messages, please do create an issue because I am planning to try and fix GLXOSD not working with some applications pretty soon.

jonchampagne commented 10 years ago

It's still outputting the same thing with any program i run on my nvidia card with primusrun/optirun. Same output as the first post.

nickguletskii commented 10 years ago

The last shot in the dark for tonight: try running

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libXext.so.6 glxosd primusrun glxgears

I doubt this will help, but who knows? Anyway, I will look into this issue further tomorrow.

jonchampagne commented 10 years ago

That seems to have worked! No idea why the library wasn't getting loaded, but it works now. Thanks a ton :D

nickguletskii commented 10 years ago

No problem, thanks for reporting the issue! I will try to think of a way to fix this.

nickguletskii commented 10 years ago

This seems to be an isolated issue. I can't replicate this on Mint 17. If someone else has this issue, please let me know.

minj commented 10 years ago

I confirm this issue. Running Lubuntu 14.04 amd64. Nvidia 337.25-0ubuntu1~xedgers14.04.2 Bumblebee 3.2.1 libxext6 2:1.3.2-1

Workaround confirmed.

minj commented 10 years ago

However, that's only good for glxgears. Can't run steam apps.

nickguletskii commented 8 years ago

GLXOSD v3 potentially fixes the problem. I would be very grateful if anyone could confirm one way or another.

nickguletskii commented 8 years ago

XextFindDisplay is no longer used in version 3, therefore this issue is obsolete.

Yaksinikos commented 5 years ago

XextFindDisplay is no longer used in version 3, therefore this issue is obsolete.

But it still do not work. v. glxosd 3.2.2-1

$ glxosd primusrun ./start.sh /bin/bash: symbol lookup error: /usr//lib//glxosd/libglxosd-glinject.so: undefined symbol: XLookupKeysym $ primusrun glxosd ./start.sh /bin/bash: symbol lookup error: /usr//lib//glxosd/libglxosd-glinject.so: undefined symbol: XLookupKeysym $ glxosd optirun ./start.sh optirun: symbol lookup error: /usr//lib//glxosd/libglxosd-glinject.so: undefined symbol: XLookupKeysym $ glxosd optirun ./start.sh optirun: symbol lookup error: /usr//lib//glxosd/libglxosd-glinject.so: undefined symbol: XLookupKeysym