102

I have never used Ubuntu or any other Linux OS before last Friday. For all I know, I might have installed Ubuntu wrong and be missing a component. I would prefer if you use simplest terminology possible, but I'm OK with doing a bit of googling if need be. I just installed Steam for Ubuntu 16.04 but it won't open when I click on it in the launcher. The icon flashes for a few seconds, stops and then nothing happens. I looked in the system monitor and steam shows up there but ending the process and trying again does nothing. I heard trying to open apps that aren't working through the terminal tells you what the error is so I tried that and I got this:

Running Steam on ubuntu 16.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

Please help I just want to play CS:GO again.

  • Seems to be a driver issue. What driver are you using and what graphics card do you have? Also I found this: wiki.archlinux.org/index.php/Steam/… - It has something to do with the free AMD drivers.. Can you see any other drivers you can choose in "Additional drivers"? – Joakim Koed May 11 '16 at 23:21
  • My crappy little Toshiba laptop has an AMD A4-5000 APU with Radeon HD 8330 integrated graphics. Not very powerful. The only driver in the Additional Drivers menu is the proprietary driver for AMD CPUs. Are there alternative drivers that would work? – Never2MuchPizza May 12 '16 at 0:53
  • Not sure about that GPU :/ But I would check the link, there are some workarounds. – Joakim Koed May 12 '16 at 14:23
  • It stopped after assert_20160820112154_1.dmp[8558]: file ''/tmp/dumps/assert_20160820112154_1.dmp'', upload yes: ''CrashID=bp-3f997128-c49b-4a1f-9f2f-9d7f82160819'' . – Casper Aug 20 '16 at 3:22
  • @Never2MuchPizza on 16.04, for most AMD GPUs you can use the open source driver (the proprietary one has been abandoned), see help.ubuntu.com/community/RadeonDriver – qkrijger Oct 10 '16 at 19:21

10 Answers 10

158

This problem is only present at Ubuntu 16.04. In ubuntu 16.10 install steam:i386 package from Ubuntu's multiverse repository (the repository is enabled by default) and most problems have been fixed. To fix on Ubuntu 16.04:

  1. Recommended solution:

    If you just installed Steam then make sure steam is closed and go to ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ and delete the link libstdc++.so.6.

    rm ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
    

    That's it now it should start without problem. Let it do the update. After the update, if the message is the same (the file will be recreated after first update)then make sure steam is closed and do the same. Also if you have 64bits system go to ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/ and delete libstdc++.so.6.

    rm ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
    rm ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
    
  2. In some systems libstdc++.so.6 keeps getting recreated. If that's your case, then create the script steam.sh with executable permissions:

    #!/bin/bash
    export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
    export DISPLAY=:0
    steam
    

    Then change at the steam desktop entry the Exec= line at the absolute path of the steam.sh script. Every time you want to play a game, open first steam with the modified desktop entry and then run the game from inside steam. Source: https://wirejungle.wordpress.com/2015/01/09/how-to-fix-broken-steam-linux-client-with-radeon-graphics-driver-workaround/

  • It worked! Why was that file causing problems? – Goldname Jul 6 '16 at 6:15
  • 6
    @Goldname Steam uses its own libraries in order to be independent from the system's libraries. However it cannot include everything (like all drivers and more things) and the radeon drivers use the libstdc++.so file which is a newer version not compatible with the version that steam runtime includes. By deleting this file, you make it look for your system's library instead of the one steam runtime has. – Thanos Apostolou Jul 7 '16 at 19:07
  • Works for RocketLeague on Ubuntu 16.04, too. – jvriesem Sep 15 '16 at 20:10
  • Works for me. Started the "updating steam..." window. Thanks! – marc-andre benoit Sep 16 '16 at 19:47
  • 1
    @ThanosApostolou Yes same libGL errors - I had to run the first command from here: steamcommunity.com/app/221410/discussions/0/412446292752412961/… – Enigma Oct 28 '16 at 20:20
42

I installed steam with the package in the Ubuntu repositories not the .deb file from steam. Apparently the Ubuntu provided package is modified to work on Ubuntu.

  1. Remove the Valve package:

    sudo apt purge steam-launcher
    
  2. Delete the repository if it hasn't been removed with the package:

    sudo rm /etc/apt/sources.list.d/steam.list
    
  3. Reload the sources list:

    sudo apt update
    
  4. Install Steam from the repos:

    sudo apt install steam
    

