protonscr

Missing Swrast, Ubuntu 16.10

steamclosed reviewedDistro Family: Ubuntu
ValveSoftware/steam-for-linux#4664 · opened 2016-10-14 by morgondag · updated 2019-10-18 · 11 comments · github
Mmorgondag 2016-10-14 github

Your system information

  • Steam client version:
  • Distribution (e.g. Ubuntu): 16.10 (64bit)
  • Opted into Steam client beta?: No
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

Can not start steam on Ubuntu 16.10

Steps for reproducing this issue:

image

Ggdrewb-valve maintainer 2016-10-14 github

swrast is part of the OpenGL support and isn't part of Steam. This is a symptom of Steam runtime incompatibilities, if you look for swrast here you'll find various workarounds.

Aabt462 2016-10-14 github

The problem is that the usual workarounds don't seem to work as before with Ubuntu 16.10. I've opened a thread on Reddit with my current progress (https://www.reddit.com/r/linux_gaming/comments/57clur/cant_run_steam_on_ubuntu_1610/).

Basically:

  • it doesn't work if you delete the libs from the runtime (it did with previous Ubuntu versions)
  • it works if you start Steam by preloading the libs like this:

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

If you want to run Steam through its launcher rather than start it from the command line, just copy the steam.desktop from /usr/share/applications to ~/.local/share/applications, edit the latter with a text editor and change the Exec line like this:

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

(You'll likely have to update the exec command for all the desktop actions in the same way.)

But there's still a problem (maybe @gdrewb-valve has an idea on how to fix this): every time I start Steam with the LD_PRELOAD command, I have a "Package install" xterm window that opens and starts an apt-get command to install the following packages even though they're already installed: curl, python-apt, xterm, xz-utils, zenity, libgl1-mesa-dri:i386, libgl1-mesa-glx:i386, libc6:i386.
I don't know why it fails to check that they're already installed, there's probably something to fix in the startup script there.

Ggdrewb-valve maintainer 2016-10-14 github

You'll have to wait for the Steam team to comment on the install script, I don't know what might be going on there.

Aabt462 2016-10-14 github

So far, I was using the deb package found on the Steam website. I've just tried to uninstall it and reinstall Steam from the Ubuntu repos. All the problems are gone: no need to use LD_PRELOAD to fix the swrast issues, no more xterm window trying to install already installed packages...

I don't get it: how come the Steam version from the Ubuntu repos works differently? Does Valve and/or Canonical maintain a specific version for Ubuntu? Does it simply disable the runtime?

@morgondag: if you installed Steam from the deb package, you can try the following: remove the Steam package and repo, then install the Ubuntu version to see if it fixes your problem.

sudo apt-get remove steam-launcher
sudo rm /etc/apt/sources.list.d/steam.list
sudo apt-get update

Then open a Nautilus window, show hidden files (ctrl+D), go into .local/share/Steam, then move your steamapps and userdata folders on the desktop (to keep them and replace them afterwards so that you don't need to reinstall toyr games). Then delete the Steam folder that is in .local/share and the .steam folder that is directly in your home dir. After this is done, install Steam from the repos:

sudo apt-get install steam

Launch it, log in and quit it. Then reopen the Nautilus window if you closed it, show hidden files again, go in .steam/steam, delete the steamapps and userdata that are in it and move back here the ones that you put on the desktop. Launch Steam and it should work.

EDIT: there are still some issues, though. For instance, Faeria hangs at loading but works fine if I launch Steam through LD_PRELOAD.

EDIT: someone pointed out to me tha tthe Ubuntu version simply has a startup script that deletes the usual files from the runtime at each start. The only issue is that it misses two and some games still have issues. Who is in charge of the steam package from the Ubuntu repos (i.e. where should I file a bug report)?

QQkiZMR 2016-10-16 github

Your system information

Steam client version:
Distribution (e.g. Ubuntu): Ubuntu 16.10
Opted into Steam client beta?: [Yes/No] No
Have you checked for system updates?: [Yes/No] Yes
Please describe your issue in as much detail as possible:

Application doesn't start. After running steam command I get:

Running Steam on ubuntu 16.10 64-bit
STEAM_RUNTIME is enabled automatically
/bin/bash: /home/qkiz/.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
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
grep: symbol lookup error: grep: undefined symbol: pcre_jit_stack_alloc
awk: /home/qkiz/.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.7)
Installing breakpad exception handler for appid(steam)/version(1476379980)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

and freeze. Program doesn't return prompt. Control+C breaks process.

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist
I expect that program will be running ok. Like I wrote before program freezes.

Steps for reproducing this issue:
Just run steam in shell in Ubuntu 16.10.

Aabt462 2016-10-16 github

Either try to delete the libs from the runtime (it has to be done every time Steam has an update):

find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete

Or uninstall steam-launcher and reinstall Steam from the Ubuntu repos (sudo apt-get install steam), this version deletes the libs automatically on launch. See just above for full details.

The Ubuntu version doesn't delete all needed libs but the startup script can be tweaked.

QQkiZMR 2016-10-16 github

I was not strictly follow your instruction. I read carefully one more time and made all steps that you mention. Now it's working. Thx.

Aabt462 2016-10-16 github

I'd advise you to edit the /usr/games/steam script (sudo gedit /usr/games/steam) and add the following lines near the end, before the last line that begins with test:

find $runtime -name libgcc_s.so\* -delete
find $runtime -name libxcb.so\* -delete

This will ensure that it deletes all the usual problematic libs from the runtime and not only libstdc++ & libgpg-error. Some games still have issues if libgcc and libxcb are loaded from the runtime.

CCyan101 2017-12-12 github

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

works for me, this should probably be looked into being "tried" if steam fails because of swrast

Kkisak-valve maintainer 2019-09-13 github

Hello, Steam's handling of the Steam runtime changed to prefer the system's host libraries before using the Steam runtime variants by default. This avoids the issue described in this issue report. It was also extended to the bootstrap environment in the 1.0.0.55 Steam package.

Is anyone still experiencing this issue on an up to date system?

Kkisak-valve maintainer 2019-10-18 github

Closing pending feedback.

Nothing extracted yet.