View Issue Details

IDProjectCategoryView StatusLast Update
0005467Spring engineLinuxpublic2018-05-22 14:50
Reportereemil@gmx.com Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version103.0 +git 
Summary0005467: Steam Overlay does not work with Spring, worked on 91.0
DescriptionSteam Overlay does not show up on Spring when added as a non-steam shortcut to Steam. This used to work on Spring 91.0. This report is from 64-bit Ubuntu 16.10.
Steps To ReproduceDownload the latest Spring from e.g. here:
https://springrts.com/dl/buildbot/default/develop/103.0.1-593-g59de9ba/linux64/
Extract it to the folder /home/useR/games/spring-version, where user is your user name and version is the version of Spring. Create a file called spring.desktop with the details:
[Desktop Entry]
Comment=Spring Version
Name=Spring Version
Exec=/home/user/games/spring-version/spring
Path=/home/user/games/spring-version
Icon=Game
StartupNotify=false
Categories=Game;
Type=Application

Add the shortcut as a Non-Steam game from Steam Library -> Add game -> Add non-steam Game -> Browse. Type /home/user/games to the browse box and find the folder and the .desktop file. Then click add selected games. Start the newly created Steam title. Try pressing shift-tab, and no overlay appears.

Now try the exact same process, but with Spring 91.0 from here:
https://springrts.com/dl/buildbot/default/master/91.0/linux64/
And when you press shift-tab, the overlay appears.


TagsNo tags attached.
Attached Files
Checked infolog.txt for Errors

Relationships

related to 0005294 resolvedabma Upgrade GCC 

Activities

abma

2017-02-10 10:30

administrator   ~0017261

I don't see why this should be a bug in spring.

More likely its an issue in Desktop-Environment/SDL/GFX-Drivers/Steam.

I guess spring just "catches" the shift-tab keys. In Spring 103.* You can run /keydebug and see if shift + debug produces some output. If it does, spring uses they key-combination when spring 91.0 passes it to steam.

(just a guess as i don't use steam)

Anarchid

2017-02-10 11:52

reporter   ~0017262

Hypothesis: it's SDL2

91.0 still used SDL1, and iirc 98.0 was the first release to use SDL2. The botched 97.0 had other issues but should be testable, as releases are available.

If 98.0 displays this behaviour and 97.0 doesn't it's very likely that's SDL2.

eemil@gmx.com

2017-02-10 13:25

reporter   ~0017264

The overlay works with 91.0 and 96.0 so far. does not work with 97.0 or 98.0. So it's something that happened between 96 and 97?

As for the shortcut theory, /keydebug shows at least EMPTY for whatever key combination is pressed. /keydebug does not work on 96.0, but overlay does.
I changed the shortcut to Win+1, Win+', and Ctrl+tab to try a few different combinations. They all work on 96.0, but none of them work on 97.0.

I have tested with these versions:
96: https://springrts.com/dl/buildbot/default/master/96.0/linux64/spring_96.0_minimal-portable-linux64-static.7z
97: https://springrts.com/dl/buildbot/default/master/97.0/linux64/spring_97.0_minimal-portable-linux64-static.7z
98: https://springrts.com/dl/buildbot/default/master/98.0/linux64/spring_98.0_minimal-portable-linux64-static.7z

eemil@gmx.com

2017-02-10 13:26

reporter   ~0017265

In addition, I have now reproduced it on Intel drivers (laptop) as well as nVidia drivers (desktop). And both machines have the Steam overlay work with 96.0 and 91.0.

eemil@gmx.com

2017-02-10 13:34

reporter   ~0017266

And you are probably right about the SDL.
96 has these deps that are different from 97, according to ldd:
libcaca.so.0
libncursesw.so.5
libpulse-simple.so.0
libSDL-1.2.so.0
libslang.so.2
libtinfo.so.5
libz.so.1

97 has these new deps:
libbsd.so.0
libffi.so.6
libSDL2-2.0.so.0
libsndio.so.6.1
libwayland-client.so.0
libwayland-cursor.so.0
libwayland-egl.so.1
libXcursor.so.1
libXfixes.so.3
libXinerama.so.1
libXi.so.6
libxkbcommon.so.0
libXrandr.so.2
libXrender.so.1
libXss.so.1
libXxf86vm.so.1

Kloot

2017-02-10 14:12

developer   ~0017267

97.0 made the switch to SDL2.

Unless other SDL2 applications do allow overlays, this is one for the Steam folks to solve.

eemil@gmx.com

2017-02-10 15:11

reporter   ~0017268

Out of my Steam game library at least Torchlight II and Age of Wonders III use SDL 2.2 just like Spring, and work with Steam overlays.
Here is some information what is generally needed by Steam:
http://forums.steampowered.com/forums/archive/index.php/t-1426824.html

I will also look for an open-source app for you guys to look at, with a working, hopefully minimal, SDL2 implementation that works with Steam overlays.

eemil@gmx.com

2017-02-10 15:44

reporter   ~0017269

One example: Super Tux: http://packages.ubuntu.com/source/xenial/supertux
A simple side scroller game. I just tested and it works with the Steam overlay.

Kloot

2017-02-10 16:15

developer   ~0017270

Hmm, like Spring that just calls SDL_GL_SwapWindow in its GLRenderer so there is other code interfering with the hook.

This comes down to either 1) removing lines from Spring until it works or 2) adding lines to Tux until it breaks, but since I don't have Steam installed I'll let someone else do those honors.

