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

Closed
breed808 opened this Issue Dec 22, 2012 · 7 comments

Projects

None yet

6 participants

@breed808

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

@mdaffin
Contributor
mdaffin commented Dec 22, 2012

Is steam running in the background?

@breed808

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

screenshot

@oars
oars commented Dec 23, 2012

Saw this when trying to run Waveform. The steam.pid file is out of sync and causing this. I found the workaround in: #33

Just: rm ~/.steam/steam.pid

@breed808

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.

@breed808

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.

@slouken slouken was assigned Dec 28, 2012
@slouken
slouken commented Dec 28, 2012

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

@oversizedspoon

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

@johnv-valve johnv-valve closed this Jan 9, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment