Every article tag can be clicked to get a list of all articles in that category. Every article tag also has an RSS feed! You can customize an RSS feed too!
We do often include affiliate links to earn us some pennies. See more here.
Divinity: Original Sin [Official Site] is one game that the stable open source Mesa drivers currently cannot run without hacks, but it looks like the Mesa team has been testing it.

Just today a commit was sent in to Mesa which mentioned "drirc: Allow extension midshader for Divinity: Original Sin (EE)". It's interesting to see game-specific changes like this, as some games will sadly need them.

You can see the commit here, which has already landed in Mesa-git. You can see the actual bug report about it here.

Hopefully with this patch landed, it means more people can enjoy another highly rated Linux-native game on open source drivers. It might still need other hacks to run, as previously it needed more than one change.

While this is only changing a config file to have this game-specific change in by default, it's still nice that users don't have to look up what to do to get it working.

I cannot test it personally, as I don't have an AMD card to test with. Article taken from GamingOnLinux.com.
5 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
48 comments
Page: «2/3»
  Go to:

Al3s Jan 8, 2017
I also recommend setting this for the game, otherwise it will clutter your $HOME:

HOME=${HOME}/.local/share

Where should I set this?


Last edited by Al3s on 8 January 2017 at 3:19 pm UTC
Liam Dawe Jan 8, 2017
The end result is the same, users don't have to fuss around and search around for solutions.
I agree. Let's hope Larian makes the next step which renders this hack unnecessary.

Edit: About unnecessary things – was it really necessary to drag this discussion to Twitter and even change my message by cherry-picking and ignoring the term "IMHO"? :|
I often poke fun at people on Twitter, and it wasn't a direct quote just inspired by stuff here. The point again remains, people saying how it's not a big deal. Well to people who have no idea about this, it will be.
Maelrane Jan 8, 2017
I just hope Linux drivers (*) will never get bloated with some optimal render paths for certain games, because that's just putting the cart before the horse.

Either game devs learn to fucking programming, or there fucking games should never be published/released.