eemil@gmx.com

2017-02-10 16:36

reporter   ~0017271

Steam Overlays are mentioned a couple of times here:
https://wiki.libsdl.org/MigrationGuide

I'm proficient in Java and Scala, but could also try to work on this. If I follow the build howto here: https://springrts.com/wiki/Development:Getting_Started is that up to date? Who do I contact if I run into issues?

Kloot

2017-02-10 17:07

developer   ~0017274

Last edited: 2017-02-10 17:08

https://springrts.com/wiki/Building_Spring_on_Linux is mostly current afaics, but clone the develop branch instead of master. From the listed boost dependencies you should only need chrono, filesystem, and regex.

Just mention any problems here.

eemil@gmx.com

2017-02-10 20:50

reporter   ~0017276

I just built Spring from latest develop branch: https://github.com/lagerspetz/spring and I have a working Steam overlay. Interesting.

I only did these steps:
git clone --recursive git://github.com/spring/spring.git -b develop



# compiler and build tools
sudo apt-get install build-essential cmake cmake-gui git

# spring dependencies
sudo apt-get install libglew-dev libsdl2-dev libdevil-dev libopenal-dev \
 libogg-dev libvorbis-dev libfreetype6-dev p7zip-full libxcursor-dev \
 libboost-thread-dev libboost-regex-dev libboost-system-dev \
 libboost-program-options-dev libboost-signals-dev \
 libboost-chrono-dev libboost-filesystem-dev libunwind8-dev \
 default-jdk libcurl4-gnutls-dev

cd spring
cmake .
make spring

Then configured it as a non-Steam app just like the other Spring versions I tried.

linking info (ldd spring): http://pastebin.com/5MPUDDFL
And here's every package I have installed, might help you with versions of various things: http://pastebin.com/WDKQiqKJ

Any ideas why it works?

Kloot

2017-02-10 21:02

developer   ~0017277

Last edited: 2017-02-11 05:39

