Essentially, if your OS version of libSDL2 does not match the one needed by the game, the libAkSoundEngine.so library freezes
and the game gets stuck at a black screen with 100% cpu use.
A workaround is to add this line under Launch Options in steam:
LD_PRELOAD=$LD_PRELOAD:./PillarsOfEternityII_Data/Plugins/x86_64/libSDL2-2.0.so %COMMAND%(Original thread: https://forums.obsid...n-black-screen/ )
edit: soulsource has another, neater workaround:
There's also another workaround: Instead of using LD_PRELOAD to force loading the libsdl2 version that's bundled along with the game, one can use a nifty feature of libsdl2, which gets explained here: https://plus.google....sts/TB8UfnDYu4U
Basically this feature allow to use the system installed libsdl2 version even if an application is statically linked against libsdl2 (the Unity player is statically linked against it...).
So, what I am doing in order to get the game running is to set the following environment variable (of course with the correct path to your system installed libsdl2):SDL_DYNAMIC_API=/usr/lib64/libSDL2.soMy command line on Steam now looks like this:SDL_DYNAMIC_API=/usr/lib64/libSDL2.so LC_ALL=C %command%Edit:
Of course you can also use the same environment variable to use Steam's libsdl2, if you prefer. Just point it toSDL_DYNAMIC_API=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0
Edited by kujeger, 08 May 2018 - 01:00 PM.