Steamuxulation redux

Menelkir

Member

Reaction score: 41
Messages: 48

38740 - Edge - Broken
95300 - Capsized - Broken
33680 - Eversion - Broken

300380 - Road Redemption - Playable, but crashes randomly and it also takes the SteamUI with him.

219150 - Hotline Miami - Playable
219890 - Antichamber - Playable
 

VaderShark

New Member


Messages: 6

Hi, I was able to get Steam up and running using the https://github.com/shkhln/linuxulator-steam-utils repo. Just adding compatibility results to this thread.

I tried a few games:

  • Baldur's Gate II: Enhanced Edition, runs, can't save game says not enough disk space
  • Icewind Dale: Enhanced Edition, runs, can't save game says not enough disk space
  • Neverwinter Nights Enhanced, will not load, "version GLIBCXX_3.4.21 not defined in file libstdc++.so.6"
  • Torchlight II: Crashes after clicking play at launcher. "terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid"
So, yeah, pretty cool that the client runs, but stinks most games have issues. I will be following this project.
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

I'm looking at my copy of Planescape Torment: EE (from GOG) as well as the Torchlight 2 demo (from Steam), they are both quite confused by the FreeBSD directory structure. Specifically, by /home -> /usr/home symlink. It might be worth submitting this to the FreeBSD bug tracker.
 

shuryanc

New Member

Reaction score: 5
Messages: 11

Tested Mount and Blade: Warband. Seems missing library result of not launching.
Code:
>>> Adding process 7611 for game ID 48700
GameAction [AppID 48700, ActionID 1] : LaunchApp changed task to WaitingGameWindow with ""
GameAction [AppID 48700, ActionID 1] : LaunchApp changed task to Completed with ""
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/shuryanc/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
>>> Adding process 7631 for game ID 48700
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/shuryanc/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
/media/H/game/SteamLibrary/steamapps/common/MountBlade Warband/mb_warband_linux: error while loading shared libraries: libGLEW.so.2.1: cannot open shared object file: No such file or directory
Game removed: AppID 48700 "", ProcID 7611
Uploaded AppInterfaceStats to Steam
Exiting app 48700
No cached sticky mapping in ActivateActionSet.Installing breakpad exception handler for appid(steam)/version(1588032389)
Cities Skylines. Crashes just after launching.
Code:
Starting app 255710
>>> Adding process 25243 for game ID 255710
GameAction [AppID 255710, ActionID 7] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/shuryanc/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object 'steamfix.so' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/home/shuryanc/.steam/steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded: ignored.
GameAction [AppID 255710, ActionID 7] : LaunchApp changed task to Completed with ""
Game removed: AppID 255710 "", ProcID 25243
Uploaded AppInterfaceStats to Steam
>>> Adding process 25251 for game ID 255710
>>> Adding process 25260 for game ID 255710
>>> Adding process 25262 for game ID 255710
Exiting app 255710
No cached sticky mapping in ActivateActionSet.
 
Last edited by a moderator:
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

I tried a few games: …
For Torchlight 2 startup / Baldur's Gate and Icewind Dale save issues try:
Code:
% sudo mkdir /compat/linux/usr/home
% sudo mount_nullfs /usr/home /compat/linux/usr/home
and then set launch options to HOME=/usr/home/${USER} %command%.
 

VaderShark

New Member


Messages: 6

Code:
% sudo mkdir /compat/linux/usr/home
% sudo mount_nullfs /usr/home /compat/linux/usr/home
Code:
HOME=/usr/home/${USER} LD_PRELOAD=fmodfix.so %command%
Worked for Icewind Dale Enhanced. Didn't have a chance to test BG2EE, but my assumption is that the issues are the same, so it probably also works.

TL2 is more interesting. The game now loads!, but I got hit with a bug where when I move the mouse in game, the game stops drawing. If I leave my mouse alone, it runs.

