Divinity: Original Sin - Does not run from within Steam

I have a strange issue which I cannot work out - when running Divinity from Steam, I get the error:

/home/max/.local/share/Steam/steamapps/common/Divinity Original Sin Enhanced Edition/runner.sh: line 3: 15905 Aborted                 LD_LIBRARY_PATH="." ./EoCApp
assert_20160121180245_23.dmp[15918]: Uploading dump (out-of-process)

However - if I run the offending line from that directory in a terminal, the game runs without a problem :confused:
As in, I navigate to the directory and either running that line of code itself, or by executing the runner.sh script. Both works, but Steam is opening it for a split second and then aborting??

I do get something interesting out though when running it WITHOUT steam:

~/.local/share/Steam/steamapps/common/Divinity Original Sin Enhanced Edition> LD_LIBRARY_PATH="." ./EoCApp
S_API FAIL SteamAPI_Init() failed; no appID found.
Either launch the game from Steam, or put the file steam_appid.txt containing the correct appID in your game folder.

I have verified the game cache and it found no issues.

Any idea what the deal is here?

Minor update - tl:dr I still cannot launch the game from steam.

I was able to resolve the “appid not found” error when running outside steam by checking the folder for another (working) game to see what it was. It was literally a text file called “steam_appid.txt” with nothing but the number in it :confused:

So I created this with the appid from the steam output (from when it fails to launch) and now it launches outside steam with no errors. BUT - it STILL will not launch from steam. Seems this was not the issue.

I used steam to generate a desktop shortcut, which gave me a little bit of insight into what it is doing (by looking at what the shortcut runs). It is not simply running the code from runner.sh, it is doing some sort of steam command to open the appid. My guess is that the steam runtime is trying to do something and failing. I tried turning off the overlay in the settings and it made no difference.
There may be some steam launch options I can try but I am not very good with that. Looking through Steam’s own documention was not very enlightening.

One thing I also realised is that my save games were not downloading, and this turned out to be because of the firewall. Turned it off and all my saved games started downloading. This is probably why I had issues with voice chat too. This turned out to be unrelated to my problem though, as the game still won’t open with firewall off, so I entered all the relevant ports as rules and turned the firewall back on. All good there.

For now I have edited the desktop shortcut to just execute runner.sh from the Divinity folder and this works fine, but online multiplayer is quite difficult as I cannot invite friends to the game (and they cannot invite me). I CAN see public games through the connectivity menu in the game but I haven’t tried joining. Not too keen on playing with strangers anyway.

Another update - the game inexplicably started complaining about the absence of libsteam_api.so.

I resolved this by just plundering that lib from another game’s directory and all works again, EXCEPT I can no longer run the game with steam running, at all.

That is to say, if steam is running at the time i run the “runner.sh” for Divinity, it crashes just as if I ran it from steam.

I will test maybe with a symlink and see if that makes any difference.