I had some problems to get Dota 2 running as expected, so I’ll collect the steps I did to fix the problems here.
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.
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.