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

Overlay not visible in Outlast #46

Closed ghost closed 8 years ago

ghost commented 8 years ago

Similar to XCOM in #19, GLXOSD corrupts the game's intro videos: (fixed by PR #50)

Once ingame, the overlay itself does not appear at all.

Also note GLXOSD displays on the game's splash screen, but in a corrupted form (fixed by PR #51).

glxosd_outlast

Using the latest version from the PPA on Ubuntu 14.04, 64 bit. Experienced the same issue with git/development.

(gdb) info shared
From                To                  Syms Read   Shared Object Library
0x00007f26e0d290a0  0x00007f26e0d4be36  Yes (*)     /home/scrawl/Steam/ubuntu12_64/gameoverlayrenderer.so
0x00007f26e0b1eb60  0x00007f26e0b1f9a3  Yes (*)     /usr//lib/x86_64-linux-gnu//glxosd/libglxosd-elfhacks.so
0x00007f26e0902650  0x00007f26e09147e5  Yes (*)     /usr//lib/x86_64-linux-gnu//glxosd/libglxosd-glinject.so
0x00007f26e0687c40  0x00007f26e06c7513  Yes (*)     /usr//lib/x86_64-linux-gnu//glxosd/libglxosd.so
0x00007f26e032f330  0x00007f26e03fe338  Yes         /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libSDL2-2.0.so.0
0x00007f26e0109d20  0x00007f26e01124da  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libsteam_api.so
0x00007f26dfedeaf0  0x00007f26dfefa968  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libexpat.so
0x00007f26dfcd68a0  0x00007f26dfcd8cf8  Yes         /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libogg.so.0
0x00007f26dfaa9530  0x00007f26dfac2e88  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libvorbis.so.0
0x00007f26df89fef0  0x00007f26df8a46d8  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libvorbisfile.so.3
0x00007f26df697af0  0x00007f26df69c6a8  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libSDL2_ttf.so
0x00007f26df4104a0  0x00007f26df470298  Yes         /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libfreetype.so.6
0x00007f26df1fb2f0  0x00007f26df201c68  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libSDL2_image.so
0x00007f26defe4070  0x00007f26deff0548  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libz.so.1
0x00007f26dedc99f0  0x00007f26dedd64a1  Yes         /lib/x86_64-linux-gnu/libpthread.so.0
0x00007f26deb1bac0  0x00007f26deb7ea1a  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
0x00007f26de7bf610  0x00007f26de82e1b6  Yes         /lib/x86_64-linux-gnu/libm.so.6
0x00007f26de5a6ad0  0x00007f26de5b6198  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
0x00007f26de1fe4a0  0x00007f26de343583  Yes         /lib/x86_64-linux-gnu/libc.so.6
0x00007f26ddeffaa0  0x00007f26ddf6c8b1  Yes (*)     /usr/lib/nvidia-352/libGL.so.1
0x00007f26ddca9350  0x00007f26ddcac33c  Yes         /lib/x86_64-linux-gnu/librt.so.1
---Type  to continue, or q  to quit---
0x00007f26ddaa3ed0  0x00007f26ddaa49ce  Yes         /lib/x86_64-linux-gnu/libdl.so.2
0x00007f26e0f5bae0  0x00007f26e0f764e0  Yes         /lib64/ld-linux-x86-64.so.2
0x00007f26dd786a70  0x00007f26dd80e7e8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libX11.so.6
0x00007f26dd53de50  0x00007f26dd5578f8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libfontconfig.so.1
0x00007f26dd3359a0  0x00007f26dd3374e3  Yes (*)     /usr/lib/nvidia-352/tls/libnvidia-tls.so.352.41
0x00007f26db432b30  0x00007f26dc29e927  Yes (*)     /usr/lib/nvidia-352/libnvidia-glcore.so.352.41
0x00007f26da695490  0x00007f26da69f478  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXext.so.6
0x00007f26da47c520  0x00007f26da489158  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libxcb.so.1
0x00007f26da24cb20  0x00007f26da266948  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libexpat.so.1
0x00007f26da046d90  0x00007f26da047ae8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXau.so.6
0x00007f26d9e41090  0x00007f26d9e42aa8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXdmcp.so.6
0x00007f26d83042c0  0x00007f26d8308e28  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXcursor.so.1
0x00007f26d80f9910  0x00007f26d80ff898  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXrender.so.1
0x00007f26d7ef34a0  0x00007f26d7ef60d8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXfixes.so.3
0x00007f26d7cef9f0  0x00007f26d7cf0318  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXinerama.so.1
0x00007f26d7ae10b0  0x00007f26d7aeb638  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXi.so.6
0x00007f26d78d86b0  0x00007f26d78dcf08  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXrandr.so.2
0x00007f26d76d4c00  0x00007f26d76d59d8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXss.so.1
0x00007f26d74cfe50  0x00007f26d74d2708  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
0x00007f26d72918d0  0x00007f26d72bac28  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
0x00007f26d6b19970  0x00007f26d6b4160a  Yes (*)     /usr//lib/x86_64-linux-gnu//glxosd/libglxosd-plugins-libsensors-support.so
0x00007f26d68a1460  0x00007f26d68a7694  Yes (*)     /usr/lib/x86_64-linux-gnu/libsensors.so.4
---Type  to continue, or q  to quit---
0x00007f26d669c430  0x00007f26d669d638  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libpulse-simple.so.0
0x00007f26d645df30  0x00007f26d6489268  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libpulse.so.0
0x00007f26d6203f10  0x00007f26d62392d8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libpulsecommon-1.1.so
0x00007f26d5feee60  0x00007f26d5ff26e8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libjson.so.0
0x00007f26d5de6c30  0x00007f26d5dea7d8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libwrap.so.0
0x00007f26d5b84090  0x00007f26d5bc58d8  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libsndfile.so.1
0x00007f26d5979270  0x00007f26d597b778  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libasyncns.so.0
0x00007f26d5762160  0x00007f26d576eea3  Yes         /lib/x86_64-linux-gnu/libnsl.so.1
0x00007f26d551e4a0  0x00007f26d5554648  Yes (*)     /home/scrawl/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libFLAC.so.8
0x00007f26d527ea10  0x00007f26d52825c8  Yes (*)     /home/scrawl/Steam/SteamApps/common/Outlast/Binaries/Linux/lib/x86_64-pc-linux-gnu/libvorbisenc.so.2
0x00007f26d5053ad0  0x00007f26d5062e79  Yes         /lib/x86_64-linux-gnu/libresolv.so.2
0x00007f26d4e42010  0x00007f26d4e4a750  Yes (*)     /lib/x86_64-linux-gnu/libudev.so.1
0x00007f26d4c27610  0x00007f26d4c396ec  Yes (*)     /lib/x86_64-linux-gnu/libcgmanager.so.0
0x00007f26d4a10760  0x00007f26d4a1d12a  Yes (*)     /lib/x86_64-linux-gnu/libnih.so.1
0x00007f26d4804ce0  0x00007f26d48084c6  Yes (*)     /lib/x86_64-linux-gnu/libnih-dbus.so.1
0x00007f26d3638ec0  0x00007f26d40ecce2  Yes (*)     /home/scrawl/Steam/linux64/steamclient.so
0x00007f26d29200a0  0x00007f26d2945dee  Yes (*)     /home/scrawl/Steam/linux64/crashhandler.so
(*): Shared library is missing debugging information.
ghost commented 8 years ago