There is a Gentoo thread from 2016 that reports this without a solution. They believed it was related to old SDL2 on Steam's part. Not sure if it is OK to post links to other sites on these forums, so I am not.

Thanks for your quick turn around on this!
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

TL2 is more interesting. The game now loads!, but I got hit with a bug where when I move the mouse in game, the game stops drawing. If I leave my mouse alone, it runs.
Yeah, noticed that too. This bug is somehow linked to the desktop resolution: 3840x2160 -> slow, 1920x1080 -> ok. The game resolution setting does not matter.

Not sure if it is OK to post links to other sites on these forums
It's ok.
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

This bug is somehow linked to the desktop resolution: 3840x2160 -> slow, 1920x1080 -> ok.
I take this back. The trigger is actually the absence of DBUS_SESSION_BUS_ADDRESS environment variable in my case (due to sudo vs direct login environment differences). To get rid of the issue it's enough to prepend DBUS_SESSION_BUS_ADDRESS=meh (any garbage string, really) to the launch options.
 

frakswe

Member

Reaction score: 14
Messages: 22

Here's my quota for the day:

Code:
Working                             Workaround,comment
---------------------------------------------------------
39 Steps,The_____________________    LD_PRELOAD=fmodfix.so %command%
Aquaria__________________________   
Antichamber______________________   
Amnesia: The Dark Descent________
Bard's Tale,The__________________
Blackwell Convergence____________   
The Blackwell Legacy_____________   
Blackwell Unbound________________
Book of Unwritten Tales
: Critter Cronicles______________ 
Bridge,The_______________________    LD_PRELOAD=fmodfix.so %command%
Broken Sword 1___________________   
Cave,The_________________________    no audio
Cave Story+______________________
Crypt of the NecroDancer_________    LD_PRELOAD=fmodfix.so %command%
Deer God, The____________________    LD_PRELOAD=fmodfix.so %command%
Else Heart.Break()_______________    LD_PRELOAD=fmodfix.so %command% , no framelimit - gpu coilwhine
Escapists, The___________________   
Fall, The________________________    HOME=/usr/home/${USER} LD_PRELOAD=fmodfix.so %command%
Frozen Synapse___________________    no audio
FTL:Faster Than Light____________   
Gemini Rue_______________________   
Gunpoint_________________________   
Grow Home________________________    LD_PRELOAD=fmodfix.so %command%
Hot Tin Roof_____________________    LD_PRELOAD=fmodfix.so %command%
Hotline Miami____________________   
Hotline Miami 2__________________    no audio
Jagged Alliance Gold_____________   
Kentucky Route Zero______________    LD_PRELOAD=fmodfix.so %command%
Leisure Suit Larry: Reloaded_____    LD_PRELOAD=fmodfix.so %command%
Legend of Grimrock_______________   
Limbo____________________________   
Mark of the Ninja________________    LD_PRELOAD=fmodfix.so %command%
Papers, Please___________________   
Pixel Piracy_____________________   
Retro City Rampage DX____________    + usb gamepad works
Rymdkapsel_______________________   
Shadowgate_______________________    LD_PRELOAD=fmodfix.so %command%
Shovel Knight: Treasure Trove____    HOME=/usr/home/${USER} LD_PRELOAD=fmodfix.so %command% , complains about joypads&UDEV, click ignore continues game.
Space Pirates and Zombies________
SteamWorld Dig___________________   
Thomas Was Alone_________________    LD_PRELOAD=fmodfix.so %command% , no framelimit - gpu coilwhine
Unmechanical_____________________
Waking Mars______________________   
Wasteland The Original Classic___   
Zigfrak__________________________    LD_PRELOAD=fmodfix.so %command%

