Getting Baldurs Gate 2 Enhanced Edition to run on Linux (GOG Games)
By Andrew Powell, published 19/03/2017 in Game-Fixes
If you are fortunate enough, your new shiny install of Baldurs Gate 2 Enhanced Edition will Just Work™. If you're on a fairly, what I call "late-model" distribution such as Arch Linux or OpenSUSE Tumbleweed or even one of the latest (non-LTS) versions of Ubuntu, you might run into some trouble. Here's a couple of fixes I had to use that worked for me. If you have more to contribute, just let me know in the comments and I'll add it in!
Pro Tip: Remember, you can always see what errors or other interesting information the game might spit out by running it from a terminal.
eg:
cd ~/GOG\ Games/Baldurs\ Gate\ 2\ Enhanced\ Edition/
./start.sh
Also, while this focuses on the GOG Games version of Baldurs Gate 2 Enhanced Edition, it will likely work just the same for the Steam edition. The only difference is the game will be located in Steam's game folders instead of where the GOG Games installer places it and you'll have to adjust the terminal commands appropriately, if you use them.
To find the Steam installation of the game, just go to the game in your Steam library, right click "Properties", then click the "Local Files" tab, then finally click "Browse Local Files".
1. Game does not start and/or libstdc++ related error
This is a common one, where the bundled libstdc++.so.6 library may be clashing with your system. You may also get errors such as "libGL: failed to load driver". Fixing is as simple as deleting or (preferably) renaming the offending file in the game folder so the game is forced to use your system's version of the library instead.
cd ~/GOG\ Games/Baldurs\ Gate\ 2\ Enhanced\ Edition/
mv lib/libstdc++.so.6 lib/libstdc++.so.6.orig
Or you could always just use your File Browser if you wish.
2. dri3 issues (eg. symbol lookup error: /usr/lib/libxcb-dri3.so.0)
This is a fun one. Sometimes, for whatever reason, games or programs have an issue with dri3. You'll need to force the game to not use dri3 as a workaround. The easiest method that worked for me was appending LIBGL_DRI3_DISABLE=1
to the game's start script.
Save and exit the file. Try to execute the game and hopefully, you're all good!
Fin
That's all I had to do to get the game to run on my Arch Linux system. Curiously, Baldurs Gate I Enhanced Edition worked just fine out of the box for me, despite seemingly being on such a similar engine, but Baldurs Gate 2 gave me trouble.
Anyway, if there are more common fixes for the game you know of, just let me know in the comments below.