Do the latest two autobuilds (https://springrts.com/dl/buildbot/default/develop/103.0.1-601-g9d03d15/ and https://springrts.com/dl/buildbot/default/develop/103.0.1-602-gefc01b0/) produce overlays?

If not, one reason why the hook might break is that it relies on the target program linking to libSDL dynamically, but afaik our "static" builds do this regardless.

eemil@gmx.com

2017-02-11 11:00

reporter   ~0017278

Those two autobuilds do not give me the overlay.

Yeah, I thought about the staticness as well but saw that libSDL is dynamically linked to Spring.

Is it possible for me to mimic the exact way the autobuilder builds Spring? I currently just build it with make, didn't make install or make any packages or anything.

abma

2017-02-11 16:25

administrator   ~0017279

Last edited: 2017-02-11 16:25

> Is it possible for me to mimic the exact way the autobuilder builds Spring? I currently just build it with make, didn't make install or make any packages or anything.

atm no. when 0005294 is fixed then it should be. not sure if its worth to spent more time into this: upgrading gcc + all depending libs possible fixes the steam overlay already.

eemil@gmx.com

2017-02-13 11:09

reporter   ~0017287

Ok. Just to let you know, 103.0.1-622 still has no overlay for me.

Forboding Angel

2017-02-23 21:14

reporter   ~0017360

Steam overlay works in Evo in spring 103. Ofc that game is launched directly from steam, but that shouldn't matter should it? I'll use this comment to ping myself to double check when I get home.

abma

2017-02-23 21:26

administrator   ~0017361

> This report is from 64-bit Ubuntu 16.10.

eemil@gmx.com

2017-02-24 18:06

reporter   ~0017363

Forb, can you tell me exactly how to use Evo with Steam in Ubuntu Linux? Is Evo available as a Steam game or do I use some lobby to download it?

eemil@gmx.com

2017-02-24 20:20

reporter   ~0017364

I downloaded Evolution RTS from Steam. Looks like it runs weblobby. The startup script didn't work on my machine because my locale is apparently not supported by whatever. putting export LC_ALL=C into the startup bash script (named weblobby) fixed the issue and I was able to run weblobby. I spectated and game, and steam overlay did not work on my system.

Forboding Angel

2017-02-25 06:28

reporter   ~0017365

Works fine on winbloze, although that info probably isn't helpful at all.
steamoverlay.png (Attachment missing)

eemil@gmx.com

2017-07-30 15:39

reporter   ~0018136

Just tried with develop 103.0.1-1239-g341a8e2 from https://springrts.com/dl/buildbot/default/develop/103.0.1-1239-g341a8e2/linux64/spring_%7bdevelop%7d103.0.1-1239-g341a8e2_minimal-portable-linux64-static.7z , using NOTA 1.79l as the game. No Steam overlay in the spring main menu or the game.

Forboding Angel

2017-07-31 18:30

reporter   ~0018146

How are you running it? Via steam as a "non-steam game"?

eemil@gmx.com

2017-07-31 18:57

reporter   ~0018149

Yes, that's how I'm running it. I create a .desktop file that has exec=/path/to/spring and working directory as the folder the spring binary is in. This works for lots of games, including Spring 91.0.

abma

2017-08-01 12:05

administrator   ~0018150

tested myself: seems to be related to the static build of spring, when compiling locally it works.

not sure how steam hooks into a program, i guess something fails here because of the static linkage of spring.

$ cat /tmp/gameoverlayui.log
Tue Aug 01 10:08:44 2017 UTC - GameOverlay process started: pid: 6697
Tue Aug 01 10:08:44 2017 UTC - GameOverlay process connecting to: pid: 6686
Tue Aug 01 10:08:44 2017 UTC - BuildID: 1496897923
Tue Aug 01 10:08:44 2017 UTC - Steam Path: /home/abma/.steam/
Di Aug 01 10:08:47 2017 UTC - Generating new string page texture 2737: 128x256, total string texture memory is 131.07 KB
Di Aug 01 10:08:47 2017 UTC - Generating new string page texture 2738: 256x256, total string texture memory is 393.22 KB
Di Aug 01 10:09:13 2017 UTC - Warning: The game hasn't rendered a frame from us in over 10 seconds

eemil@gmx.com

2017-08-01 13:24

reporter   ~0018151

when examined with ldd or with the file command, it looks dynamically linked:
file spring
spring: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.16, stripped

ldd output: https://pastebin.com/VziNn0ja

Using diff on the ldd output, it seems like my compile has these extra libs:
    libboost_regex.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0 (0x00007fe91c54f000)
    libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007fe91ba33000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fe918886000)
    libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fe91d568000)
    libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe91d2be000)
    libGLEW.so.1.13 => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.13 (0x00007fe91d7ac000)
    libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007fe912c1b000)
    libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007fe91722b000)
    libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007fe916e97000)
    libIL.so.1 => /usr/lib/x86_64-linux-gnu/libIL.so.1 (0x00007fe91c858000)
    libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fe9146d3000)
    libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fe91768e000)
    liblcms2.so.2 => /usr/lib/x86_64-linux-gnu/liblcms2.so.2 (0x00007fe9178e7000)
    libmng.so.2 => /usr/lib/x86_64-linux-gnu/libmng.so.2 (0x00007fe917b3e000)
    libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fe918661000)
    libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fe917dbb000)
    libunwind.so.8 => /usr/lib/x86_64-linux-gnu/libunwind.so.8 (0x00007fe91c11a000)
    libvorbisfile.so.3 => /usr/lib/x86_64-linux-gnu/libvorbisfile.so.3 (0x00007fe91bf10000)

