Page MenuHomeSolus

Steam Overlay - Broken with Steam Runtime
Closed, ResolvedPublic

Description

Steam Overlay - Broken with Steam Runtime

The Steam Overlay does not work when using the Steam Runtime.
The Steam Overlay will work using the Native Runtime

ERROR: ld.so: object '/home/rick/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

This issue started after I updated Solus with Steam being updated to 1.0.0.59-59
I was already running the latest Steam beta before updating Solus and the Steam Overlay was working

Event Timeline

Girtablulu triaged this task as Needs More Info priority.Mar 25 2019, 3:51 PM
Girtablulu edited projects, added Software; removed Lacks Project.
Girtablulu added a subscriber: Girtablulu.

this is working for me, please make sure you are up to date and check for any broken packages

I'm seeing the same issue, had a few broken unrelated packages which are now fixed. Didn't help.
The overlay works when using the native runtime, which I'm currently not using because of Proton issues in the past.

So if you say this isn't an issue make 100% sure you aren't using the native runtime.

kisak of Valve Github fame also told me that the error message as posted above is a red herring, as Steam always tries to load both overlays 32 and 64bit and let one silently fail.

Ive got the same problem. How can I help with debugging?

I have this issue too, recently had to disable the Native Runtime to run DOOM Eternal. I actually would prefer to leave it disabled as the Steam Runtime seems to be getting updates that help with issues like the one that included the newest Vulkan headers before distros got to update, but not having the ability to Alt + Tab and use controllers (the overlay is needed) is annoying.

Is there any way I can help with debugging this issue? I just found a native game that doesn't work on Solus with the Native Runtime enabled (Antichamber) and would like to help solve this issue so I, and others, can use the Steam Runtime instead.

Hello, I believe I am also seeing the same issue with this.

I'm trying to run the game Wayward, and while it runs completely fine outside of Steam or with the native runtime disabled, the game simply doesn't run if attempted to do so with the Native Runtime enabled. Wayward itself is a native Linux game, of course.

Also, same as Khrona, I'm unable to run Antichamber with the native runtime enabled - it quits as soon as I attempt to run the game. If I disable the runtime, then it runs fine.

EDIT: In case it helps, it seems that the issue isn't that the native runtime doesn't work, it's that it doesn't work on specific games. I can run other Linux games (and Proton games) without issue, but it seems like certain ones don't run with the runtime. That might explain why some people have said it's working fine when it doesn't work for others (the two groups test different games).

I still have this problem... Can someone please take a look? I can help with debugging...

@Mark12870 Funnily enough I just started looking into this the day before yesterday. So far I haven't found the solution (or real cause) of the problem.

A workaround for now is to add this to the launch parameters of affected games:

LD_PRELOAD='/home/insert_your_username/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' %command%

Hopefully I can figure out what is going wrong here.

Thanks, it really helped. It is Left 4 Dead 2 which doesnt start with "native runtime" and doesnt show overlay when using the Steam runtime. Maybe the Flatpak version would fix all this, haven't tried that yet.

I did some testing with the launch option @Staudey mentioned, and it looks like it only works for 32-bit games. After searching a bit, using this command should make it work for both 32 and 64-bit games:

LD_PRELOAD=$HOME/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:$HOME/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so %command%

Unfortunately I couldn't make it work globally by passing it as a launch option for Steam itself, as no game would open that way.

This is the only issue I have on Solus right now, if it can be fixed it would improve gaming on it a lot, specially since EAC enabled games only seem to work on Solus with the Native Runtime disabled from my testing on Apex Legends and Elden Ring.

Could this issue be in any way related to this, which only affects 64-bit games? https://github.com/ValveSoftware/steam-for-linux/issues/5822

This is the only issue I have on Solus right now, if it can be fixed it would improve gaming on it a lot, specially since EAC enabled games only seem to work on Solus with the Native Runtime disabled from my testing on Apex Legends and Elden Ring.

I have been using Steam Native with Apex Legends without any issues (Proton Experimental), might be worth a try again, maybe it now works.

I did some testing with the launch option @Staudey mentioned, and it looks like it only works for 32-bit games

Yeah, sorry, forgot to mention that 32-bit and 64-bit games will need different commands (or the combined one you posted.

Could this issue be in any way related to this, which only affects 64-bit games? https://github.com/ValveSoftware/steam-for-linux/issues/5822

Yes, that's pretty much the issue. Something weird going on there, but unfortunately I still haven't had time to take a closer look (or rather that time was spent on other things). I'll have to set aside a couple hours to really get into it. In the meantime, the workaround is, well, a workaround, but of course not ideal or a final solution.

@Khrona, IDK if you fixed your problem, but I had the same issue with Apex, 1st installation few days ago...
I was unable to launch the game when LinuxSteamIntegration enabled.

When native Runtime is disabled, the game launch, then I click to login, the steam overlay shows up, with the login prompt... but im unable to interact with the overlay... and cant get out of the game without alt-tab and stop it from steam library.

The workaround i found is to uninstall Steam from Solus software manager, and then...
install Steam via Flatpak. I Did a backup of my games first.

Works great and you get the updates as soon as Steam release them.

flatpak install com.valvesoftware.Steam
flatpak run com.valvesoftware.Steam

GG EZ

Nick

I reported it on Steam's Github, and they did provide an insightful response. Could someone investigate it the way they suggested? https://github.com/ValveSoftware/steam-for-linux/issues/8594

Basically, the default path is LD_PRELOAD=/usr/$LIB/libxcb.so.1:/usr/$LIB/libX11.so.6:/usr/$LIB/libstdc++.so.6:/home/jacek/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so:/home/jacek/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so:libMangoHud.so, and the gameoverlayrenderer.so needs to be at the beginning (presumably before libstdc++?).
I guess this can be fixed in LSI in the order it sets up LD_PRELOAD?
Edit: I have created a fix. It does make the overlay work, but this causes a ton of errors on the terminal, as it tries to load the overlay for every single game process, not just the game.

While trying to fix T10265 I managed to fix the overlay at least with the native runtime disabled. But it would need some testing if it doesn't cause any issues.
And as for native runtime enabled, still my only idea is this, which is less than ideal.
Edit: I feel so dumb... it has always worked with with native runtime enabled. So, the fix above should fix this issue fully!