104

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.

David Foerster
  • 36,264
  • 56
  • 94
  • 147
  • Seems to be a driver issue. What driver are you using and what graphics card do you have? Also I found this: https://wiki.archlinux.org/index.php/Steam/Troubleshooting#Steam_runtime_issues - 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 00: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 03:22
  • @Never2MuchPizza on 16.04, for most AMD GPUs you can use the open source driver (the proprietary one has been abandoned), see https://help.ubuntu.com/community/RadeonDriver – qkrijger Oct 10 '16 at 19:21

11 Answers11

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? – JobHunter69 Jul 06 '16 at 06: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 07 '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
  • This worked... but now every time I reboot, steam unpacks itself and requires a re-download of all games and re-verification of Steam Guard. – rideoutcolin Oct 03 '16 at 06:41
  • @rideoutcolin see this solution, instead https://wirejungle.wordpress.com/2015/01/09/how-to-fix-broken-steam-linux-client-with-radeon-graphics-driver-workaround/. I will upgrade the answer and include it when I will have more time. – Thanos Apostolou Oct 04 '16 at 15:11
  • In my case Ubu 16.10, this was not enough as Steam went past issue with drivers but no updates where downloaded. Please look at my comment in similar cases. – przemo_li Oct 17 '16 at 15:59
  • Still not working in 16.10. – Enigma Oct 27 '16 at 03:35
  • @Enigma Do you see the same errors when you launch it from terminal? See the answer by przemo_li and tell me if that helps. – Thanos Apostolou Oct 28 '16 at 06:28
  • That's work for Debian stretch/sid too! – Hereblur Oct 28 '16 at 13:37
  • 1
    @ThanosApostolou Yes same libGL errors - I had to run the first command from here: https://steamcommunity.com/app/221410/discussions/0/412446292752412961/#c412446292752457261 – Enigma Oct 28 '16 at 20:20
  • What is "steam desktop entry"? – arsaKasra Dec 17 '16 at 10:59
  • I dragged and dropped the Steam icon from the launcher onto my desktop, then replaced the `Exec=' line as you said, but I get an error saying "there was an error launching the application". – arsaKasra Dec 17 '16 at 11:11
  • @arsaKasra I guess you are talking about the 2nd solution. You did right by drugging the file from the launcher just make sure that the script is executable and that you have the right path. Create a steam.sh file at your home folder for example with the script as described on the answer. Give it executable permissions (right click on it and check the option that allows it to be executed). Finally change the desktop entry's line to the absolute path: Exec=/home/$USER/steam.sh – Thanos Apostolou Dec 17 '16 at 15:26
  • I had to go to cd ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu instead. – Morgoth Mar 17 '17 at 10:47
  • @Morgoth ~/.steam/steam should be a symlink to ~/.local/share/Steam. So, either way it's fine. If you are saying that the folder ~/.steam doesn't exist at all, then please tell me what version of Ubuntu you are using and how did you install steam (from ubuntu's repositories or form steam's site) so that I can include it in the answer. – Thanos Apostolou Mar 17 '17 at 11:43
  • I am on Kubuntu 16.04. I installed off the steam website. The ~/.steam/steam symlink wasn't there. It seems to be there now. I might have missed it when I first looked, or it may have been set up after I successfully ran steam the first time. – Morgoth Mar 17 '17 at 13:16
43

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/

d a i s y
  • 5,511
zorkerz
  • 1,113
27

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
Igor V.
  • 948
  • 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 09 '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 02 '16 at 12:39
  • Only the first 2 commands worked for me on 17.04, but then steam worked. Thanks. – We are Borg May 09 '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!!

3

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....??

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

nkvnkv
  • 785
  • 3
  • 8
  • 16
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.

jobukkit
  • 5,220
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

Do you think you might be lacking the graphics drivers required to start Steam? If so, and you are using an Nvidia graphics card, this solution might help you.

If you don't have ubuntu-drivers, then install it with:

sudo apt update && sudo apt install ubuntu-drivers

Then check what your device requirements are:

ubuntu-drivers devices

You will see a number of drivers listed. Choose the recommended driver e.g. driver : nvidia-driver-460 - distro non-free recommended

Check to see if you have any older Nvidia drivers:

apt list -i | grep nvidia

E.g. if you're seeing Nvidia 450 drivers, remove with:

sudo apt purge nvidia-*-450

Now you should be ready to install the new drivers:

sudo apt install nvidia-driver-460

If you have any problems, such as a dependency, just add it in the install line e.g.

sudo apt install nvidia-driver-460 nvidia-kernel-source-460

Once complete, reboot:

sudo reboot
Jonathan
  • 656
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

przemo_li
  • 143
-1

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 !

Ced
  • 823
  • 4
  • 13
  • 32
  • For me, reseting steam Every time before start worked for me. Nothing to do with the drivers. Run command: steam --reset Then run steam Login again, and don't close anything. Start the game you want trough steam, not trough shortcuts! Till this day, I'm doing this each time I want to start steam. But it is a working thing. – vencedor Jul 07 '21 at 07:48