Dying Light and Dead Island Definitive Edition were previously broken on Mesa, but as of today a patch has landed in Mesa-git to fix them both ready for Mesa 17.2.
I wrote about the patches almost a week ago, but as of today they have been accepted into Mesa-git. From the commit message:
QuoteThis fixes the long-standing problem with Dying Light where the game would produce a black screen when running under Mesa. This happened because the game's vertex shaders redeclare gl_VertexID, which is a GLSL builtin. Mesa's GLSL compiler is a little more strict than others, and would not compile them:
error: `gl_VertexID' redeclared
The allow_glsl_builtin_variable_redeclaration directive allows the shaders to compile and the game to render. The game also requires OpenGL 4.4+ (GLSL 440), but does not request it explicitly. It must be forced with an override, such as MESA_GL_VERSION_OVERRIDE=4.5 and MESA_GLSL_VERSION_OVERRIDE=450. A compatibility context is *not* required and forcing one with 4.5COMPAT or allow_higher_compat_version results in graphical artifacts.
This is fantastic news, as it will allow more Linux gamers using Mesa drivers to enjoy Dying Light and Dead Island Definitive Edition.
I'm a big fan of Dying Light myself and since I am considering switching to an AMD GPU when it comes to upgrade time, I am pleased that I won't have to miss out.
This should be in Mesa 17.2 which will be available in August.
About the author - Liam Dawe