Divinity: Original Sin Enhanced Edition

Divinity: Original Sin Enhanced Edition

View Stats:
Game won't start on Linux
Everytime I try to run the game I get a game window come up with a bit of sound quick, then it displays an error message very similar to the one here titled "The infamous Divinity: Original Sin Enhanced Edition crash on Linux": https://news.softpedia.com/news/how-to-make-divinity-original-sin-enhanced-edition-work-with-mesa-on-linux-513089.shtml

I actually tried doing the fix in that link, but when I tried to input the commands
gcc -Wall -fPIC -DPIC -c workaround.c ld -shared -o workaround.so workaround.o -ldl -lGL
they just failed so I wasn't able to do it.

My computer is way beyond the recommended requirements and my GPU (RX580) supports OpenGL 4.5. I'm running Mesa 18.2.4. I'm running Linux Mint 19.

Any ideas what's wrong here?

Thanks :)
< >
Showing 1-11 of 11 comments
FrauBlake Nov 27, 2018 @ 2:12pm 
What do you mean by 'they failed' ? What error messages do you get ?

'gcc' is the GNU C compiler and 'ld' is the linker that creates a library (something similar to a DLL on Windows) from the compiled source.

Maybe they are not installed on your system. Would seem strange to me but I don't know the different distros and their default installations that well. (Some distros might not install the compiler/bind tools for a default desktop environment.)
Brzydki Nov 28, 2018 @ 4:58am 
Works fine without any problem on Ubuntu 18.
Cyberdyne Systems Nov 28, 2018 @ 7:49am 
Originally posted by FrauBlake:
What do you mean by 'they failed' ? What error messages do you get ?

'gcc' is the GNU C compiler and 'ld' is the linker that creates a library (something similar to a DLL on Windows) from the compiled source.

Maybe they are not installed on your system. Would seem strange to me but I don't know the different distros and their default installations that well. (Some distros might not install the compiler/bind tools for a default desktop environment.)

I do have 'gcc' installed already. I'm not sure about 'ld' though. I can't find anything with that exact name in my repos. But, I do have something installed called 'Binutils' which is described as a 'GNU assembler, linker and binary utilities'.

Anyway, I tried again because I'd forgotten the error message from before. Everything goes fine until I input
gcc -Wall -fPIC -DPIC -c workaround.c
Nothing happened when I did. So, I closed the terminal and opened a new one in the same location and input the command again. This time it gives me this output
workaround.c:12:10: fatal error: dlfcn.h: No such file or directory #include <dlfcn.h> ^~~~~~~~~ compilation terminated.

The 'Workaround.c' file is definitely there with the correct text pasted into it the way it describes to do it so I'm not sure what's up here.

Any ideas for a fix?

Thanks for your help!
Last edited by Cyberdyne Systems; Nov 28, 2018 @ 7:50am
FrauBlake Nov 28, 2018 @ 12:13pm 
I guess 'ld' is part of the BinUtils, so the tools are present.


The compiler (or better preprocessor part in this case) is looking for a file 'dlfcn.h' and expects it in the include search path. But it's not there (or the compiler cannot find it) and this is what the compiler complains about.

Which means that either
- a package is still missing
- the required package is installed but it was split into a 'normal' and a 'devel' package and the include file is part of the 'devel' package which needs to be installed
- the include search path does not include the path where the file actually resides

A simple check if the file is present could be done by entering the following command

find /usr -type f -name 'dlfcn.h' -print

If this command has some output like '/usr/include/dlfcn/dlfcn.h', it means that the file exists on the system in the directory '/usr/include/dlfcn', but this directory seems not to be part of the compilers include search path.
There should be an additional parameter for gcc to tell it where it can find (additional) include files, it might be the 'I' parameter (capital i, not a small L), which you could add to the compiler command which then would be something like

gcc -Wall -fPIC -DPIC -I/usr/include/dlfcn -c workaround.c

(with the 'example directory' I assumed above, change that accordingly. I'm not sure if 'I' is really the correct parameter, to be sure, use 'gcc --help' or look at the man page or search the web.)


Looking at the page you posted and the names there, it could be that you skipped the part where required packages are installed:

sudo apt-get install mesa-common-dev libgl1-mesa-dev

By their names, I'd guess that they are two 'devel' packages. Make sure you installed them as described in the article.
Last edited by FrauBlake; Nov 28, 2018 @ 12:15pm
Cyberdyne Systems Nov 28, 2018 @ 4:52pm 
I tried
find /usr -type f -name 'dlfcn.h' -print
but it returned nothing. I then tried
gcc -Wall -fPIC -DPIC -I/usr/include/dlfcn -c workaround.c
anyway but it again gave the same complaint.

I definitely installed both of the packages. I just tried again installing them in two separate commands this time and they were already present with nothing to install or upgrade.

So, something is still missing I guess :/ I'm not quite sure what to try next. Please let me know if you have any ideas. Thanks for the your help either way though!
Cyberdyne Systems Nov 28, 2018 @ 5:30pm 
Ah. Looks like I might've got it working now. I found something else here on the Steam forums which helped: https://steamcommunity.com/app/373420/discussions/0/353915309344847166/
I did some combination of things between what was mentioned there and what was mentioned in the page I first linked. Managed to load the game up and it appears to be working now :) Will play test it soon and see if it's ok.

The issue is apparently that the game doesn't officially support Mesa drivers so you have to mess around to get it to work. It would probably be pretty easy for them to patch it seeing as I managed to sort it out and I'm not a programmer or anything. I can't see them patching it by this point though.

Anyway, glad that's sorted! I'll report back if I get any more issues with it. Thanks.
NINE BREAKER Nov 28, 2018 @ 9:05pm 
This game doesn't support the Mesa driver stack (which is a bafflingly stupid decision by Larian). Mesa is used by the open source AMD and Intel graphics drivers on Linux. You can remedy it with a hack (which shouldn't be needed, and is only not being fixed out of sheer unjustifiable stubbornness by Larian), or requesting a refund - which is what you should do.
Cyberdyne Systems Nov 29, 2018 @ 5:05am 
Originally posted by Skymarshall:
This game doesn't support the Mesa driver stack (which is a bafflingly stupid decision by Larian). Mesa is used by the open source AMD and Intel graphics drivers on Linux. You can remedy it with a hack (which shouldn't be needed, and is only not being fixed out of sheer unjustifiable stubbornness by Larian), or requesting a refund - which is what you should do.

Yeh after looking on their forum I saw that someone pointed it out as a bug in the game code. If I managed to follow the instructions and fix it then I'm pretty sure they could easily make a patch based on that fix. It is really stupid of them tbh because I almost refunded the game when it wouldn't boot. How many refunds and lost sales has/will this cause them I wonder... Strange isn't it..
CyanneSpotlight Jan 18, 2020 @ 2:18pm 
In order for gcc to work, you also need to install build-essentials.

sudo apt-get install build-essentials

Run the gcc command again and it'll work without fuss.
CyanneSpotlight Jan 18, 2020 @ 2:29pm 
Correction:

sudo apt-get install build-essential

I added an s that doesn't belong to the program.
Mr.Weegeeman Jan 25, 2020 @ 1:47pm 
They dont give a ♥♥♥♥ and wont fix it. It's been broken for 3 years
< >
Showing 1-11 of 11 comments
Per page: 1530 50

Date Posted: Nov 27, 2018 @ 12:05pm
Posts: 11