Troublesome:
-------------------------------------------------------------
7th Guest,The____________________   scummvm: error while loading shared libraries: libbsd.so.0: cannot open shared object file: No such file or directory
2064 Read Only Memories__________   no clues
Axiom Verge______________________    mono crash
Bastion__________________________    mono crash
Deponia__________________________    configtool needs a working Qt5 environment.
Desperados Wanted Dead or Alive__    version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
Detective Case and Clown Bot_____    Error: Failed to load libsteam_api.so: libsteam_api.so: cannot open shared object file: No such file or directory
Duskers__________________________    Opens configuration window then dies when starting game.
Dropsy___________________________    xinerama issue? mono? HOME=/usr/home/${USER} LD_PRELOAD=fmodfix.so %command% furthers complaints alittle bit.
Drox Operative___________________    error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory
Evoland__________________________    Flash Player PPAPI not detected in /opt/google/chrome/PepperFlash/libpepflashplayer.so. Please install Chrome or edit config.js for another path
Exile's End______________________    error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory
Game Dev Tycoon__________________    no clues
Guacamelee! Gold Edition_________    no clues
ittle Dew________________________    mono problem?
Knytt Underground________________    freezes steamclient, kill9 :P
Lifeless Planet__________________    Opens configuration window then dies when starting game.
NightSky_________________________    no clues
Noir Syndrome____________________    line 8: exec: java: not found
Organ Trail Directors Cut________    no clues
Poly Bridge______________________    no clues
Proteus__________________________    mono crash
Rochard__________________________    LD_PRELOAD=fmodfix.so %command%,Opens titlescreen,freezes when going ingame.
Rogue Legacy_____________________    mono crash
Satellite Reign__________________    no clues
Serpent in the Staglands_________    no clues
Super Meat Boy___________________    pulseaudio related?
Stasis___________________________    no clues
Starbound________________________    [Error] Fatal Exception caught: (ApplicationException) Couldn't initialize SDL Joystick: Could not initialize UDEV
Stealth bastard deluxe___________    no clues
Terraria_________________________    mono crash
Swapper,The______________________    mono crash
Tiny Bang Story,The______________    TTBS: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory
Trine____________________________    Opens configure window,bin/trine1_bin_starter.sh: line 44: xwininfo: command not found, freezes steamclient
Undertale________________________    briefly opens screen then closes
Unepic___________________________    Failed to initialise SDL:  Could not initialize UDEV
 

VaderShark

New Member


Messages: 6

I take this back. The trigger is actually the absence of DBUS_SESSION_BUS_ADDRESS environment variable in my case (due to sudo vs direct login environment differences). To get rid of the issue it's enough to prepend DBUS_SESSION_BUS_ADDRESS=meh (any garbage string, really) to the launch options.
Can confirm, Torchlight 2 appears to be running without any issues. Thanks!

Also tried Darkest Dungeon, working.
 

VaderShark

New Member


Messages: 6

I'm looking at my copy of Planescape Torment: EE (from GOG) as well as the Torchlight 2 demo (from Steam), they are both quite confused by the FreeBSD directory structure. Specifically, by /home -> /usr/home symlink. It might be worth submitting this to the FreeBSD bug tracker.
I am contemplating getting PT:EE, but I'd prefer this from GOG. Did you get it to run via GoG? Should I get the Steam version? I'd prefer GOG, but Steam has it on sale atm half off. Can I add the GOG version as a non steam game and run it through steam with these special launch options?
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

I am contemplating getting PT:EE, but I'd prefer this from GOG. Did you get it to run via GoG?
Something like that:
Code:
--- start.sh.orig    2020-05-11 02:07:59.988758000 +0300
+++ start.sh    2020-05-11 02:07:45.459378000 +0300
@@ -1,6 +1,9 @@
-#!/bin/bash
+#!/compat/linux/bin/bash
# GOG.com (www.gog.com)
# Planescape: Torment Enhanced Edition
+
+export HOME=/usr/home/${USER}
+export LD_LIBRARY_PATH=/usr/local/steam-utils/lib64/fakepulse:`${HOME}/.steam/steam/ubuntu12_32/steam-runtime/run.sh --print-steam-runtime-library-paths`

# Initialization
CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
You can always fall back to the windows version if that doesn't work.