Same nonsense as with browser-crap. Just because every idiot thinks he knows how to write html (who actually doesn't) suddenly browsers had to implement tens of thousands workarounds. Well "had to", one idiot started with that shit and then everyone had to.

It's idiotic. Learn the goddamn api. Not talking about some settings obviously. They are specific and I agree that stuff can go in there. But generally speaking, I don't want huge drivers just because of incompetent devs.

(*) I mean the mesa/open source ones, obviously. I don't care for any shit nvidia or amd put in their proprietary nonsense.
Shmerl Jan 8, 2017
I've heard driconf is a dead project anyway.
Shmerl Jan 8, 2017
I also recommend setting this for the game, otherwise it will clutter your $HOME:

HOME=${HOME}/.local/share

Where should I set this?

In the same script that you set workaround hacks. I.e. in runner.sh that comes with the game.
Shugyousha Jan 8, 2017
The git version of mesa I am running on my machine (the GPU is a RX480) includes this patch already. I tried running that game from Steam directly (without the hacks that work) and while it opened a window and drew the custom cursor (which it didn't do before that patch) it also froze my whole machine.

The patch only gets the game half-way there and I assume they will have to add another workaround before the game runs without issues.


Last edited by Shugyousha on 8 January 2017 at 6:43 pm UTC
Shmerl Jan 8, 2017
The patch only gets the game half-way there and I assume they will have to add another workaround before the game runs without issues.

They already stated, that it's a mistake in the game to read some hardcoded vendor string for AMD. Mesa isn't going to "fix" it for them. May be instead of making shims they'll provide some way to set that through environment variables. At least that won't require compilation.


Last edited by Shmerl on 8 January 2017 at 6:52 pm UTC
1xok Jan 8, 2017
I hope in a year all games will run with mesa. Realistic? You would have much more choice with the graphics cards. I think AMD is bringing some interesting cards to the market this year.


Last edited by 1xok on 8 January 2017 at 10:46 pm UTC
Al3s Jan 9, 2017
I also recommend setting this for the game, otherwise it will clutter your $HOME:

HOME=${HOME}/.local/share

Where should I set this?

In the same script that you set workaround hacks. I.e. in runner.sh that comes with the game.

Thanks. I'll give it a try tomorrow.
MayeulC Jan 9, 2017
I also recommend setting this for the game, otherwise it will clutter your $HOME:

HOME=${HOME}/.local/share

Where should I set this?

In the same script that you set workaround hacks. I.e. in runner.sh that comes with the game.

Or in the steam launch options:

HOME=${HOME}/.local/share %command%

This is actually a pretty good idea, and I am considering changing this variable before launching Steam, considering the number of games that behave correctly.
Samsai Jan 9, 2017
While it's good that more and more games will run on Mesa without users having to do a lot of fiddling, I certainly hope that this doesn't become the norm. I don't really like the idea of Mesa becoming a mess of exception cases and strange code paths for all the weird things game developers do when they don't really know what they are doing.
tuubi Jan 9, 2017
View PC info
  • Supporter Plus
While it's good that more and more games will run on Mesa without users having to do a lot of fiddling, I certainly hope that this doesn't become the norm. I don't really like the idea of Mesa becoming a mess of exception cases and strange code paths for all the weird things game developers do when they don't really know what they are doing.
As was mentioned, this is purely a config change. No new code paths so we're not quite there yet. Also the mechanism is generic enough to be usable for debugging and other problematic titles. Wouldn't have been accepted otherwise.

I can't honestly argue that this isn't a hack though and it will stop working if the executable is renamed.
Liam Dawe Jan 9, 2017
While it's good that more and more games will run on Mesa without users having to do a lot of fiddling, I certainly hope that this doesn't become the norm. I don't really like the idea of Mesa becoming a mess of exception cases and strange code paths for all the weird things game developers do when they don't really know what they are doing.
As was mentioned, this is purely a config change. No new code paths so we're not quite there yet. Also the mechanism is generic enough to be usable for debugging and other problematic titles. Wouldn't have been accepted otherwise.

I can't honestly argue that this isn't a hack though and it will stop working if the executable is renamed.
Yeah I don't really get the people saying it's not a hack. A special config for it is essentially a specific-game hack.
Shmerl Jan 9, 2017
Or in the steam launch options:

HOME=${HOME}/.local/share %command%

This is actually a pretty good idea, and I am considering changing this variable before launching Steam, considering the number of games that behave correctly.

In case of GOG release that would be start.sh, but I don't think it's a good idea to set it for every game, since some do follow XDG base directory spec correctly, and for those you don't want to do it. So setting it individually only for games which mess up $HOME directly is the best approach.


Last edited by Shmerl on 9 January 2017 at 4:32 pm UTC
MayeulC Jan 9, 2017
Or in the steam launch options:

HOME=${HOME}/.local/share %command%

This is actually a pretty good idea, and I am considering changing this variable before launching Steam, considering the number of games that behave correctly.

In case of GOG release that would be start.sh, but I don't think it's a good idea to set it for every game, since some do follow XDG base directory spec correctly, and for those you don't want to do it. So setting it individually only for games which mess up $HOME directly is the best approach.

Well, for those that follow the XDG spec correctly, that would be $XDG_DATA_HOME anyway :)
Even Steam puts a .steam folder in my home folder...
But yeah, the ideal wold be for Valve to enforce this behaviour.
Shmerl Jan 9, 2017
Even Steam puts a .steam folder in my home folder...

I see. Then it's already a mess, and doing it for the client can help with moving client data to proper place, but it can also mess up games which check if $XDG_DATA_HOME isn't set, and use $HOME/.local/share when it's not. For those you'll get: $HOME/.local/share/.local/share in result.

But yeah, the ideal wold be for Valve to enforce this behaviour.

It's really up to individual games to follow the spec. Valve should fix their own client though.


Last edited by Shmerl on 9 January 2017 at 4:51 pm UTC
MayeulC Jan 9, 2017
Even Steam puts a .steam folder in my home folder...

I see. Then it's already a mess, and doing it for the client can help with moving client data to proper place, but it can also mess up games which check if $XDG_DATA_HOME isn't set, and use $HOME/.local/share when it's not. For those you'll get: $HOME/.local/share/.local/share in result.

I completely agree, but why wouldn't it be set? It is set on my system, and if you change $HOME to point to the XDG_DATA_HOME location, it would be a shame not to ensure that the other variable is set on the system ;)

But yeah, the ideal wold be for Valve to enforce this behaviour.

It's really up to individual games to follow the spec. Valve should fix their own client though.
That's a point I do not agree on. In my opinion, Valve has a spec they enforce on games, just like their target platforms have a spec. Games with missing executables Should not be distributed; and I think it should be the same for these folders. Automated testing should ensure both.
That said, sandboxing might be a solution in the long run.

Edit: or a collection of game profiles to Taylor the environment variables to the game, but I am too lazy to compile such a list.


Last edited by MayeulC on 9 January 2017 at 5:06 pm UTC
Shmerl Jan 9, 2017
Valve have no control over how games store configuration. And games shouldn't rely on such control either. It will only complicate ability to release games without Steam.
tuubi Jan 9, 2017
View PC info
  • Supporter Plus
Valve have no control over how games store configuration. And games shouldn't rely on such control either. It will only complicate ability to release games without Steam.
Valve have quite a lot of control over games sold on their service. They're important enough that devs are willing to work to get their games on Steam.

In any case, I don't see the harm in them requiring adherence to standard practices, like the XDG directory spec. I don't think they would though, although they already recommend the spec and have automation/helper tools in their SteamOS SDK.
cRaZy-bisCuiT Jan 9, 2017
Just to clarify:
You can play Divinity: Original Sin right now with stable Mesa, and you don't need any patches to mesa to get it running.
[...]
Thank you very much! The game runs very fine now! Is there a way to make the game starting directly from Steam with the Hack applied? Obviously the Multiplayer won't work like this.


Last edited by cRaZy-bisCuiT on 9 January 2017 at 7:32 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.