And the auto build verion has these extra libs (libcurl is a different variant)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f01606f8000)
    libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f01646a4000)
    libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007f0160b3c000)

abma

2017-08-01 14:27

administrator   ~0018152

you should use

$ readelf -d spring |grep Shared

0x0000000000000001 (NEEDED) Shared library: [libSDL2-2.0.so.0]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libGL.so.1]
0x0000000000000001 (NEEDED) Shared library: [libGLU.so.1]
0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED) Shared library: [libopenal.so.1]
0x0000000000000001 (NEEDED) Shared library: [libcurl.so.4]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]


(thats the output of the static linked spring)

It still has some shared libs but thats what we want: use dynamic linked openal / SDL / curl / GL / GLU.


someone needs to investigate: how does the steam overlay plug into the executable?

Kloot

2017-08-01 14:54

developer   ~0018153

Last edited: 2017-08-01 14:59

As said before steam has to hook (whether by import-table redirection or wrapper lib injection) either SDL_GL_SwapWindow or (on Linux) glXSwapBuffers directly, and neither SDL nor GLX are statically linked. The presence or absence of other libs should not matter.

abma

2017-08-01 15:05

administrator   ~0018154

Last edited: 2017-08-01 15:06

# break SDL_GL_SwapWindow
# cont

#0 0x00007fbc813aeb30 in SDL_GL_SwapWindow () from /home/abma/.steam/ubuntu12_64/libSDL2-2.0.so.0
#1 0x000000000084c1d8 in ?? ()
#2 0x0000000000566b73 in ?? ()
0000003 0x0000000000568a4a in ?? ()
0000004 0x000000000053c2e0 in ?? ()
0000005 0x000000000054535a in ?? ()
#6 0x0000000000569d9c in ?? ()
#7 0x000000000056a490 in ?? ()
#8 0x0000000000571b34 in ?? ()
#9 0x0000000000573146 in ?? ()
0000010 0x0000000000967b60 in ?? ()
#11 0x000000000096b307 in ?? ()
0000012 0x0000000000950ebd in ?? ()
0000013 0x0000000000950f4c in ?? ()
0000014 0x00007fbc7fecb2b1 in __libc_start_main (main=0x950ef0, argc=1, argv=0x7ffeb281a578, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffeb281a568)
    at ../csu/libc-start.c:291
#15 0x0000000000512569 in _start ()


steams sdl is at least used... not sure why it doesn't do anything. i guess a second call is hooked which spring doesn't use?

are there docs about how steam integrates into games? i couldn't find documentation about it...

abma

2017-08-01 15:10

administrator   ~0018155

that simplifies testing at least:

LD_PRELOAD=~/.steam/ubuntu12_64/gameoverlayrenderer.so ~/.spring/engine/103.0.1-1244-g70d14a0\ develop/spring

eemil@gmx.com

2017-08-01 15:12

reporter   ~0018156

Looks like steam sets in environment variables:
LD_PRELOAD=:/home/lagerspe/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/lagerspe/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
STEAM_RUNTIME=0
LD_LIBRARY_PATH=:/home/lagerspe/.local/share/Steam/ubuntu12_32:/home/lagerspe/.local/share/Steam/ubuntu12_64:/home/lagerspe/Games/spring-devel-103-something/:/home/lagerspe/Games/spring-devel-103-something//bin
SDL_VIDEO_X11_DGAMOUSE=0
STEAM_CLIENT_CONFIG_FILE=/home/lagerspe/.local/share/Steam/steam.cfg
STEAMSCRIPT=/usr/bin/steam
Steam3Master=127.0.0.1:57343

And

eemil@gmx.com

2017-08-01 15:15

reporter   ~0018157

... And simply starting
LD_PRELOAD=:/home/lagerspe/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/lagerspe/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so supertux2