Can I add the GOG version as a non steam game and run it through steam with these special launch options?
You likely can. It's more convenient for me to start the game directly (for debugging).
 
  • Thanks
Reactions: JAW
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

Here's my quota for the day:
All in one day? Scary stuff.

Code:
Retro City Rampage DX____________    + usb gamepad works
What did you do to get gamepad working?

Code:
Starbound________________________    [Error] Fatal Exception caught: (ApplicationException) Couldn't initialize SDL Joystick: Could not initialize
Unepic___________________________    Failed to initialise SDL:  Could not initialize UDEV
Do those bundle SDL libs? If so, which versions?
 

VaderShark

New Member


Messages: 6

So, I installed everything on my laptop that has an Intel integrated GPU (620) and I hit this error. Everything works great on my desktop with nVidia GPU. Just wanted to throw this out there for visibility.

Code:
/data/src/common/net.cpp (2009) : Assertion Failed: Unable to set default socket options, error 22
*** Segmentation fault
Register dump:

EAX: 00000080   EBX: 22a6d000   ECX: 016f0f58   EDX: 00000000
ESI: 01c4a928   EDI: 01514660   EBP: ffff73d8   ESP: ffff732c

EIP: 224f232e   EFLAGS: 00010202

CS: 0033   DS: 003b   ES: 003b   FS: 0013   GS: 001b   SS: 003b

Trap: 00000006   Error: 00000004   OldMask: 00010000
ESP/signal: ffff732c   CR2: 00000090

Backtrace:
/usr/lib/dri/i965_dri.so(+0x4f232e)[0x224f232e]
/usr/lib/dri/i965_dri.so(+0x4f01e5)[0x224f01e5]
/usr/lib/dri/i965_dri.so(+0x4bae22)[0x224bae22]
/usr/lib/dri/i965_dri.so(+0x63a9b)[0x22063a9b]
/lib/libglapi.so.0(+0x9c25)[0x21ea2c25]
/compat/linux/usr/home/steam/.steam/steam/ubuntu12_32/vgui2_s.so(+0x54e03)[0x27668e03]
/compat/linux/usr/home/steam/.steam/steam/ubuntu12_32/vgui2_s.so(+0x63a5d)[0x27677a5d]
/home/steam/.steam/steam/ubuntu12_32/steamui.so(+0x4e6a05)[0x23ee6a05]
/home/steam/.steam/steam/ubuntu12_32/steamui.so(+0x4e8b35)[0x23ee8b35]
/home/steam/.steam/steam/ubuntu12_32/steam(+0x3bc60)[0x103cc60]
/home/steam/.steam/steam/ubuntu12_32/steam(+0x3cbe3)[0x103dbe3]
/home/steam/.steam/steam/ubuntu12_32/steam(+0x249ac)[0x10259ac]
/lib/libc.so.6(__libc_start_main+0xf3)[0x217392a3]
/home/steam/.steam/steam/ubuntu12_32/steam(+0x290b9)[0x102a0b9]
 

frakswe

Member

Reaction score: 14
Messages: 22

What did you do to get gamepad working?

Do those bundle SDL libs? If so, which versions?
Didn't do anything besides having it setup with webcamd on the FreeBSD side of things. The power of love maybe?

here's what I gleamed from the games:
Code:
$ ldd starbound (does not bundle sdl)
starbound:
        linux_vdso.so.1 =>  (0x00007ffffffff000)
        libSDL2-2.0.so.0 => /lib64/libSDL2-2.0.so.0 (0x0000000802000000)
        libGLU.so.1 => /lib64/libGLU.so.1 (0x0000000802400000)
        libGL.so.1 => /lib64/libGL.so.1 (0x0000000802800000)
        libsteam_api.so => not found
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000802c00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000000803000000)
        librt.so.1 => /lib64/librt.so.1 (0x0000000803400000)
        libm.so.6 => /lib64/libm.so.6 (0x0000000803800000)
        libc.so.6 => /lib64/libc.so.6 (0x0000000803c00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000000801d4e000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000000804000000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000000804400000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x0000000804800000)
        libX11.so.6 => /lib64/libX11.so.6 (0x0000000804c00000)
        libXext.so.6 => /lib64/libXext.so.6 (0x0000000805000000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x0000000805400000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x0000000805800000)
        libXau.so.6 => /lib64/libXau.so.6 (0x0000000805c00000)

