Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

steam fails to install because of outdated libxcb. #193

Open
savefilemaster opened this issue Jun 25, 2017 · 4 comments
Open

steam fails to install because of outdated libxcb. #193

savefilemaster opened this issue Jun 25, 2017 · 4 comments

Comments

@savefilemaster
Copy link

On a clean install (after steam --reset or similar), running the steam installer fails to find xcb_send_request_with_fds because steam uses an old version of libxcb, and this function has been deprecated.

This is an issue that has been reported to Valve for years now (see 1 and 2), and a push has been fixed to the beta client (see 1 and 2), but the issue still exists in the initial install and one is required to force the old dri2 library with LIBGL_DRI3_DISABLE=1 (see 1).

I am not sure whether or not this is within the scope of this project, but given that this is a long standing issue it would be nice to be notified or to patch the steam launcher to have this variable set on initial install.

  1. Valve steam-for-linux github issue 4816
  2. Valve steam-for-linux github issue 3204
  3. Arch Linux Wiki Post
@anyc
Copy link
Owner

anyc commented Jul 1, 2017

Thank you for your report! Is it known with which versions of libxcb this error occurs? We could set this variable always but I don't know if this could cause issues for other users.

@Tele42
Copy link
Contributor

Tele42 commented Jul 3, 2017

We know that the issue here is with the libxcb in the bootstrapper (/usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz) which hasn't been updated since the library was updated in the steam runtime to fix the simular issue there.

@savefilemaster
Copy link
Author

I apologize for being mostly incorrect in my initial post.

Tele42 is completely right. I think this issue pops up in a first time install for everyone running DRI3 mesa and using the steam runtime. libxcb-dri3.so has xcb_send_request_with_fds as an undefined symbol that it expects to find in libxcb.so, but the libxcb.so in the bootstrapper file is old and does not have this symbol. libxcb-dri2.so does not have this symbol, so the initial steam install works fine when you force the old DRI2 library.

I don't have any other boxes to test on, but I imagine that always forcing DRI2 would not break anything, but could lower performance in some games. (Would the attached patch work?)

A hacky fix that worked for me was to run STEAM_RUNTIME=0 steam on the first run of steam to use system libxcb while steam is doing its initial extraction, and then relaunch steam.

steam-fix-bootstrapper-libxcb.patch.txt

@anyc
Copy link
Owner

anyc commented Jul 11, 2017

Okay, so a message like the following would help?

The first-time installation of steam might fail due to incompatible libraries on systems
with DRI3-based drivers. As a workaround, start the steam installation either with DRI2 by
setting LIBGL_DRI3_DISABLE=1 or without the official runtime by disabling the use flag
and setting STEAM_RUNTIME=0. After the installation, you can start steam without such
a workaround.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants