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.
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 :)
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
We are working on testing a new build of the Steam Runtime which should fix this issue. Thanks for the report!
Awesome, looking forward to testing it!
When will the fix be rolled out? All related issues are closed, but the update is not in production yet.
Also interested in the update. Steam's completely, 100% broken with modern Mesa.
It's not steam that is broken, it's only the steam runtime that is incompatible.
The fix should be rolled out this week in the Steam Beta channel. Thanks for your patience.
Beta version launches and appears happy. Thanks!
@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.
You need to opt into the client beta in order to get the fix.
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_fdis 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_fdHere'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_fdThis 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