$ patchelf --print-rpath starbound
/home/gitlab-runner/builds/e3800e6e/2/chucklefish/starbound/lib/linux

$ ldd ./unepic64s (bundles sdl 32bit & 64bit)
./unepic64s:
        linux_vdso.so.1 =>  (0x00007ffffffff000)
        libSDL2-2.0.so.0 => ./lib64/libSDL2-2.0.so.0 (0x0000000800a00000)
        libSDL2_mixer-2.0.so.0 => ./lib64/libSDL2_mixer-2.0.so.0 (0x0000000800e00000)
        libz.so.1 => /lib64/libz.so.1 (0x0000000801200000)
        libGL.so.1 => /lib64/libGL.so.1 (0x0000000801600000)
        libsteam_api.so => ./lib64/libsteam_api.so (0x0000000801a00000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000000801e00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000000802200000)
        libc.so.6 => /lib64/libc.so.6 (0x0000000802600000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000000802a00000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000802e00000)
        librt.so.1 => /lib64/librt.so.1 (0x0000000803200000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x0000000803600000)
        libX11.so.6 => /lib64/libX11.so.6 (0x0000000803a00000)
        libXext.so.6 => /lib64/libXext.so.6 (0x0000000803e00000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x0000000804200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000000800770000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000000804600000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x0000000804a00000)
        libXau.so.6 => /lib64/libXau.so.6 (0x0000000804e00000)

$ patchelf --print-rpath unepic64s
./lib64
 

frakswe

Member

Reaction score: 14
Messages: 22

Code:
Cave Story+______________________    SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll
Space Pirates and Zombies________    SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll
these games decided they wanted to work today, guess i have to take extra care in the future when i report on these failures.
 

Menelkir

Member

Reaction score: 41
Messages: 48

Please, update steam-utils and test these with the launch options set to LD_PRELOAD=fmodfix.so %command%. This is only supposed to fix the sound initialization, but, curiously enough, some Unity games hang completely without this hack.
Kairo now works with sound, thanks.
Monaco and ShadowRun still the same.
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

Didn't do anything besides having it setup with webcamd on the FreeBSD side of things. The power of love maybe?
I'm quite convinced SDL requires setting the SDL_JOYSTICK_DEVICE environment variable. Perhaps that game is using some other wrapper (or evdev directly)?
 

frakswe

Member

Reaction score: 14
Messages: 22

I'm quite convinced SDL requires setting the SDL_JOYSTICK_DEVICE environment variable. Perhaps that game is using some other wrapper (or evdev directly)?
Code:
$ ldd retrocityrampage
retrocityrampage:
        linux_vdso.so.1 =>  (0x00007ffffffff000)
        librt.so.1 => /lib64/librt.so.1 (0x0000000800c00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000000801000000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000801400000)
        libsteam_api.so => ./libsteam_api.so (0x0000000801800000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000000801c00000)
        libm.so.6 => /lib64/libm.so.6 (0x0000000802000000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000000802400000)
        libc.so.6 => /lib64/libc.so.6 (0x0000000802800000)
        /lib64/ld-linux-x86-64.so.2 (0x000000080088c000)
*shrugs* i'm going with the power of love.
 
OP
S

shkhln

Daemon

Reaction score: 652
Messages: 1,628

That worked, but fonts in the initial prompt were unreadable.
I'm aware of that bug, but I'm unable to reproduce it myself. Try installing dejavu, liberation-fonts-ttf and webfonts (in that order). Check Steam after installing each package.
 
Top