For more details see: https://www.reddit.com/r/linux_gaming/comments/57clur/cant_run_steam_on_ubuntu_1610/

  • 4
    It works for me on Ubuntu 17.10. – Chofoteddy Feb 5 '18 at 22:57
  • I just tried this on Ubuntu 17.10 as well and it works for me. – dspacejs Feb 9 '18 at 9:51
  • Worked for me too – Tek Mar 6 '18 at 4:10
  • The same issue also fixed on Elementary OS Loki – Michael Fulton Mar 15 '18 at 0:54
  • This just worked for me on PopOS (Ubuntu) – Tricky Apr 8 '18 at 16:31
26

Try this :

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
  • 1
    This is the better answer IMO. Note that those paths were incorrect in Mint 18 (16.04). Should be /.steam/steam/ubuntu12_32/... (notice the extra /steam/ in the path before /ubuntu12_32). – dhaupin Sep 9 '16 at 20:40
  • When I first tried this, path was like in your comment, but after fresh install, it is without extra '/steam/'. Why is that? – Igor V. Oct 2 '16 at 12:39
  • Only the first 2 commands worked for me on 17.04, but then steam worked. Thanks. – We are Borg May 9 '17 at 11:58
9

Something that worked for me was to add this environment variable in front of the executable steam:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam

Try to run it in console, see if it works.

If yes, you can edit your Steam desktop shortcut to have this command:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' /usr/bin/steam %U

instead of the old value:

/usr/bin/steam %U

Likewise, you can update your CS:GO desktop shortcut to have this command:

env LD_PRELOAD='/usr/$LIB/libstdc++.so.6' steam steam://rungameid/730

I don't have any idea of what it is doing, but it seems to work for me...

Hope it helps, and I hope that Valve will fix it soon!!

  • This one worked for me with Ubuntu 17.10 – Jonathan Feb 5 '18 at 14:57
2

Log posted indicates graphic driver is not installed correctly.

I had a similar problem with fresh install of 16.04 I have reinstalled the graphics driver

first answer on link below Graphics issues after installing Ubuntu 16.04 with NVIDIA graphics

1

2019

Steam binary is 32 bits. Recent versions of Nvidia drivers dropped support for 32 bits applications. To fix this on Ubuntu 18.04:

  1. sudo add-apt-repository ppa:graphics-drivers/ppa
  2. Run nvidia-settings and check your Nvidia driver major version. Mine, for instance, is: NVIDIA Driver Version: 430.26 (so, 430)
  3. sudo apt install libnvidia-gl-{{MAJOR VERSION NUMBER}}:i386

For instance, being my Nvidia driver major version 430, my command ended up being sudo apt install libnvidia-gl-430:i386

But Steam, seriously, 32 bits....??

0

It's solution similar to @Thanos Apostolou, courtesy of ArchLinux wiki:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so' /usr/bin/steam

Original solution: https://wiki.archlinux.org/index.php/Steam/Troubleshooting#Dynamic_linker

0

Installing the Solus version of Steam instead of the official (.deb) version fixed this for me.

First, remove the official version:

sudo apt purge steam-launcher

Then install the Solus version:

sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge linux-steam-integration

Now start Steam from the dash.

0

For Gentoo users who have arrived here and want a crude solution, this is what I did.

Step 1

Removed the offenders:

rm -i $(find ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/installed \
    -iname 'libstdc++*' -or -iname 'libgcc_s*')

Step 2

Create a launcher script:

#!/bin/sh
export LD_PRELOAD=$(echo /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.0/{,32/}{libstdc++.so.6,libgcc_s.so.1})
export DISPLAY=:0
/usr/bin/steam

It produces a lot of errors warning about about "wrong ELF class" but I ignore them. Also, change the path per the version of gcc you've installed. Feel free to improve (use gcc-config -L, etc.)

0

Ubuntu 18.04: Once you successfully uninstalled your current Steam (all directory related to steam) please open a terminal and type the following in order to have a fresh and clean installation:

sudo add-apt-repository multiverse

Once you're right the output should be:

'multiverse' distribution component enabled for all sources


Then install steam (using the terminal this is important in order to see potential error messages)

sudo apt install steam
sudo apt update

Once the installation is successfull, just type steam

steam

Here either it works and then have fun ! Or you have the following error message:

tar: This does not look like a tar archive
xz: (stdin): File format not recognized
tar: Child returned status 1
tar: Error is not recoverable: exiting now
find: ‘/home/$USERNAME/.steam/ubuntu12_32/steam-runtime’: No such file or directory

If you do have this message, don't give up and run:

mkdir "/home/$USERNAME/.steam/ubuntu12_32/steam-runtime"

It should now works !

protected by Community Jul 6 '16 at 9:05

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.