Steam for Linux

Steam for Linux

1928004 May 29, 2016 @ 11:02pm
Outdated Thread, info has changed.
Outdated Thread, info no longer valid



Last edited by 1928004; Nov 30, 2017 @ 7:31pm
< >
Showing 1-13 of 13 comments
SRH May 29, 2016 @ 11:18pm 
Your fix is dependent on the GPU driver you have. What GPU do you have?
The problem showed up quite a while ago on newer and rolling distributions. The issue is that the libs still shipped with the "Steam Runtime" are from an Ubuntu 12.04 environment, which is ancient, and they've finally become incompatible with today's libs (I suppose this is what happens when you contract a third party to port your stuff). The general fix is to "purge" most of the libraries in the "ubuntu" directories so that Steam Runtime defaults to the system ones, usually found in the same path libstdc++ is listed in, here. This has to be done every update, because Steam is a control-freak and will continue to redownload the obsolete libraries.

TL;DR - Write a bash script to delete all the obsolete Steam runtime libraries and execute it after every update. You no longer have to make aliases or run through the shell.
Hwkiller May 30, 2016 @ 11:27am 
You can also just delete the C and C++ libs in the steam runtime. I used to do that for steam games to work properly in arch linux.
ack0329 May 30, 2016 @ 4:52pm 
Good thread for poor AMD users, I hope steam/Ubutnu reads this and gets their act together ...

so unlike Steam to be so irresponsible

:steamsad:
SRH May 30, 2016 @ 6:07pm 
Originally posted by 1928004:
I found an article about Ubuntu not supporting AMD, ATI, Radeon graphics in Ubuntu 16.04...
Only FGLRX is no longer supported, Nonetheless Steam needs to get their sh*t together lol
SRH May 30, 2016 @ 6:12pm 
Originally posted by 1928004:
I see @srh420, that article was older so I dint understand most of it fully. what does FGLRX stand for?
It is the proprietary(closed source) graphics driver that was used in Ubuntu prior to 16.04. AMD is no longer developing the driver anymore and is now working on a more opensource solution. However the driver on their site is of alpha quality IMO and only works with certain GPU's. It is better to stick with the opensouce driver for now.
Last edited by SRH; May 30, 2016 @ 6:13pm
SRH May 30, 2016 @ 6:15pm 
FGLRX stands for FireGL and Radeon for X.
SRH May 30, 2016 @ 7:48pm 
Originally posted by 1928004:
@srh420, I see. You are coreect. ONLY older cards are no longer supported by AMD.
Kinda wrong there, All AMD cards are supported by Ubuntu 16.04 via the open source(radeonsi)drivers, not everything is working correctly with newer AMD cards at the moment . That AMDGPU-PRO driver is a semi open source driver and is for testing, it is not to be used like the Windoze beta drivers are installed.

https://en.wikipedia.org/wiki/Comparison_of_open-source_and_closed-source_software
Hwkiller May 31, 2016 @ 5:26am 
Originally posted by 1928004:
I was curious what all this means? It's what allows me to run steam on my computer after typing in my fix command into the terminal:

$ LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