gives me the overlay in supertux, but

LD_PRELOAD=:/home/lagerspe/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/lagerspe/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so ./spring-temp

does not result in the overlay in spring.
So this test is sufficient for debugging it seems. Much faster than adding a desktop file and doing the whole song and dance.

Steam should be running in the background for this to work I guess.

Kloot

2017-08-01 15:17

developer   ~0018158

https://partner.steamgames.com/doc/features/overlay is all I can find, doesn't mention any technical details.

eemil@gmx.com

2017-08-01 15:19

reporter   ~0018159

Not sure if this is useful or fake, but looks like someone has reverse engineered it:
https://www.unknowncheats.me/forum/c-and-c-/62123-gameoverlayui-render-game-steam-overlay.html

abma

2017-08-01 15:49

administrator   ~0018160

with DebugGL=1 i get this in the menu:

[f=-000001] [GR::LogDisplayMode] display-mode set to 1198x757x24bpp@60Hz (windowed::decorated)
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] [SelectMenu] user exited
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"


these errors don't show up when the overlay is disabled.

with DebugGLStacktraces=1:

http://paste.springfiles.com/view/raw/1807f3f7

Kloot

2017-08-01 16:15

developer   ~0018161

Last edited: 2017-08-01 16:20

that is either a bad bug in steam overlay code or the GL_* enums compiled into steam's lib somehow have different values from the system GL headers used by Spring, both of which could break rendering. check if you also get those errors with a self-compiled build where the overlay does work.

abma

2017-08-01 16:24

administrator   ~0018162

Last edited: 2017-08-01 16:26

damnit, i got bad in testing:

LD_PRELOAD=~/.steam/ubuntu12_64/gameoverlayrenderer.so ./spring

[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] [SelectMenu] user exited
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"
[f=-000001] Warning: [OPENGL_DEBUG] id=1 source=API type=ERROR severity=HIGH msg="GL_INVALID_ENUM in glMatrixMode(mode)"

thats with a "self-compiled" spring where the overlay works.

edit:

stacktrace of the working overlay:

http://paste.springfiles.com/view/raw/2beda4ca

abma

2017-08-01 16:29

administrator   ~0018163

i guess it comes to the point that the buildslave / some lib/header on it needs to be upgraded.

Kloot

2017-08-01 16:55

developer   ~0018164

Last edited: 2017-08-01 17:11

fwiw the GL_INVALID_ENUM spam is apparently an old issue caused by steam's reliance on a deprecated extension: https://github.com/ValveSoftware/steam-for-linux/issues/4657 and https://steamcommunity.com/app/221410/discussions/1/882965737421051346

eemil@gmx.com

2018-05-22 12:00

reporter   ~0019136

Hi everyone,
I am playing Zero-K via Steam, and they include Spring version 104.0.1-527-gf2536df for 64-bit Linux. Just out of curiosity, I tried if I could get Steam overlay with this Spring version, and it works!
That version of spring has issues requiring libcurl3, and my system only comes with 4, so I run Spring like this:

#!/bin/bash

RLIB="lib/x86_64-linux-gnu"
USRLIB="usr/${RLIB}"

# System 64 bit libs
SYSLIB="/$RLIB:/$USRLIB"

# Steam 64 bit libs
STEAMP="$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/amd64"
STEAMLIB="${STEAMP}/${RLIB}:${STEAMP}/${USRLIB}"

export LD_LIBRARY_PATH="${SYSLIB}:${STEAMLIB}:$LD_LIBRARY_PATH"

# Enable Steam overlay test
export LD_PRELOAD="${STEAMP}/${USRLIB}/libcurl.so.3:$HOME/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so"

# Run Spring
./spring $@

eemil@gmx.com

2018-05-22 12:02

reporter   ~0019137

Attached screenshot of steam overlay working.
Screenshot from 2018-05-22 13-03-14.png (Attachment missing)

Kloot

2018-05-22 14:10

developer   ~0019138

Last edited: 2018-05-22 14:50

for reference, since the commit which changed this (4e052a82c4) made no reference as to why, it works because X11 (glX) is now linked dynamically.

I'll add your script to Spring's repository, thanks for reporting back.

Issue History

