protonscr

[Chakra] Steam Client cannot be found when launching game.

steamclosed reviewed
ValveSoftware/steam-for-linux#264 · opened 2012-12-22 by breed808 · updated 2013-01-09 · 7 comments · github
2 matching comments, n / p to jump
Bbreed808 2012-12-22 github

When attempting to launch any game through the native steam client on Chakra GNU/Linux (http://www.chakra-linux.org/), the following output is received:

[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

However, libsteam_api.so is located within all the aforementioned game directories, so we're not sure what is causing the problem.

Currently tested games include Team Fortress 2, Killing Floor, Serious Sam 3, And Yet it Moves, and World of Goo.

Issue has been occurring with multiple graphics configurations (AMD, NVIDIA, INTEL).

Deletion of all steam directories/files and re-installing has not fixed this issue.

Reference thread: http://chakra-project.org/bbs/viewtopic.php?id=9202&p=1
CCR Page: http://chakra-linux.org/ccr/packages.php?ID=4602

Mmdaffin 2012-12-22 github

Is steam running in the background?

Bbreed808 2012-12-23 github

Yes. Attached is a screenshot immediately after attempting to launch Serious Sam 3.

screenshot

Ooars 2012-12-23 github

Saw this when trying to run Waveform. The steam.pid file is out of sync and causing this. I found the workaround in: https://github.com/ValveSoftware/steam-for-linux/issues/33

Just: rm ~/.steam/steam.pid

Bbreed808 2012-12-24 github

Tried this just now, and got the following output:

Game update: AppID 41070 "Serious Sam 3: BFE", ProcID 6315, IP 0.0.0.0:0
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
Generating new string page texture 129: 256x256, total string texture memory is 3.33 MB
saving roaming config store to 'sharedconfig.vdf'
roaming config store 2 saved successfully
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
cat: /etc/debian_version: No such file or directory
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
WRN: CPU Power saving is enabled and performance governor is not used.
INF: GameEnv API: Steam
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
Game removed: AppID 41070 "Serious Sam 3: BFE", ProcID 6315
saving roaming config store to 'sharedconfig.vdf'
roaming config store 2 saved successfully

I think you're correct when you say that the steam.pid file is out of sync. In this instance, the steam pid was 6365, but the steam.pid file contained 6434 (presumably from a previous instance of steam), meaning that steam is incorrectly updating the steam.pid file.

EDIT: When manually entering steam's current PID into steam.pid, we get a different error message,

[S_API FAIL] SteamAPI_Init() failed; Sys_LoadModule failed to load: /home/breed808/.steam/bin32/steamclient.so
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.

Bbreed808 2012-12-24 github

Nevermind guys, I found a solution to the problem: a dirty sh script.

#! /bin/sh
echo "Setting Steam PID"
pgrep steam > "/home/$USER/.steampid"
cd "/home/$USER/.steam"
echo "Remaking symbolic link for Steam"
rm root
ln -s "/home/$USER/.local/share/Steam" root
echo "Changing pidof command to pgrep in steam script"
sed 's/pidof/pgrep -f/' -i "/home/$USER/.steam/root/steam.sh"
echo "Finished! Enjoy your Steam games!"

As chakra has fully moved over to systemd, 'pidof' has been replaced with 'pgrep'. Secondly, ~/.steam/root appears to be linking to itself by default, which isn't helping at all.

Sslouken 2012-12-28 github

We have a fix for this in the next Steam update. Thanks!

?ghost 2013-01-06 github

Thanks for posting this I was having the exact same issue.

I will add though at the start the script didn't work, however after running chown me:users ~/.steam/steam.pid and then running your script, SS3 launched

Upstream links

DLLs