I was able to get baldur's gate to work with sound + textures, transistor to not crash and for source games to start and have sound with this.
#! /bin/sh
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libasound.so.2'
force_s3tc_enable=true steam
However Celestian Tales: Old North at least still crashes unless I start it manually.
Couldn't find dpkg, please update steamdeps for your distribution.
Running Steam on slackware 14.1 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1447125378)
ATTENTION: default value of option force_s3tc_enable overridden by environment.
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[1128/163019:ERROR:main_delegate.cc(751)] Could not load cef_extensions.pak
[1128/163019:ERROR:browser_main_loop.cc(189)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
Installing breakpad exception handler for appid(steamwebhelper)/version(20151109182310)
Installing breakpad exception handler for appid(steamwebhelper)/version(1447093390)
[1128/163019:ERROR:main_delegate.cc(751)] Could not load cef_extensions.pak
[1128/163019:ERROR:nss_util.cc(1007)] Failed to load NSS libraries.
../vgui_surfacelib/FontManager.cpp (276) : Assertion Failed: descs.Count() >= 1
Assert( Assertion Failed: descs.Count() >= 1 ):../vgui_surfacelib/FontManager.cpp:276
Installing breakpad exception handler for appid(steam)/version(1447125378)
[1128/163019:INFO:audio_manager_pulse.cc(258)] Failed to connect to the context. Error: Connection refused
Installing breakpad exception handler for appid(steamwebhelper)/version(20151109182310)
Installing breakpad exception handler for appid(steamwebhelper)/version(1447125378)
Installing breakpad exception handler for appid(steamwebhelper)/version(1447125378)
crash_20151128163019_5.dmp[13831]: Uploading dump (out-of-process)
/tmp/dumps/crash_20151128163019_5.dmp
../vgui_surfacelib/FontManager.cpp (276) : Assertion Failed: descs.Count() >= 1
../vgui_surfacelib/FontManager.cpp (276) : Assertion Failed: descs.Count() >= 1
../vgui_surfacelib/FontManager.cpp (276) : Assertion Failed: descs.Count() >= 1
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
Wireless receiver firmware /media/data/home/.local/Steam/ubuntu12_32/../controller_base/d0ggle.bin loaded, version 1442256398.
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
FillInMachineIDInfo took a total of 0 milliseconds
PulseAudio connect failed (used only for Mic Volume Control) with error: Access denied
** (steam:13805): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: The name org.freedesktop.NetworkManager was not provided by any .service files
crash_20151128163019_5.dmp[13831]: Finished uploading minidump (out-of-process): success = yes
crash_20151128163019_5.dmp[13831]: response: CrashID=bp-56875ace-3f0b-4376-983b-61be82151128
crash_20151128163019_5.dmp[13831]: file ''/tmp/dumps/crash_20151128163019_5.dmp'', upload yes: ''CrashID=bp-56875ace-3f0b-4376-983b-61be82151128''
Installing breakpad exception handler for appid(steam)/version(1447125378)
Generating new string page texture 2: 48x256, total string texture memory is 49.15 KB
Generating new string page texture 3: 256x256, total string texture memory is 311.30 KB
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Installing breakpad exception handler for appid(steam)/version(1447125378)
Installing breakpad exception handler for appid(steam)/version(1447125378)
local (potentially out of sync) copy of roaming config loaded - 1853 bytes.
roaming config store loaded successfully - 1853 bytes.
migrating temporary roaming config store
Installing breakpad exception handler for appid(steam)/version(1447125378)
Failed to init SteamVR because it isn't installed
ATTENTION: default value of option force_s3tc_enable overridden by environment.
ExecCommandLine: ""/media/data/home/.local/Steam/ubuntu12_32/steam" "
Installing breakpad exception handler for appid(steam)/version(1447125378)
System startup time: 13.26 seconds
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[1128/163033:ERROR:renderer_main.cc(200)] Running without renderer sandbox
Couldn't find dpkg, please update steamdeps for your distribution.
Generating new string page texture 74: 1024x256, total string texture memory is 1.36 MB
Generating new string page texture 75: 128x256, total string texture memory is 131.07 KB
Generating new string page texture 76: 128x256, total string texture memory is 1.49 MB
Generating new string page texture 77: 64x256, total string texture memory is 1.56 MB
Generating new string page texture 78: 32x256, total string texture memory is 1.59 MB
Running Steam on slackware 14.1 64-bit
STEAM_RUNTIME has been set by the user to: /media/data/home/.local/Steam/ubuntu12_32/steam-runtime
Generating new string page texture 84: 128x256, total string texture memory is 1.72 MB
Generating new string page texture 86: 256x256, total string texture memory is 1.98 MB
ExecCommandLine: "/home/orbea/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"
ExecSteamURL: "steam://open/driverhelperready"
Generating new string page texture 89: 128x256, total string texture memory is 2.11 MB
Generating new string page texture 90: 384x256, total string texture memory is 2.51 MB
Generating new string page texture 91: 256x256, total string texture memory is 2.77 MB
Generating new string page texture 92: 128x256, total string texture memory is 2.90 MB
Generating new string page texture 93: 8x256, total string texture memory is 2.91 MB
Generating new string page texture 122: 512x256, total string texture memory is 3.43 MB
Generating new string page texture 123: 24x256, total string texture memory is 3.46 MB
Generating new string page texture 124: 128x256, total string texture memory is 3.59 MB
Generating new string page texture 128: 256x256, total string texture memory is 3.85 MB
Game update: AppID 315860 "Celestian Tales: Old North", ProcID 13938, IP 0.0.0.0:0
ERROR: ld.so: object '/media/data/home/.local/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/media/data/home/.local/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Found path: /media/data/home/.local/Steam/steamapps/common/Celestian Tales Old North/CTON Linux.x86_64
Mono path[0] = '/media/data/home/.local/Steam/steamapps/common/Celestian Tales Old North/CTON Linux_Data/Managed'
Mono path[1] = '/media/data/home/.local/Steam/steamapps/common/Celestian Tales Old North/CTON Linux_Data/Mono'
Mono config path = '/media/data/home/.local/Steam/steamapps/common/Celestian Tales Old North/CTON Linux_Data/Mono/etc'
displaymanager : xrandr version warning. 1.4
displaymanager : trying .X11-unix
client :0 has 1 screens
displaymanager screen (0): 1680 x 1050
Using libudev for joystick management
Importing game controller configs
/dev/input/js0: driver version: 2.1.0 (20100)
: Too many axes; using axes 0 - 19 and ignoring axes 20 - 36
: Too many buttons; using buttons 0 - 19 and ignoring buttons 20 - 74
/dev/input/js0: fd 14, buttons 20, axes 20, name Microsoft Wired Keyboard 600
/dev/input/js0: axis 0: raw -32767, mapped 0.000000
/dev/input/js0: axis 1: raw -32767, mapped 0.000000
/dev/input/js0: axis 2: raw -32767, mapped 0.000000
/dev/input/js0: axis 3: raw -32767, mapped 0.000000
/dev/input/js0: axis 4: raw -32767, mapped 0.000000
/dev/input/js0: axis 5: raw -32767, mapped 0.000000
/dev/input/js0: axis 6: raw -32767, mapped 0.000000
/dev/input/js0: axis 7: raw -32767, mapped 0.000000
/dev/input/js0: axis 8: raw -32767, mapped 0.000000
/dev/input/js0: axis 9: raw -32767, mapped 0.000000
/dev/input/js0: axis 10: raw 0, mapped 0.000000
/dev/input/js0: axis 11: raw 0, mapped 0.000000
/dev/input/js0: axis 12: raw -32767, mapped 0.000000
/dev/input/js0: axis 13: raw -32767, mapped 0.000000
/dev/input/js0: axis 14: raw -32767, mapped 0.000000
/dev/input/js0: axis 15: raw -32767, mapped 0.000000
/dev/input/js0: axis 16: raw -32767, mapped 0.000000
/dev/input/js0: axis 17: raw -32767, mapped 0.000000
/dev/input/js0: axis 18: raw -32767, mapped 0.000000
/dev/input/js0: axis 19: raw -32767, mapped 0.000000
/dev/input/js0: axis 20: raw -32767, mapped 0.000000
Assigning joystick 1
/dev/input/js1: driver version: 2.1.0 (20100)
/dev/input/js1: fd 15, buttons 11, axes 8, name Logic3 Controller
/dev/input/js1: axis 0: raw -755, mapped 0.000000
/dev/input/js1: axis 1: raw -1718, mapped 0.000000
/dev/input/js1: axis 2: raw -32767, mapped 0.000000
/dev/input/js1: axis 3: raw -2131, mapped 0.000000
/dev/input/js1: axis 4: raw 283, mapped 0.000000
/dev/input/js1: axis 5: raw -32767, mapped 0.000000
/dev/input/js1: axis 6: raw 0, mapped 0.000000
/dev/input/js1: axis 7: raw 0, mapped 0.000000
Assigning joystick 2
Installing breakpad exception handler for appid(gameoverlayui)/version(20151109182348)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)
Game removed: AppID 315860 "Celestian Tales: Old North", ProcID 13939
Many games seem to work now, but I'm starting to notice a pattern where games will freeze my keyboard and x server after playing for 10-20 minutes. This hasn't happened when starting games manually. If I ssh in through another computer and open htop I notice that 1 or a few steam processes will be maxing a single core to 100%. Usually I can kill all the processes and then reboot through the other computer....
Likely the same Steam runtime conflict that's in a number of open issues.
@orbea , as gdrewb-valve is supposing, I would think your problem is related to Steam's runtime libraries. Could you try the proposed solutions from ArchLinux's Steam troubleshooting: https://wiki.archlinux.org/index.php/Steam#Troubleshooting
(you can also have a look at https://wiki.gentoo.org/wiki/Steam#Client_troubleshooting)
Your LD_PRELOAD workaround is one way of fixing the first bug mentionned in the troubleshooting guide. You could delete them altogether as proposed in the troubleshooting guide.
Many libs are taken from the steam_runtime folder that may not be the best choice since you are using some native libraries concurrently. I'm referring here to libX11, libSDL2... Could you try to disable altogether the steam_runtime libraries by setting STEAM_RUNTIME=0? However, you may have to install some other native libraries after that. Have a look at the section "Using native runtime" in Arch's Steam troubleshooting guide.
By the way, some variables you are temporarily setting could be added to your profile or environment settings so you won't have to think about it each time, particularly about enabling s3tc by default (it is disabled on some distros for patent concerns, not because bugs), and maybe disabling Steam's runtime libraries if that seems to help.
I noticed you are using an RC version of mesa (11.1-rc1) which could be in itself problematic and prone to bugs. Also, the nouveau driver NVF1 may not be bug free as it is right now.
I am no longer using the rc1 version of mesa, I downgraded to the version in Slackware Current (Didn't solve the issue) which has since been upgraded to mesa-11.0.7. Additionally Slackware current is now on xf86-video-nouveau-1.0.12 and the 4.1.15 kernel. I have not experienced any freezes since the upgrades, but I have not played many games since either. I'll be sure to play more later to see if it happens. Soma was pretty reliably causing freezes after roughly10-30 mins before the upgrade.
I have also tried several solutions from both the arch and gentoo wiki, the only one that really worked for me the LD_PRELOAD. Disabling the steam runtime won't work because it requires pulse libs which I do not have and am not willing to install.
Since I have made this issue report, I have discovered it was not only steam. Free games like Pioneer Spacesim was also occasionally causing hard freezes. Talking to the nouveau devs makes me think it could be the 4.1.* kernels not working right with nouveau. Some other people on slackware current have also been experiencing similar issues and here is a bug report that could be relevant.
https://bugs.freedesktop.org/show_bug.cgi?id=91738
@orbea Are you still seeing an issue here? Sounds like this was fixed upstream in the drivers.
Sorry for the delayed response, this is still current.
$ /usr/bin/steam
Couldn't find dpkg, please update steamdeps for your distribution.
Running Steam on slackware 14.2 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1461972496)
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
I can start steam with.
#! /bin/sh
# Export so all child processes are affected as well
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libasound.so.2'
force_s3tc_enable=true /usr/bin/steam
I think the only reasonable and effective way of solving this is to release the source code for the steam client and allow users to compile and fix it themselves. This would avoid all these runtime issues.
The alternative would be to just not support anything other than the lowest common denominator distro...
@orbea, you should make force_s3tc_enable=true permanent (add it to your environment variables).
Next, you are overriding a couple of libraries known to cause problem when being mixed wirh opensource drivers. Have a look at Arch linux's steam troubleshooting wiki to remove the libs from Steam's folder.
Removing the steam libraries from the steam runtime is not a good solution. Steam will just add them again...
@orbea: yes and no. The libraries will only be reinstalled if you go from STEAM_RUNTIME=0 to STEAM_RUNTIME=1, which triggers a check and an installation if the runtime has changed. That being said, I do agree that open sourcing the client would make it easier to support different distros with different library combination. The community would even be able to submit changes to fix and support these combinations. However, it won't probably happen any time soon.
However, Steam should really think about at least libgcc_s, libstdc and libxcb when they enforce them at the same level (same directory) as the steam client (thus having them used by default by Steam even when STEAM_RUNTIME=0). Also, they could warn the user about the situation when running iwth STEAM_RUNTIME=1 (default) with Mesa drivers. Since I've been using Steam on Linux, I've never encountered a bug related to these libraries while running STEAM_RUNTIME=0 when they were deleted (or overridden). I can't say the same about the contrary when they were present.
Seems STEAM_RUNTIME=0 is not a very good solution on slackware, I get these two errors when running steam, even when trying to LD_PRELOAD a libpulse.so.0 library (Doesn't get beyond that without LD_PRELOAD).
You are missing the following 32-bit libraries, and Steam may not run:
libpulse.so.0
Could not load module 'vgui2_s.so'.
Following the archwiki it seems resolving this may help.
~/.local/share/Steam/ubuntu12_32$ LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq
libgconf-2.so.4 => not found
libnm-glib.so.4 => not found
libnm-util.so.2 => not found
libnspr4.so => not found
libnss3.so => not found
libnssutil3.so => not found
libopenal.so.1 => not found
libpulse.so.0 => not found
libsmime3.so => not found
However not all of these seem simple to get and require installing several programs I do not have or need. There is also the consideration that even if I solve these they will likely not all work on Slackware which is not linked against modified ubuntu libraries.
When STEAM_RUNTIME=0 is set, your distro's package maintainer for steam is responsible for resolving all dependencies needed by steam and steam games. If your distro's package maintainer is not interested in maintaining that configuration, then you as the system administrator are responsible. Some distros such as Arch and Gentoo have packages available that do just that.
I've expressed this before, but I'd like to see a post-update hook so that package maintainers can improve compatibility for steam on their distros with less intervention required by the end user. (a simple check and run script (that part of the steam package) just after the steam runtime is unpacked during the update cycle.
$ cd ~/.local/share/Steam/ubuntu12_32
$ LD_LIBRARY_PATH=.lddvgui2_s.so
configuration.dllx1 2015-11core.dllx1 2015-11drawing.dllx1 2015-11engine.dllx1 2015-11hostessprotocol.dllx1 2015-11json.dllx1 2015-11mscorlib.dllx1 2015-11nlua.dllx1 2015-11sdl2-cs.dllx1 2015-11sdl2.dllx1 2015-11system.dllx1 2015-11xml.dllx1 2015-11
After having not played any steam games for a while I have learned that whenever I try to start a game from the steam client the most games will quickly crash and exit or a few will be unplayable due to missing sound and textures (Baldur's Gate). However starting games manually through the terminal works fine.
So after investigating I decided to try 'steam --reset' which worked as advertised, but upon trying to start steam again I found myself with:
This is however easily worked around with something like,
Still, games won't run unless started manually...
Disabling the steam overlay does not seem to make a difference, at least one game does start in steam, Pillars of Eternity.