I recently installed Steam onto my Linux laptop. You know, to play games and such. Well, actually, just to try that one game which I knew was running in DOSBox. It’s that kind of game. Old. Should work on Linux, right? I mean, it’s DOSBox. Well — it didn’t — and Steam would not start either.
The problem
Trying to start Steam resulted in nothing. Tried several times. Nothing. Trying to start it from a terminal produced some error messages. That’s a good tip. If you have problem starting a program in Linux, try to start it in a terminal. It usually produce some information instead of dying silently.
$ steam Running Steam on centos 7 64-bit STEAM_RUNTIME is enabled automatically Installing breakpad exception handler for appid(steam)/version(0_client) /home/torh/.local/share/Steam/ubuntu12_32/steam: symbol lookup error: /lib/libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds mv: cannot stat ‘/home/torh/.steam/registry.vdf’: No such file or directory Installing bootstrap /home/torh/.local/share/Steam/bootstrap.tar.xz Reset complete! Restarting Steam by request… Running Steam on centos 7 64-bit STEAM_RUNTIME has been set by the user to: /home/torh/.local/share/Steam/ubuntu12_32/steam-runtime Installing breakpad exception handler for appid(steam)/version(0_client) /home/torh/.local/share/Steam/ubuntu12_32/steam: symbol lookup error: /lib/libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds
The Solution
So I did a quick Google search, and instead of ending up on this blog post (like you did), I ended up at a GitHub issue where a post from 2017 gave me this answer. And guess what? It works! Just run this command from terminal, and after that it should work as normal.
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' LIBGL_DRI3_DISABLE=1 steam
In my case Steam started updating itself. So I guess the package available for CentOS isn’t kept up-to-date. And why would they, if Steam updates itself anyway.
The Question
Why on earth this hasn’t been fixed yet beats me. Actually, the Github issue says that it’s fixed, so I guess we are back to the point that the package in CentOS isn’t updated.
And why a game which “only” needs DOSBox isn’t supported on Linux is also a bit strange. I could always download it on a Windows machine and copy the files and see what happens.
Anyway. This was more about getting Steam running and less about me trying to play a game from my childhood years.