Could this be a multiple OpenGL context issue? Both affected games show a (apparently using OpenGL) launcher window before starting the real game. I suspect the launcher and game window use a different OpenGL context. GLXOSD doesn't appear to separate its created OpenGL objects (textures, shaders) by context.

ghost commented 8 years ago

GLXOSD doesn't appear to separate its created OpenGL objects (textures, shaders) by context.

Once again, I didn't read the code fully. GLXOSD actually does separate textures and shaders by context, using an OSDInstance.

ghost commented 8 years ago

Once ingame, the overlay itself does not appear at all.

"Fixed" by PR #52. I have no idea why that fixes it though. I guess the multiple OSDInstances are interfering with each other in some way. We should leave this issue open (or open a new one?) since there must be an underlying issue still.

nickguletskii commented 8 years ago

Yes, I will investigate once I finish the work I've started on the font atlas.

nickguletskii commented 8 years ago

I do not have Outlast myself, so I can't replicate this issue. While GLXOSD v3 no longer skips the first frame, it has better graphics state normalisation and this issue might have been fixed. I would be very grateful if someone could confirm that the issue is back/fixed permanently.

ghost commented 8 years ago

Sorry for the delay, I'll have to redownload the game to test, will get back to you next week.

ghost commented 8 years ago

Looks like everything works rendering-wise. But I do see a new bug with glxosd v3: I need to press shift+f9 several times to toggle the overlay (exact amount of keypresses needed seems to be random). I have this issue in all games tested so far.

nickguletskii commented 8 years ago

Could you please create a new issue with a little bit more detail? It would be helpful if I were able to reproduce the issue, because for everything I've tested on two machines it works fine. I have some fixes in mind, it just would be helpful to test them before releasing them.

ghost commented 8 years ago

Could you please create a new issue with a little bit more detail? It would be helpful if I were able to reproduce the issue, because for everything I've tested on two machines it works fine. I have some fixes in mind, it just would be helpful to test them before releasing them.

Seems to be fixed now on the latest PPA build.

nickguletskii commented 8 years ago

Thanks, then I guess the blind fix worked. Event handling should be quite robust now.