Date Modified Username Field Change
2017-02-09 13:46 eemil@gmx.com New Issue
2017-02-10 10:30 abma Status new => feedback
2017-02-10 10:30 abma Note Added: 0017261
2017-02-10 11:52 Anarchid Note Added: 0017262
2017-02-10 13:25 eemil@gmx.com Note Added: 0017264
2017-02-10 13:25 eemil@gmx.com Status feedback => new
2017-02-10 13:26 eemil@gmx.com Note Added: 0017265
2017-02-10 13:34 eemil@gmx.com Note Added: 0017266
2017-02-10 14:12 Kloot Note Added: 0017267
2017-02-10 15:11 eemil@gmx.com Note Added: 0017268
2017-02-10 15:44 eemil@gmx.com Note Added: 0017269
2017-02-10 16:15 Kloot Note Added: 0017270
2017-02-10 16:36 eemil@gmx.com Note Added: 0017271
2017-02-10 17:07 Kloot Note Added: 0017274
2017-02-10 17:08 Kloot Note Edited: 0017274
2017-02-10 20:50 eemil@gmx.com Note Added: 0017276
2017-02-10 21:02 Kloot Note Added: 0017277
2017-02-10 21:08 Kloot Note Edited: 0017277
2017-02-11 05:39 Kloot Note Edited: 0017277
2017-02-11 11:00 eemil@gmx.com Note Added: 0017278
2017-02-11 16:23 abma Relationship added related to 0005294
2017-02-11 16:25 abma Note Added: 0017279
2017-02-11 16:25 abma Note Edited: 0017279
2017-02-13 11:09 eemil@gmx.com Note Added: 0017287
2017-02-23 21:14 Forboding Angel Note Added: 0017360
2017-02-23 21:26 abma Note Added: 0017361
2017-02-24 18:06 eemil@gmx.com Note Added: 0017363
2017-02-24 20:20 eemil@gmx.com Note Added: 0017364
2017-02-25 06:28 Forboding Angel File Added: steamoverlay.png
2017-02-25 06:28 Forboding Angel Note Added: 0017365
2017-07-30 15:39 eemil@gmx.com Note Added: 0018136
2017-07-31 18:30 Forboding Angel Note Added: 0018146
2017-07-31 18:57 eemil@gmx.com Note Added: 0018149
2017-08-01 12:05 abma Note Added: 0018150
2017-08-01 12:07 abma Severity major => minor
2017-08-01 13:24 eemil@gmx.com Note Added: 0018151
2017-08-01 14:27 abma Status new => feedback
2017-08-01 14:27 abma Note Added: 0018152
2017-08-01 14:54 Kloot Note Added: 0018153
2017-08-01 14:59 Kloot Note Edited: 0018153
2017-08-01 15:05 abma Note Added: 0018154
2017-08-01 15:06 abma Note Edited: 0018154
2017-08-01 15:10 abma Note Added: 0018155
2017-08-01 15:12 eemil@gmx.com Note Added: 0018156
2017-08-01 15:12 eemil@gmx.com Status feedback => new
2017-08-01 15:15 eemil@gmx.com Note Added: 0018157
2017-08-01 15:17 Kloot Note Added: 0018158
2017-08-01 15:19 eemil@gmx.com Note Added: 0018159
2017-08-01 15:49 abma Note Added: 0018160
2017-08-01 16:15 Kloot Note Added: 0018161
2017-08-01 16:20 Kloot Note Edited: 0018161
2017-08-01 16:24 abma Note Added: 0018162
2017-08-01 16:26 abma Note Edited: 0018162
2017-08-01 16:29 abma Note Added: 0018163
2017-08-01 16:55 Kloot Note Added: 0018164
2017-08-01 17:11 Kloot Note Edited: 0018164
2018-05-22 12:00 eemil@gmx.com Note Added: 0019136
2018-05-22 12:02 eemil@gmx.com File Added: Screenshot from 2018-05-22 13-03-14.png
2018-05-22 12:02 eemil@gmx.com Note Added: 0019137
2018-05-22 14:10 Kloot Note Added: 0019138
2018-05-22 14:11 Kloot Status new => resolved
2018-05-22 14:11 Kloot Resolution open => fixed
2018-05-22 14:50 Kloot Note Edited: 0019138