----------------------------------------------------------------------------------------------------------
$ LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/tdwc29vbf6g2/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /lib/x86_64-linux-gnu/libreadline.so.6)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "unity-gtk-module"
Installing breakpad exception handler for appid(steam)/version(1461972496)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Created shared memory when not owner SteamController_Shared_mem
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
[0531/071116:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
[0531/071116:ERROR:browser_main_loop.cc(217)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
Installing breakpad exception handler for appid(steamwebhelper)/version(20160429221814)
Installing breakpad exception handler for appid(steamwebhelper)/version(1461968294)
[0531/071116:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak

** (steam:11350): WARNING **: Unknown device type 14

** (steam:11350): WARNING **: Could not create object for /org/freedesktop/NetworkManager/Devices/1: unknown object type
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steamwebhelper)/version(20160429221814)
Installing breakpad exception handler for appid(steamwebhelper)/version(1461972496)
Installing breakpad exception handler for appid(steamwebhelper)/version(1461972496)

** (steam:11350): WARNING **: Ignoring invalid property 'secondaries'

** (steam:11350): WARNING **: Ignoring invalid property 'autoconnect-priority'

** (steam:11350): WARNING **: Ignoring invalid property 'route-data'

** (steam:11350): WARNING **: Ignoring invalid property 'address-data'

** (steam:11350): WARNING **: Ignoring invalid property 'route-data'

** (steam:11350): WARNING **: Ignoring invalid property 'address-data'
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
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
Installing breakpad exception handler for appid(steam)/version(1461972496)
roaming config store loaded successfully - 8808 bytes.
migrating temporary roaming config store
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
Installing breakpad exception handler for appid(steam)/version(1461972496)
Failed to init SteamVR because it isn't installed
ExecCommandLine: ""/home/tdwc29vbf6g2/.local/share/Steam/ubuntu12_32/steam" "
Installing breakpad exception handler for appid(steam)/version(1461972496)
System startup time: 11.22 seconds

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.

(steam:11350): LIBDBUSMENU-GLIB-WARNING **: Trying to remove a child that doesn't believe we're it's parent.
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: 8x256, total string texture memory is 1.56 MB
Generating new string page texture 79: 32x256, total string texture memory is 1.60 MB
Installing breakpad exception handler for appid(steam)/version(1461972496)
Generating new string page texture 91: 128x256, total string texture memory is 1.73 MB
Generating new string page texture 93: 24x256, total string texture memory is 1.75 MB
Generating new string page texture 94: 48x256, total string texture memory is 1.80 MB
Generating new string page texture 95: 256x256, total string texture memory is 2.06 MB
Generating new string page texture 96: 384x256, total string texture memory is 2.46 MB
Generating new string page texture 97: 128x256, total string texture memory is 2.59 MB
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
Warning: Your steam package is out of date. Please get an updated version from your package provider or directly from http://repo.steampowered.com/steam for supported distributions.
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME has been set by the user to: /home/tdwc29vbf6g2/.local/share/Steam/ubuntu12_32/steam-runtime
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/tdwc29vbf6g2/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /lib/x86_64-linux-gnu/libreadline.so.6)
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
/usr/bin/ldd: line 119: printf: write error: Broken pipe
ExecCommandLine: "/home/tdwc29vbf6g2/.steam/root/ubuntu12_32/steam steam://open/driverhelperready"
ExecSteamURL: "steam://open/driverhelperready"
Your system is using your installed version of the c++ library instead of the one shipped with the steam runtime. Anything with "ld" has to do with the dynamic linker (loading libraries which end in .so, like a windows .dll), and preload is just telling your system to load the specified libs into memory before looking at which libs steam wants.
Hwkiller May 31, 2016 @ 9:06am 
Originally posted by 1928004:
I see, so I preloaded the lib with PRELOAD='/usr/$LIB/libstdc++.so.6' and then I did what? with "DISPLAY=:0" not sure. but then I ran steam with the last text of "steam"

Also, when I tried to run steam withou the Command Fix, then it just says this and does nothing to open up steam... Any ideas what its doing here: ???

$ steam
Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/tdwc29vbf6g2/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /lib/x86_64-linux-gnu/libreadline.so.6)
Installing breakpad exception handler for appid(steam)/version(1461972496)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast


