I had some problems to get Dota 2 running as expected, so I’ll collect the steps I did to fix the problems here.

Debian Setup

I have a Thinkpad E470 with an integrated graphics card as well an a dedicated one, so I use Bumblebee with the prorietary driver to use my dedicated Nvidia card. On Debian Buster the software can installed via

apt install bumblebee-nvidia primus primus-libs:i386

and should be running out of the box without further configuration required.

Getting Steam running

To use Steam, I had to remove some libraries from the installation:

rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgpg-error.so.0

After doing so, I was able to start Steam.

Getting Dota 2 running

Next problem was to get Dota 2 running, there were some library problems. Dota 2 ships some libraries that depend on a old libpng version that Debian Buster doesn’t ship. I replaced two libraries linked to the old libpng version by native libraries.

rm ~/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpango-1.0.so
rm ~/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpangoft2-1.0.so
ln -s /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 ~/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpango-1.0.so
ln -s /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 ~/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libpangoft2-1.0.so

I also had to add a link to the native udev library to get it running, because it has another name (version) on my system.

ln -s /lib/x86_64-linux-gnu/libudev.so.1 ~/.local/share/Steam/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/libudev.so.0

After those changes I was finally able to run Dota 2. To make use of my dedicated card I’ve added

LD_LIBRARY_PATH='' primusrun %command%

as custom command to run the game via Steam.

Further thoughts

The libraries in the Dota 2 folder will be overwritten with most updates, so a script to execute the steps easily is recommended. Dota 2 has support for OpenGL and Vulkan on Linux, I’m using the OpenGL version right now.