19

After it was reinstalled, updates downloaded but it won’t start even from the terminal. This is the error message it gives:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)
David Foerster
  • 36,264
  • 56
  • 94
  • 147
Henry Wayat
  • 213
  • 1
  • 3
  • 11
  • Bug on official Ubuntu tracker: https://bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 I solved a similar problem by downgrading the nvidia driver: https://askubuntu.com/questions/893922/ubuntu-16-04-gives-x-error-of-failed-request-badvalue-integer-parameter-out-o/994299#994299 – Ciro Santilli OurBigBook.com Jan 10 '18 at 13:00

5 Answers5

43

I've had the same problem, which I was able to solve following instructions from http://ubuntuforums.org/showthread.php?t=2275526:

This is a problem with steam and ubuntu 15.04. Steam bundles old libs and are colliding with mesa drivers, that is also why closed drivers aren't seeing this problem.

There is a open bug in steam github the workaround for now is to remove the old lib version, at least until valve fix the issue in their startup script or similar. So enter this folders and do this

Code:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

It worked for me... but please note that if some game required that old lib from the steam runtime, it may crash (that is why should be valve fixing this)

Edit: The steps in the thread were already quoted from Problem with installing Steam on Ubuntu 15.04+, so you can go there for more details in case these instructions are not enough for you to solve your problem.

balver
  • 546
  • For the both mv command, I got: gnu: No such file or directory. Why? – Casper Aug 19 '16 at 15:12
  • @CasperLI They may be in a different directory. Try going to the path from Nick's answer (http://askubuntu.com/a/778521/514190) and renaming libstdc++.so.6 in your favourite file manager. Or just find the file: – balver Aug 19 '16 at 15:31
  • missing command from comment above: find ~/.steam -name "libstdc++.so.6" – balver Aug 19 '16 at 15:37
  • This did not work on Ubuntu 17.10 – Ray Foss Jan 12 '18 at 03:54
  • Restarting fixed it... I had closed anything in ps aux | grep steam. It must run something else. Still a bummer that it seems to crash when offline. – Ray Foss Jan 12 '18 at 04:03
5

The answer above was correct for me although the path to the files weren't quite the same when I was trying to get steam to run on 16.04 the path I needed was

~/.steam/bin/steam-runtime/i386/usr/lib/i386-linux-gnu

Also after updating the first time I had to do this again or it still wouldn't update.

3

Instead of removing libstdc++, first investigate whether this error is caused by ambiguous libGL symbolic links.

Refer to my other answer that also worked for me fixing this problem https://askubuntu.com/a/903488/364084

I am going to paste the content here:

If you are using nvidia driver, sometimes you will see that libGL.so.1 points to ambiguous libGL provided by both mesa and nvidia. To test this, you can run this command

$ sudo ldconfig -p | grep -i gl.so

The output was something like:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Now I just needed to remove the library provided by mesa and everything worked perfectly.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
0

balver's solve worked, however, the directory is slightly different than what was posted. Here's the command sequence as I typed it:

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

sudo apt-get install libnvidia-gl-390:i386

ref: https://steamcommunity.com/discussions/forum/0/3140616601474785172/

user3041840
  • 101
  • 1