So with the command fix it works, but without the command fix, this is what I got, any idea what it is doing here? What does "grep" and "awk" and "libGL" stand for?
DISPLAY=:0 refers to your X server. This isn't really necessary if you're running the command in a terminal in your X session (using, e.g., konsole, gnome-terminal, urxvt, etc). If you want to launch an X application from TTY, you have to specify 'which' X session, which is almost always :0 (like a port for a URL, it's :0, meaning the first X11 that is launched).

Don't worry about the grep/awk commands.

libGL is the GL library provided by your gpu driver.

Essentially what is happening, is that the steam runtime is using a c++ library that is different than the one used to compile other parts of your system (perhaps a libGL driver...).
As a result, when libGL is trying to load a shared library (e.g., r600_dri.so), it is looking for a point in the driver in the wrong place. By specifying that you should use the system library, your driver 'correctly' finds the correct starting point of the shared library and can thus load it correctly.

Say that you have c++ version 'A' on your system, and everything that uses c++ was compiled using version 'A'. When steam starts, it loads the libc++ library found first in its path (which is in the steam runtime), and is version 'B'. So you have version 'B' in memory, that is trying to load binaries compiled and defined by version 'A'. Version 'B' is loading everything compiled by 'A' as though they are made by 'B', so it fails.
By saying "no, preload version 'A', then run steam" (or by deleting the 'B' version from the steam runtime), version 'A' is then loading binaries compiled by version 'A', and so it works.

It's a bit like working with different cartographers to get to a location.
You are 'A', steam is 'B'. You need to find and go to some location. Steam's map maker says "oh, it should be here -->". However, you and all of your population were brought up on 'A' maps. Steam tells you 'oh its simple, just go here', and your entire population says 'what on earth am I looking at? I've never seen this before. I can't just "go there", your map makes no sense.'
So you say ' no no no, steam, leave the map making and interpretation to me and my people, because we know whats best for our people'. You load up map 'A' and say 'oh ok, you need to go to these three locations, perfect. We know where to go now' (or you can just delete steam's 'B' maps and steam has no choice BUT to use your maps).
Make sense?
Plasma41 Jul 25, 2016 @ 8:31pm 
Originally posted by 1928004:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
THANK YOU! :steamhappy:
PrimalSpectre Jul 27, 2016 @ 9:19am 
Originally posted by sugar-coated ♥♥♥♥:
The problem showed up quite a while ago on newer and rolling distributions. The issue is that the libs still shipped with the "Steam Runtime" are from an Ubuntu 12.04 environment, which is ancient, and they've finally become incompatible with today's libs (I suppose this is what happens when you contract a third party to port your stuff). The general fix is to "purge" most of the libraries in the "ubuntu" directories so that Steam Runtime defaults to the system ones, usually found in the same path libstdc++ is listed in, here. This has to be done every update, because Steam is a control-freak and will continue to redownload the obsolete libraries.

TL;DR - Write a bash script to delete all the obsolete Steam runtime libraries and execute it after every update. You no longer have to make aliases or run through the shell.

This is what I've done. The issue is that every time I deleted the libraries after this last update, steam would automatically updated and download the libraries again the next time I tried to launch it...
DLexEdition Sep 24, 2016 @ 3:50pm 
Originally posted by 1928004:
I did notice something in the Software & Updates
Unknown:Unknown
This device is not working
O Using Processor microcode firmware for AMD CPU's from amd64-microcode (proprietary)
O Do not use the device.

It shows Do not use the device as checkmarked.


Don't use the AMD Microcode, it's sluggish as all get out, that if you do any crypto-currency mining it can cripple your hashrate.

This AMD option is for your CPU only not the GP-GPU. Ubuntu has stated they don't support the FGLRX on this platform at all. AMD has committed themselves to working on AMDGPU open source drivers through the Mesa 11.x project.

I'm getting conflicting report from AMD as to if and when they will create a driver that will work on the X11 1.19.x stack, if at all.

As of right now, the Mesa 11.x stack gives many of your OpenGL 3.0 compatibility profile and 4.1 core profile (which is only the most commonly used commands in 4.1, it's not the full monty like "compatibility" is).

I've been beating on developers to get them to realize that if they want to be a friend to people in Linux to develop with core profiles in mind and not the whole thing. If they do this, their games will run great on Ubuntu 16.04 and it's forks.
< >
Showing 1-13 of 13 comments
Per page: 1530 50

Date Posted: May 29, 2016 @ 11:02pm
Posts: 13