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 version of libxcb is outdated #3204

Closed
yunake opened this issue Mar 13, 2014 · 13 comments

Comments

Projects
None yet
9 participants
@yunake
Copy link

commented Mar 13, 2014

Steam runtime ships a bundled version of libxcb. This version does not work with the newer Mesa and causes a crash, for example the new xcb_send_fd is unavailable there resulting in this messages when one attempts to start Dota 2:

SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd

Here's the symbol in my system lib32-libxcb vs Steam:
yunake@x230:~$ nm -D .local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 | grep xcb_send_fd yunake@x230:~$ nm -D /usr/lib32/libxcb.so.1 | grep xcb_send_fd 00009ec0 T xcb_send_fd

This can be easily worked around by moving the bundled libxcb out of the way, e.g. remove or rename, but it'll be back on the next Steam update.

The proper fix would be to update the bundled libxcb, it should work with older installs too. Ideally though no libraries should come bundled, they should be installed as dependencies system-wide, as with the rest of proper Linux software. Bundling libraries is an ugly workaround and often times leads to problems such as this one.

For reference, here's the very same bugreport in xcb bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73237

@sylware

This comment has been minimized.

Copy link

commented Mar 13, 2014

Nope. I don't agree. It just means that libxcb is like libGL, specific to the running system and then must be dynamically loaded. A binary program should bundle as many dependencies as possible, and dynamically load the minimum system specific libraries. That in order to increase livability of the binary program in the high technical entropy we have in GNU/Linux OSes.
I'm more concern by the fact that libxcb depends on dri3 libs. I thought in was just the x11 network protocol, I'm was not expecting the direct rendering done here. I was surprised.
Anyway, the GNU/Linux GFX stack is growing very fast: in the near future, we will have wayland too.

@yunake

This comment has been minimized.

Copy link
Author

commented Mar 13, 2014

Okay, you disagree. So what? What exactly does this contribute? Let us both shut up and let the source owners talk.
// long angry rant removed. peace out :)

@Vash63

This comment has been minimized.

Copy link

commented Mar 20, 2014

Not sure if I should make a separate bug report, but I'm also having issues with this. I'm on Archlinux and can't stream any games on my Intel system. Crashes with the following in my streaming log:

Thu Mar 20 20:52:53 2014 UTC - Refresh rate: 60
Thu Mar 20 20:52:53 2014 UTC - Couldn't create window: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
Thu Mar 20 20:52:53 2014 UTC - Exiting on SPEW_ABORT
@ml-

This comment has been minimized.

Copy link

commented Mar 20, 2014

@Plagman

This comment has been minimized.

Copy link
Member

commented Mar 23, 2014

We are working on testing a new build of the Steam Runtime which should fix this issue. Thanks for the report!

@yunake

This comment has been minimized.

Copy link
Author

commented Mar 23, 2014

Awesome, looking forward to testing it!

@cookiengineer

This comment has been minimized.

Copy link

commented Apr 14, 2014

When will the fix be rolled out? All related issues are closed, but the update is not in production yet.

@chrylis

This comment has been minimized.

Copy link

commented Apr 16, 2014

Also interested in the update. Steam's completely, 100% broken with modern Mesa.

@Tele42

This comment has been minimized.

Copy link

commented Apr 16, 2014

It's not steam that is broken, it's only the steam runtime that is incompatible.

@Plagman

This comment has been minimized.

Copy link
Member

commented Apr 17, 2014

The fix should be rolled out this week in the Steam Beta channel. Thanks for your patience.

@chrylis

This comment has been minimized.

Copy link

commented Apr 17, 2014

Beta version launches and appears happy. Thanks!

@cookiengineer

This comment has been minimized.

Copy link

commented Apr 20, 2014

@Tele42 Doesn't matter, end users won't care if Steam or your-name-for-steam-subprocesses are broken. Steam is still using xcb_send_fd after updating today. Did several update checks.

Still getting the identical errors and behaviours as in my posted issue (#3238). Why are issues closed when it's not verified that the bugfix has been shipped and rolled out? I don't get your workflow, dunno if I should open identical issues again and again.

Maybe it would be easier to distribute via deb to verify library and dependency versions.

@Plagman

This comment has been minimized.

Copy link
Member

commented Apr 21, 2014

You need to opt into the client beta in order to get the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.