The Chronicles of Riddick - Assault on Dark Athena

No Screenshot

Submit Screenshot
GOG Edition of the Game, DRM free.

Application Details:

Version: GOG-Edition
License: Retail
Votes: 0
Latest Rating: Silver
Latest Wine Version Tested: 5.17-staging

Maintainers: About Maintainership

Test Results

Old test results
The test results for this version are very old, and as such they may not represent the current state of Wine. Please consider submitting a new test report.
Selected Test Results

What works

Both Butcher Bay and Dark Athena.  Both games played to completion. 

What does not

Game does not launch without patch to mesa for AMD cards, works without patch on nVidia hardware. 


A patch must be applied to mesa for AMD and Intel otherwise the game does not launch.  

The patch is NOT necessary for nVidia video cards.

My setup is an AMD Raven Ridge 2400g running 5.7.19 Mesa 20.1.1, llvm 8.0.0 running on Mageia 7.

This is the patch:

----- cut here ------

diff -Naur mesa-20.1.1a/src/compiler/glsl/builtin_functions.cpp mesa-20.1.1b/src/compiler/glsl/builtin_functions.cpp
--- mesa-20.1.1a/src/compiler/glsl/builtin_functions.cpp        2020-06-10 12:03:00.425698800 -0600
+++ mesa-20.1.1b/src/compiler/glsl/builtin_functions.cpp        2020-09-11 19:12:35.000000000 -0600
@@ -3373,7 +3373,7 @@
                 _texture(ir_tex, always_available,        glsl_type::vec4_type,  glsl_type::sampler2D_type, glsl_type::vec2_type),
-                _texture(ir_txb, derivatives_only,        glsl_type::vec4_type,  glsl_type::sampler2D_type, glsl_type::vec2_type),
+                _texture(ir_txb, always_available,        glsl_type::vec4_type,  glsl_type::sampler2D_type, glsl_type::vec2_type),
                 _texture(ir_tex, gpu_shader4_integer,             glsl_type::ivec4_type,  glsl_type::isampler2D_type, glsl_type::vec2_type),
                 _texture(ir_txb, gpu_shader4_integer_derivs_only, glsl_type::ivec4_type,  glsl_type::isampler2D_type, glsl_type::vec2_type),
                 _texture(ir_tex, gpu_shader4_integer,             glsl_type::uvec4_type,  glsl_type::usampler2D_type, glsl_type::vec2_type),
@@ -3460,7 +3460,7 @@
                 _texture(ir_tex, always_available,        glsl_type::vec4_type,  glsl_type::samplerCube_type, glsl_type::vec3_type),
-                _texture(ir_txb, derivatives_only,        glsl_type::vec4_type,  glsl_type::samplerCube_type, glsl_type::vec3_type),
+                _texture(ir_txb, always_available,        glsl_type::vec4_type,  glsl_type::samplerCube_type, glsl_type::vec3_type),
                 _texture(ir_tex, gpu_shader4_integer,             glsl_type::ivec4_type,  glsl_type::isamplerCube_type, glsl_type::vec3_type),
                 _texture(ir_txb, gpu_shader4_integer_derivs_only, glsl_type::ivec4_type,  glsl_type::isamplerCube_type, glsl_type::vec3_type),
                 _texture(ir_tex, gpu_shader4_integer,             glsl_type::uvec4_type,  glsl_type::usamplerCube_type, glsl_type::vec3_type),
diff -Naur mesa-20.1.1a/src/compiler/glsl/glsl_parser_extras.cpp mesa-20.1.1b/src/compiler/glsl/glsl_parser_extras.cpp
--- mesa-20.1.1a/src/compiler/glsl/glsl_parser_extras.cpp       2020-06-10 12:03:00.439699000 -0600
+++ mesa-20.1.1b/src/compiler/glsl/glsl_parser_extras.cpp       2020-09-11 19:13:42.000000000 -0600
@@ -789,6 +789,8 @@
 static const _mesa_glsl_extension *find_extension(const char *name)
+   if (strcmp(name, "GL_ATI_shader_texture_lod") == 0)
+      name = "GL_ARB_shader_texture_lod";
    for (unsigned i = 0; i < ARRAY_SIZE(_mesa_glsl_supported_extensions); ++i) {
       if (strcmp(name, _mesa_glsl_supported_extensions[i].name) == 0) {
          return &_mesa_glsl_supported_extensions[i];

------ cut here ------

Since this patch seems only to be necessary for Riddick I didn't add it to my usual build for Mesa.  

On an RPM based system save the above patch to something like "0030-riddick-patch", then put that file in the "SOURCES" directory and add a line to the mesa.spec in the patch section like this:

Patch030:       0030-riddick.patch

Also to streamline the update, bump the "%define rel" line by one.

Then build mesa for x86_64 and i586 and do a rpm -Fvh on the updated packages.

What was not tested


Hardware tested


  • GPU: AMD
  • Driver: open source

Additional Comments

It's a pity the game is no longer available via commercial sites and going to the trouble above is a bit of a hassle just to get to assume one's alter identity of Vin Diesel.  

The game can still be had from

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
CurrentMageia 7Sep 29 20185.17-stagingYes Yes YesSilverAlan Richter 
ShowDebian GNU/Linux Unstable "Sid" x86_64Dec 16 20173.0-rc1Yes No NoGarbagePsycho_zs 
ShowLinux Mint 17.1 "Rebecca" x86-64Nov 15 20151.7.50Yes Yes GoldBenoît Smith 
ShowUbuntu 12.04 "Precise" amd64 (+ variants like Kubuntu)Oct 26 20131.7.4Yes Yes BronzeMatt 
ShowArch LinuxDec 09 20121.5.19Yes Yes Platinumfetter_oml 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs


The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

by axet on Wednesday June 10th 2020, 4:00
can you patch the game instead patching mesa?
by axet on Wednesday June 10th 2020, 7:01
Here is a file 'System/GL/HLInclude_GLSL.xrg wchich' contains:

//Might need to fix this in case pxlfmt says it's unsupported
#extension GL_ARB_draw_buffers : enable
#extension GL_ATI_shader_texture_lod : enable


And a lot of texture2D and textureCube calls.
by Alan Richter on Wednesday June 10th 2020, 8:47
Sadly, no, the game as been abandoned, . But I've discovered it plays "out of the box" on nVidia and since the hardware requirements are low, it will play on an inexpensive or older nVidia card with their binary blob driver.
by axet on Wednesday June 10th 2020, 9:20
Here is a file 'System/GL/HLInclude_GLSL.xrg wchich' contains:

//Might need to fix this in case pxlfmt says it's unsupported
#extension GL_ARB_draw_buffers : enable
#extension GL_ATI_shader_texture_lod : enable


And a lot of texture2D and textureCube calls.