2021-04-22 20:23 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0005467Spring engineLinuxpublic2018-05-22 14:50
Reportereemil@gmx.com 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version103.0 +git 
Target VersionFixed in Version 
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.
Checked infolog.txt for Errors
Attached Files

-Relationships
related to 0005294resolvedabma Upgrade GCC 
+Relationships

-Notes

~0017261

abma (administrator)

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)

~0017262

Anarchid (reporter)

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.

~0017264

eemil@gmx.com (reporter)

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

~0017265

eemil@gmx.com (reporter)

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.

~0017266

eemil@gmx.com (reporter)

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

~0017267

Kloot (developer)

97.0 made the switch to SDL2.

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

~0017268

eemil@gmx.com (reporter)

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.

~0017269

eemil@gmx.com (reporter)

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.

~0017270

Kloot (developer)

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.

~0017271

eemil@gmx.com (reporter)

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?

~0017274

Kloot (developer)

Last edited: 2017-02-10 17:08

View 2 revisions

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.

~0017276

eemil@gmx.com (reporter)

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?

~0017277

Kloot (developer)

Last edited: 2017-02-11 05:39

View 3 revisions

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.

~0017278

eemil@gmx.com (reporter)

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.

~0017279

abma (administrator)

Last edited: 2017-02-11 16:25

View 2 revisions

> 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.

~0017287

eemil@gmx.com (reporter)

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

~0017360

Forboding Angel (reporter)

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.

~0017361

abma (administrator)

> This report is from 64-bit Ubuntu 16.10.

~0017363

eemil@gmx.com (reporter)

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?

~0017364

eemil@gmx.com (reporter)

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.

~0017365

Forboding Angel (reporter)

Works fine on winbloze, although that info probably isn't helpful at all.

~0018136

eemil@gmx.com (reporter)

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.

~0018146

Forboding Angel (reporter)

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

~0018149

eemil@gmx.com (reporter)

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.

~0018150

abma (administrator)

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

~0018151

eemil@gmx.com (reporter)

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)

~0018152

abma (administrator)

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?

~0018153

Kloot (developer)

Last edited: 2017-08-01 14:59

View 2 revisions

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.

~0018154

abma (administrator)

Last edited: 2017-08-01 15:06

View 2 revisions

# 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...

~0018155

abma (administrator)

that simplifies testing at least:

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

~0018156

eemil@gmx.com (reporter)

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

~0018157

eemil@gmx.com (reporter)

... 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.

~0018158

Kloot (developer)

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

~0018159

eemil@gmx.com (reporter)

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

~0018160

abma (administrator)

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

~0018161

Kloot (developer)

Last edited: 2017-08-01 16:20

View 2 revisions

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.

~0018162

abma (administrator)

Last edited: 2017-08-01 16:26

View 2 revisions

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

~0018163

abma (administrator)

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

~0018164

Kloot (developer)

Last edited: 2017-08-01 17:11

View 2 revisions

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

~0019136

eemil@gmx.com (reporter)

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 $@

~0019137

eemil@gmx.com (reporter)

Attached screenshot of steam overlay working.

~0019138

Kloot (developer)

Last edited: 2018-05-22 14:50

View 2 revisions

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.

+Notes

-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 View Revisions
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 View Revisions
2017-02-11 05:39 Kloot Note Edited: 0017277 View Revisions
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 View Revisions
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 View Revisions
2017-08-01 15:05 abma Note Added: 0018154
2017-08-01 15:06 abma Note Edited: 0018154 View Revisions
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 View Revisions
2017-08-01 16:24 abma Note Added: 0018162
2017-08-01 16:26 abma Note Edited: 0018162 View Revisions
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 View Revisions
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 View Revisions
+Issue History