Ubuntu – Ubuntu 16.04 Steam only runs from terminal

command linegamessteam

After a botched upgrade from Ubuntu 14.04 to Ubuntu 16.04 I had to wipe my system and start all over. This time I decided to go with a much less CPU intensive desktop environment and installed Lubuntu 16.04-1.

My problem: when I run Steam from the menu shortcut it acts like it is doing nothing. However it does show up in the task manager. If I just type steam in the terminal I get the following.

michael@michael-HP-Pavilion-dm1-Notebook-PC:~$ 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
/bin/bash: /home/michael/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5: no version information available (required by /bin/bash)
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/michael/.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(1468023329)
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

Then nothing happens including steam doesn't show up in the task manager. Now I did find the command.

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

This does run Steam but it is not a real solution in my eyes. How can I fix it?

Best Answer

Since you have a command (LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam) to launch it correctly, modify the .desktop file to fix the menu icon so that clicking it runs that command. Do:

cd /usr/share/applications

and then type ls to find the .desktop file for Steam. Here I'm assuming it's called steam.desktop, so check that, and correct the commands below if necessary. Make a backup copy

sudo cp steam.desktop steam-bak

(restore the backup if needed by doing mv steam-bak steam.desktop) edit the original file:

sudo nano steam.desktop

find the first line that starts Exec= (you can use ctrl+w to search in nano) and edit the line so it says:

Exec=bash -c "LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam"

Save the file and exit (ctrl+o then enter then ctrl+x)

Now click the steam icon in the menu to launch

Note to others: if the command LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam does not work for you, try changing DISPLAY=:0 to match your environment. First do echo $DISPLAY and if the output is :0.0, then instead of DISPLAY=:0 in the steam launch command, put DISPLAY=:0.0


Another possible fix: check System Settings > Software & Updates > Additional Drivers and enable the latest proprietary drivers (suggestion from a comment on another post that apparently worked for the OP of that post)


The errors are caused by outdated drivers and libraries bundled with Steam. This can be fixed by disabling them, so that Steam uses system files instead (this is why setting LD_PRELOAD works). You could disable the file(s) throwing errors by renaming them:

mv /home/$USER/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5{,.disabled} 

(there may be several libraries you need to do this to, and you may need to repeat after any updates/resyncing) In any case, it's not a problem with your system, but with Steam.

For comprehensive information see:
Epic Arch wiki post on troubleshooting Steam