Gurchetan Singh | 876877a | 2023-08-07 15:15:58 -0700 | [diff] [blame] | 1 | <?xml version="1.0" standalone="yes"?> |
| 2 | <!-- |
| 3 | |
| 4 | ============================================ |
| 5 | Application bugs worked around in this file: |
| 6 | ============================================ |
| 7 | |
| 8 | * Unigine Heaven 3.0 and older contain too many bugs and can't be supported |
| 9 | by drivers that want to be compliant. |
| 10 | |
| 11 | * Various Unigine products don't use the #version and #extension GLSL |
| 12 | directives, meaning they only get GLSL 1.10 and no extensions for their |
| 13 | shaders. |
| 14 | Enabling all extensions for Unigine fixes most issues, but the GLSL version |
| 15 | is still 1.10. |
| 16 | |
| 17 | * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses |
| 18 | an #extension directive in the middle of its shaders, which is illegal |
| 19 | in GLSL. |
| 20 | |
| 21 | * Dying Light and Dead Island Definitive Edition redeclare vertex shader |
| 22 | built-ins (specifically gl_VertexID), which causes the vertex shaders to fail |
| 23 | to compile. |
| 24 | |
| 25 | * Applications that are not suitable for adapative sync are denylisted here. |
| 26 | |
| 27 | TODO: document the other workarounds. |
| 28 | |
| 29 | --> |
| 30 | |
| 31 | <!DOCTYPE driconf [ |
| 32 | <!ELEMENT driconf (device+)> |
| 33 | <!ELEMENT device (application | engine)+> |
| 34 | <!ATTLIST device driver CDATA #IMPLIED |
| 35 | device CDATA #IMPLIED> |
| 36 | <!ELEMENT application (option+)> |
| 37 | <!ATTLIST application name CDATA #REQUIRED |
| 38 | executable CDATA #IMPLIED |
| 39 | executable_regexp CDATA #IMPLIED |
| 40 | sha1 CDATA #IMPLIED |
| 41 | application_name_match CDATA #IMPLIED |
| 42 | application_versions CDATA #IMPLIED> |
| 43 | <!ELEMENT engine (option+)> |
| 44 | |
| 45 | <!-- engine_name_match: A regexp matching the engine name --> |
| 46 | <!-- engine_versions: A version in range format |
| 47 | (version 1 to 4 : "1:4") --> |
| 48 | |
| 49 | <!ATTLIST engine engine_name_match CDATA #REQUIRED |
| 50 | engine_versions CDATA #IMPLIED> |
| 51 | |
| 52 | <!ELEMENT option EMPTY> |
| 53 | <!ATTLIST option name CDATA #REQUIRED |
| 54 | value CDATA #REQUIRED> |
| 55 | ]> |
| 56 | |
| 57 | <driconf> |
| 58 | <!-- Please always enable app-specific workarounds for all drivers and |
| 59 | screens. --> |
| 60 | <device> |
| 61 | <application name="Akka Arrh" executable="Project-A.exe"> |
| 62 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 63 | </application> |
| 64 | |
| 65 | <application name="Unigine Sanctuary" executable="Sanctuary"> |
| 66 | <option name="force_glsl_extensions_warn" value="true" /> |
| 67 | <option name="disable_blend_func_extended" value="true" /> |
| 68 | <option name="disable_arb_gpu_shader5" value="true" /> |
| 69 | </application> |
| 70 | |
| 71 | <application name="Unigine Tropics" executable="Tropics"> |
| 72 | <option name="force_glsl_extensions_warn" value="true" /> |
| 73 | <option name="disable_blend_func_extended" value="true" /> |
| 74 | <option name="disable_arb_gpu_shader5" value="true" /> |
| 75 | </application> |
| 76 | |
| 77 | <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> |
| 78 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 79 | <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> |
| 80 | <option name="dual_color_blend_by_location" value="true" /> |
| 81 | </application> |
| 82 | |
| 83 | <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> |
| 84 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 85 | <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> |
| 86 | <option name="dual_color_blend_by_location" value="true" /> |
| 87 | </application> |
| 88 | |
| 89 | <application name="Unigine Heaven (Windows)" executable="heaven.exe"> |
| 90 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 91 | <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> |
| 92 | <option name="dual_color_blend_by_location" value="true" /> |
| 93 | </application> |
| 94 | |
| 95 | <application name="Unigine Valley (32-bit)" executable="valley_x86"> |
| 96 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 97 | <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> |
| 98 | <option name="dual_color_blend_by_location" value="true" /> |
| 99 | </application> |
| 100 | |
| 101 | <application name="Unigine Valley (64-bit)" executable="valley_x64"> |
| 102 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 103 | <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> |
| 104 | <option name="dual_color_blend_by_location" value="true" /> |
| 105 | </application> |
| 106 | |
| 107 | <application name="Unigine Valley (Windows)" executable="valley.exe"> |
| 108 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 109 | <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> |
| 110 | <option name="dual_color_blend_by_location" value="true" /> |
| 111 | </application> |
| 112 | |
| 113 | <application name="Unigine OilRush (32-bit)" executable="OilRush_x86"> |
| 114 | <option name="disable_blend_func_extended" value="true" /> |
| 115 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 116 | </application> |
| 117 | |
| 118 | <application name="Unigine OilRush (64-bit)" executable="OilRush_x64"> |
| 119 | <option name="disable_blend_func_extended" value="true" /> |
| 120 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 121 | </application> |
| 122 | |
| 123 | <application name="Savage 2" executable="savage2.bin"> |
| 124 | <option name="disable_glsl_line_continuations" value="true" /> |
| 125 | </application> |
| 126 | |
| 127 | <application name="Topogun (32-bit)" executable="topogun32"> |
| 128 | <option name="always_have_depth_buffer" value="true" /> |
| 129 | </application> |
| 130 | |
| 131 | <application name="Topogun (64-bit)" executable="topogun64"> |
| 132 | <option name="always_have_depth_buffer" value="true" /> |
| 133 | </application> |
| 134 | <application name="Half Life 2" executable="hl2_linux"> |
| 135 | <option name="mesa_glthread_app_profile" value="1" /> |
| 136 | </application> |
| 137 | <application name="Black Mesa" executable="bms_linux"> |
| 138 | <option name="mesa_glthread_app_profile" value="1" /> |
| 139 | </application> |
| 140 | <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> |
| 141 | <option name="mesa_glthread_app_profile" value="1" /> |
| 142 | </application> |
| 143 | |
| 144 | <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame"> |
| 145 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 146 | |
| 147 | <!-- For the Definitive Edition which shares the same executable name --> |
| 148 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 149 | </application> |
| 150 | |
| 151 | <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame"> |
| 152 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 153 | </application> |
| 154 | |
| 155 | <application name="Doom 3: BFG" executable="Doom3BFG.exe"> |
| 156 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 157 | <option name="force_glsl_extensions_warn" value="true" /> |
| 158 | </application> |
| 159 | |
| 160 | <application name="Dune: Spice Wars" executable="D4X.exe"> |
| 161 | <option name="disable_uniform_array_resize" value="true" /> |
| 162 | </application> |
| 163 | |
| 164 | <application name="The Chronicles of Riddick: Assault on Dark Athena" executable="DarkAthena.exe"> |
| 165 | <option name="disable_uniform_array_resize" value="true" /> |
| 166 | <option name="alias_shader_extension" value="GL_ATI_shader_texture_lod:GL_ARB_shader_texture_lod" /> |
| 167 | <option name="allow_vertex_texture_bias" value="true" /> |
| 168 | </application> |
| 169 | |
| 170 | <application name="Dying Light" executable="DyingLightGame"> |
| 171 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 172 | </application> |
| 173 | |
| 174 | <application name="Exanima" executable="Exanima.exe"> |
| 175 | <option name="glsl_zero_init" value="true"/> |
| 176 | </application> |
| 177 | |
| 178 | <application name="Full Bore" executable="fullbore"> |
| 179 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 180 | </application> |
| 181 | |
| 182 | <application name="RAGE (64-bit)" executable="Rage64.exe"> |
| 183 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 184 | <option name="force_gl_map_buffer_synchronized" value="true" /> |
| 185 | </application> |
| 186 | |
| 187 | <application name="RAGE (32-bit)" executable="Rage.exe"> |
| 188 | <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> |
| 189 | <option name="force_gl_map_buffer_synchronized" value="true" /> |
| 190 | </application> |
| 191 | |
| 192 | <application name="Second Life" executable="do-not-directly-run-secondlife-bin"> |
| 193 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 194 | </application> |
| 195 | |
| 196 | <application name="Warsow (32-bit)" executable="warsow.i386"> |
| 197 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 198 | </application> |
| 199 | |
| 200 | <application name="Warsow (64-bit)" executable="warsow.x86_64"> |
| 201 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 202 | </application> |
| 203 | |
| 204 | <application name="Rust" executable="rust"> |
| 205 | <option name="glsl_zero_init" value="true"/> |
| 206 | </application> |
| 207 | |
| 208 | <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp"> |
| 209 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 210 | <option name="glsl_correct_derivatives_after_discard" value="true" /> |
| 211 | <option name="force_gl_vendor" value="ATI Technologies, Inc."/> |
| 212 | </application> |
| 213 | |
| 214 | <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro"> |
| 215 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 216 | </application> |
| 217 | |
| 218 | <application name="Worms W.M.D" executable="Worms W.M.Dx64"> |
| 219 | <option name="allow_higher_compat_version" value="true" /> |
| 220 | </application> |
| 221 | |
| 222 | <application name="Crookz - The Big Heist" executable="Crookz"> |
| 223 | <option name="allow_higher_compat_version" value="true" /> |
| 224 | </application> |
| 225 | |
| 226 | <application name="Tropico 5" executable="Tropico5"> |
| 227 | <option name="allow_higher_compat_version" value="true" /> |
| 228 | </application> |
| 229 | |
| 230 | <application name="Faster than Light (32-bit)" executable="FTL.x86"> |
| 231 | <option name="allow_higher_compat_version" value="true" /> |
| 232 | </application> |
| 233 | |
| 234 | <application name="Faster than Light (64-bit)" executable="FTL.amd64"> |
| 235 | <option name="allow_higher_compat_version" value="true" /> |
| 236 | </application> |
| 237 | |
| 238 | <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe"> |
| 239 | <option name="allow_higher_compat_version" value="true" /> |
| 240 | </application> |
| 241 | |
| 242 | <application name="SNK HEROINES Tag Team Frenzy" executable="SNKHEROINES.exe"> |
| 243 | <option name="force_compat_shaders" value="true" /> |
| 244 | </application> |
| 245 | |
| 246 | <application name="Metal Slug XX" executable="MSXX_main.exe"> |
| 247 | <option name="force_compat_shaders" value="true" /> |
| 248 | </application> |
| 249 | |
| 250 | <application name="The Culling" executable="Victory"> |
| 251 | <option name="force_glsl_version" value="440" /> |
| 252 | </application> |
| 253 | |
| 254 | <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> |
| 255 | <option name="force_glsl_abs_sqrt" value="true" /> |
| 256 | </application> |
| 257 | |
| 258 | <application name="Spec Ops: The Line (64-bit)" executable="specops"> |
| 259 | <option name="force_glsl_abs_sqrt" value="true" /> |
| 260 | </application> |
| 261 | |
| 262 | <application name="Jamestown+" executable="JamestownPlus.exe"> |
| 263 | <option name="force_compat_profile" value="true" /> |
| 264 | </application> |
| 265 | |
| 266 | <application name="Kerbal Space Program (32-bit)" executable="KSP.x86"> |
| 267 | <option name="glsl_zero_init" value="true"/> |
| 268 | </application> |
| 269 | |
| 270 | <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64"> |
| 271 | <option name="glsl_zero_init" value="true"/> |
| 272 | </application> |
| 273 | |
| 274 | <application name="Luna Sky" executable="lunasky"> |
| 275 | <option name="force_glsl_version" value="130"/> |
| 276 | <option name="glsl_ignore_write_to_readonly_var" value="true"/> |
| 277 | </application> |
| 278 | |
| 279 | <application name="Rocket League" executable="RocketLeague"> |
| 280 | <option name="glsl_correct_derivatives_after_discard" value="true"/> |
| 281 | </application> |
| 282 | |
| 283 | <application name="The Witcher 2" executable="witcher2"> |
| 284 | <option name="glsl_correct_derivatives_after_discard" value="true"/> |
| 285 | </application> |
| 286 | |
| 287 | <application name="Unreal 4 Editor" executable="UE4Editor"> |
| 288 | <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> |
| 289 | </application> |
| 290 | |
| 291 | <application name="Observer" executable="TheObserver-Linux-Shipping"> |
| 292 | <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> |
| 293 | </application> |
| 294 | |
| 295 | <!-- Pixel Game Maker MV workarounds. Games include: YuuYuu Jiteki no Yuukarin, Elfin Force, Eden Gamma, etc --> |
| 296 | <application name="Pixel Game Maker MV" executable="player.exe"> |
| 297 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 298 | </application> |
| 299 | <application name="Eden Gamma" executable="EdenGammaGame-0.3.0.2.exe"> |
| 300 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 301 | </application> |
| 302 | |
| 303 | <application name="Steamroll" executable="Steamroll-Linux-Shipping"> |
| 304 | <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> |
| 305 | </application> |
| 306 | |
| 307 | <application name="Refunct" executable="Refunct-Linux-Shipping"> |
| 308 | <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> |
| 309 | </application> |
| 310 | |
| 311 | <application name="We Happy Few" executable="GlimpseGame"> |
| 312 | <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> |
| 313 | </application> |
| 314 | |
| 315 | <application name="Google Earth VR" executable="Earth.exe"> |
| 316 | <option name="allow_glsl_builtin_const_expression" value="true"/> |
| 317 | <option name="allow_glsl_relaxed_es" value="true"/> |
| 318 | </application> |
| 319 | |
| 320 | <application name="Champions of Regnum" executable="game"> |
| 321 | <option name="allow_extra_pp_tokens" value="true" /> |
| 322 | </application> |
| 323 | |
| 324 | <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe"> |
| 325 | <option name="force_compat_profile" value="true" /> |
| 326 | </application> |
| 327 | |
| 328 | <application name="ARMA 3" executable="arma3.x86_64"> |
| 329 | <option name="glsl_correct_derivatives_after_discard" value="true"/> |
| 330 | </application> |
| 331 | |
| 332 | <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe"> |
| 333 | <option name="force_compat_profile" value="true" /> |
| 334 | </application> |
| 335 | |
| 336 | <application name="GpuTest" executable="GpuTest"> |
| 337 | <!-- GiMark benchmark from GpuTest does not initialize .w channel of |
| 338 | lightDir0 and lightDir1 varyings in the vertex shader while |
| 339 | uses it in the fragment shader. --> |
| 340 | <option name="glsl_zero_init" value="true"/> |
| 341 | </application> |
| 342 | |
| 343 | <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe"> |
| 344 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 --> |
| 345 | <option name="glsl_zero_init" value="true" /> |
| 346 | </application> |
| 347 | |
| 348 | <application name="GRID Autosport" executable="GridAutosport"> |
| 349 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> |
| 350 | <option name="force_integer_tex_nearest" value="true" /> |
| 351 | </application> |
| 352 | |
| 353 | <application name="DIRT: Showdown" executable="dirt.i386"> |
| 354 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> |
| 355 | <option name="force_integer_tex_nearest" value="true" /> |
| 356 | </application> |
| 357 | |
| 358 | <application name="DiRT Rally" executable="DirtRally"> |
| 359 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5648 --> |
| 360 | <option name="vs_position_always_invariant" value="true" /> |
| 361 | </application> |
| 362 | |
| 363 | <application name="Homerun Clash" executable="com.haegin.homerunclash"> |
| 364 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7199 --> |
| 365 | <option name="lower_depth_range_rate" value="0.8" /> |
| 366 | </application> |
| 367 | |
| 368 | <application name="The Spirit and The Mouse" executable="TheSpiritAndTheMouse.exe"> |
| 369 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/9738 --> |
| 370 | <option name="lower_depth_range_rate" value="0.8" /> |
| 371 | </application> |
| 372 | |
| 373 | <application name="Penumbra: Overture" executable="Penumbra.exe"> |
| 374 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/8425 --> |
| 375 | <option name="allow_multisampled_copyteximage" value="true" /> |
| 376 | </application> |
| 377 | |
| 378 | <!-- Workarounds for SPECviewperf relying on invalid / non-conformant |
| 379 | OpenGL behavior. Older SPECviewperf versions might also need this. |
| 380 | --> |
| 381 | <application name="SPECviewperf13" executable="viewperf"> |
| 382 | <option name="vblank_mode" value="0" /> |
| 383 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 384 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 385 | <option name="force_gl_names_reuse" value="true" /> |
| 386 | <!-- This makes it use GL_NVX_gpu_memory_info to query memory info |
| 387 | instead of non-existent GLX_AMD_gpu_association. Yes, it checks |
| 388 | the vendor string, not the extension list. --> |
| 389 | <option name="force_gl_vendor" value="NVIDIA Corporation" /> |
| 390 | <!-- creo-02 doesn't enable GL_EXT_shader_image_load_store in GLSL --> |
| 391 | <option name="force_glsl_extensions_warn" value="true" /> |
| 392 | <option name="mesa_glthread_app_profile" value="1" /> |
| 393 | <option name="mesa_no_error" value="true" /> |
| 394 | <!-- Creating 10-bit pbuffers fails in the X server and returns BadAlloc. --> |
| 395 | <option name="allow_rgb10_configs" value="false" /> |
| 396 | <option name="allow_invalid_glx_destroy_window" value="true" /> |
| 397 | </application> |
| 398 | |
| 399 | <!-- Workaround for unsynchronized VBO updates on Dead Cells android |
| 400 | game. (Possibly also needed for desktop version?) |
| 401 | --> |
| 402 | <application name="Dead-Cells" executable="com.playdigious.deadcells.mobile"> |
| 403 | <option name="ignore_map_unsynchronized" value="true" /> |
| 404 | </application> |
| 405 | |
| 406 | <application name="Teardown" executable="teardown.exe"> |
| 407 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 --> |
| 408 | <option name="force_integer_tex_nearest" value="true" /> |
| 409 | <option name="allow_glsl_extension_directive_midshader" value="true" /> |
| 410 | </application> |
| 411 | |
| 412 | <application name="Golf With Your Friends" executable="Golf With Your Friends.x86_64"> |
| 413 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/4547 --> |
| 414 | <option name="glsl_correct_derivatives_after_discard" value="true" /> |
| 415 | </application> |
| 416 | |
| 417 | <application name="Cossacks 3" executable="cossacks.exe"> |
| 418 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 419 | </application> |
| 420 | |
| 421 | <application name="Kaiju-A-Gogo" executable="kaiju.exe"> |
| 422 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 423 | </application> |
| 424 | |
| 425 | <application name="Captain Lycop: Invasion of the Heters (Wine)" executable="lycop.exe"> |
| 426 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 427 | </application> |
| 428 | |
| 429 | <application name="Captain Lycop: Invasion of the Heters" executable="lycop"> |
| 430 | <option name="allow_glsl_120_subset_in_110" value="true" /> |
| 431 | </application> |
| 432 | |
| 433 | <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> |
| 434 | <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> |
| 435 | </application> |
| 436 | <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> |
| 437 | <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> |
| 438 | <option name="do_dce_before_clip_cull_analysis" value="true" /> |
| 439 | </application> |
| 440 | <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> |
| 441 | <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> |
| 442 | </application> |
| 443 | |
| 444 | <!-- Workaround for Mari with executable name like Mari4.5v2, Mari4.7v4 --> |
| 445 | <application name="Mari" executable_regexp="Mari[0-9]+[.][0-9]+v[0-9]+"> |
| 446 | <!-- Need ARB_gpu_shader5 for non-const sampler array index support --> |
| 447 | <option name="force_glsl_extensions_warn" value="true" /> |
| 448 | </application> |
| 449 | |
| 450 | <application name="Discovery Studio 2020" executable="DiscoveryStudio2020-bin"> |
| 451 | <option name="force_direct_glx_context" value="true" /> |
| 452 | </application> |
| 453 | |
| 454 | <application name="Abaqus" executable="ABQcaeK"> |
| 455 | <option name="keep_native_window_glx_drawable" value="true" /> |
| 456 | <option name="allow_rgb10_configs" value="false" /> |
| 457 | </application> |
| 458 | |
| 459 | <application name="Maya" executable="maya.bin"> |
| 460 | <!-- Needed otherwise the app doesn't try to use OpenCL --> |
| 461 | <option name="force_gl_vendor" value="ATI Technologies Inc." /> |
| 462 | </application> |
| 463 | |
| 464 | <application name="SD Gundam G Generation Cross Rays" executable="togg.exe"> |
| 465 | <option name="force_compat_shaders" value="true" /> |
| 466 | </application> |
| 467 | |
| 468 | <application name="FINAL FANTASY XI" executable="pol.exe"> |
| 469 | <!-- Causes invisible textures. --> |
| 470 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7562 --> |
| 471 | <option name="mesa_glthread_app_profile" value="0"/> |
| 472 | </application> |
| 473 | |
| 474 | <!-- The GL thread allowlist is below, workarounds are above. |
| 475 | Keep it that way. --> |
| 476 | |
| 477 | <application name="Minecraft" executable="minecraft-launcher"> |
| 478 | <option name="mesa_glthread_app_profile" value="1"/> |
| 479 | </application> |
| 480 | <application name="Minecraft-FTB" executable="ftb-app"> |
| 481 | <option name="mesa_glthread_app_profile" value="1"/> |
| 482 | </application> |
| 483 | |
| 484 | <application name="Alien Isolation" executable="AlienIsolation"> |
| 485 | <option name="mesa_glthread_app_profile" value="1"/> |
| 486 | </application> |
| 487 | |
| 488 | <application name="BioShock Infinite" executable="bioshock.i386"> |
| 489 | <option name="mesa_glthread_app_profile" value="1"/> |
| 490 | </application> |
| 491 | |
| 492 | <application name="Borderlands 2" executable="Borderlands2"> |
| 493 | <option name="mesa_glthread_app_profile" value="1"/> |
| 494 | </application> |
| 495 | |
| 496 | <application name="Civilization 5" executable="Civ5XP"> |
| 497 | <option name="mesa_glthread_app_profile" value="1"/> |
| 498 | </application> |
| 499 | <application name="Civilization 6" executable="Civ6"> |
| 500 | <option name="mesa_glthread_app_profile" value="1"/> |
| 501 | </application> |
| 502 | <application name="Civilization 6" executable="Civ6Sub"> |
| 503 | <option name="mesa_glthread_app_profile" value="1"/> |
| 504 | </application> |
| 505 | |
| 506 | <application name="Dreamfall Chapters" executable="Dreamfall Chapters"> |
| 507 | <option name="mesa_glthread_app_profile" value="1"/> |
| 508 | </application> |
| 509 | |
| 510 | <application name="Hitman" executable="HitmanPro"> |
| 511 | <option name="mesa_glthread_app_profile" value="1"/> |
| 512 | </application> |
| 513 | |
| 514 | <application name="Renowned Explorers: International Society" executable="abbeycore_steam"> |
| 515 | <option name="mesa_glthread_app_profile" value="1"/> |
| 516 | </application> |
| 517 | |
| 518 | <application name="Saints Row 2" executable="saintsrow2.i386"> |
| 519 | <option name="mesa_glthread_app_profile" value="1"/> |
| 520 | </application> |
| 521 | <application name="Saints Row: The Third" executable="SaintsRow3.i386"> |
| 522 | <option name="mesa_glthread_app_profile" value="1"/> |
| 523 | </application> |
| 524 | <application name="Saints Row IV" executable="SaintsRow4.i386"> |
| 525 | <option name="mesa_glthread_app_profile" value="1"/> |
| 526 | </application> |
| 527 | <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386"> |
| 528 | <option name="mesa_glthread_app_profile" value="1"/> |
| 529 | </application> |
| 530 | |
| 531 | <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE"> |
| 532 | <option name="mesa_glthread_app_profile" value="1"/> |
| 533 | </application> |
| 534 | |
| 535 | <application name="The Witcher 2" executable="witcher2"> |
| 536 | <option name="mesa_glthread_app_profile" value="1"/> |
| 537 | </application> |
| 538 | |
| 539 | <application name="American Truck Simulator" executable="amtrucks"> |
| 540 | <option name="mesa_glthread_app_profile" value="1"/> |
| 541 | </application> |
| 542 | <application name="Euro Truck Simulator 2" executable="eurotrucks2"> |
| 543 | <option name="mesa_glthread_app_profile" value="1"/> |
| 544 | </application> |
| 545 | |
| 546 | <application name="Overlord" executable="overlord.i386"> |
| 547 | <option name="mesa_glthread_app_profile" value="1"/> |
| 548 | </application> |
| 549 | <application name="Overlord 2" executable="overlord2.i386"> |
| 550 | <option name="mesa_glthread_app_profile" value="1"/> |
| 551 | </application> |
| 552 | |
| 553 | <application name="Oil Rush" executable="OilRush_x86"> |
| 554 | <option name="mesa_glthread_app_profile" value="1"/> |
| 555 | </application> |
| 556 | |
| 557 | <application name="War Thunder" executable="aces"> |
| 558 | <option name="mesa_glthread_app_profile" value="1"/> |
| 559 | </application> |
| 560 | <application name="War Thunder (Wine)" executable="aces.exe"> |
| 561 | <option name="mesa_glthread_app_profile" value="1"/> |
| 562 | </application> |
| 563 | |
| 564 | <application name="Outlast" executable="OLGame.x86_64"> |
| 565 | <option name="mesa_glthread_app_profile" value="1"/> |
| 566 | </application> |
| 567 | |
| 568 | <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> |
| 569 | <option name="mesa_glthread_app_profile" value="1"/> |
| 570 | </application> |
| 571 | <application name="Spec Ops: The Line (64-bit)" executable="specops"> |
| 572 | <option name="mesa_glthread_app_profile" value="1"/> |
| 573 | </application> |
| 574 | <application name="Mount and Blade Warband" executable="mb_warband_linux"> |
| 575 | <option name="mesa_glthread_app_profile" value="1"/> |
| 576 | </application> |
| 577 | |
| 578 | <application name="Valheim" executable="valheim.x86_64"> |
| 579 | <option name="mesa_glthread_app_profile" value="1"/> |
| 580 | </application> |
| 581 | |
| 582 | <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. --> |
| 583 | <application name="Medieval II: Total War" executable="Medieval2"> |
| 584 | <option name="mesa_glthread_app_profile" value="1"/> |
| 585 | </application> |
| 586 | |
| 587 | <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. --> |
| 588 | <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe"> |
| 589 | <option name="mesa_glthread_app_profile" value="1"/> |
| 590 | </application> |
| 591 | |
| 592 | <!-- around 30% increase in avg fps --> |
| 593 | <application name="Far Cry 2 (wine)" executable="farcry2.exe"> |
| 594 | <option name="mesa_glthread_app_profile" value="1"/> |
| 595 | </application> |
| 596 | |
| 597 | <application name="Talos Principle" executable="Talos"> |
| 598 | <option name="mesa_glthread_app_profile" value="1"/> |
| 599 | <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> |
| 600 | </application> |
| 601 | <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted"> |
| 602 | <option name="mesa_glthread_app_profile" value="1"/> |
| 603 | <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> |
| 604 | </application> |
| 605 | |
| 606 | <application name="Serious Sam Fusion" executable="Sam2017"> |
| 607 | <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> |
| 608 | </application> |
| 609 | <application name="Serious Sam Fusion (Unrestricted)" executable="Sam2017_Unrestricted"> |
| 610 | <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> |
| 611 | </application> |
| 612 | |
| 613 | <!-- roughly 30% increase in fps --> |
| 614 | <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64"> |
| 615 | <option name="mesa_glthread_app_profile" value="1"/> |
| 616 | </application> |
| 617 | <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86"> |
| 618 | <option name="mesa_glthread_app_profile" value="1"/> |
| 619 | </application> |
| 620 | |
| 621 | <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. --> |
| 622 | <application name="Dolphin Emulator" executable="dolphin-emu"> |
| 623 | <option name="mesa_glthread_app_profile" value="1"/> |
| 624 | </application> |
| 625 | <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt"> |
| 626 | <option name="mesa_glthread_app_profile" value="1"/> |
| 627 | </application> |
| 628 | <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu"> |
| 629 | <option name="mesa_glthread_app_profile" value="1"/> |
| 630 | </application> |
| 631 | <application name="RPCS3" executable="rpcs3"> |
| 632 | <option name="mesa_glthread_app_profile" value="1"/> |
| 633 | </application> |
| 634 | <application name="PCSX2" executable="PCSX2"> |
| 635 | <option name="mesa_glthread_app_profile" value="1"/> |
| 636 | </application> |
| 637 | |
| 638 | <application name="From The Depths" executable="From_The_Depths.x86_64"> |
| 639 | <option name="mesa_glthread_app_profile" value="1"/> |
| 640 | </application> |
| 641 | |
| 642 | <!-- #Minimum fps 136 ==> 144 --> |
| 643 | <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86"> |
| 644 | <option name="mesa_glthread_app_profile" value="1" /> |
| 645 | </application> |
| 646 | <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64"> |
| 647 | <option name="mesa_glthread_app_profile" value="1" /> |
| 648 | </application> |
| 649 | |
| 650 | <!-- 10% fps increase --> |
| 651 | <application name="Beholder (32-bit)" executable="Beholder.x86"> |
| 652 | <option name="mesa_glthread_app_profile" value="1" /> |
| 653 | </application> |
| 654 | <application name="Beholder (64-bit)" executable="Beholder.x86_64"> |
| 655 | <option name="mesa_glthread_app_profile" value="1" /> |
| 656 | </application> |
| 657 | |
| 658 | <!-- X3 games: 15% avg fps increase while flying in space --> |
| 659 | <application name="X3 Reunion" executable="X3R_main"> |
| 660 | <option name="mesa_glthread_app_profile" value="1" /> |
| 661 | </application> |
| 662 | <application name="X3 Terran Conflict" executable="X3TR_main"> |
| 663 | <option name="mesa_glthread_app_profile" value="1" /> |
| 664 | </application> |
| 665 | <application name="X3 Albion Prelude" executable="X3AP_main"> |
| 666 | <option name="mesa_glthread_app_profile" value="1" /> |
| 667 | </application> |
| 668 | |
| 669 | <!-- +30% avg fps --> |
| 670 | <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel"> |
| 671 | <option name="mesa_glthread_app_profile" value="1" /> |
| 672 | </application> |
| 673 | <application name="Transport Fever" executable="TransportFever"> |
| 674 | <option name="mesa_glthread_app_profile" value="1" /> |
| 675 | </application> |
| 676 | |
| 677 | <application name="Unigine Sanctuary" executable="Sanctuary"> |
| 678 | <option name="mesa_glthread_app_profile" value="1" /> |
| 679 | </application> |
| 680 | <application name="Unigine Tropics" executable="Tropics"> |
| 681 | <option name="mesa_glthread_app_profile" value="1" /> |
| 682 | </application> |
| 683 | <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> |
| 684 | <option name="mesa_glthread_app_profile" value="1" /> |
| 685 | </application> |
| 686 | <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> |
| 687 | <option name="mesa_glthread_app_profile" value="1" /> |
| 688 | </application> |
| 689 | <application name="Unigine Valley (32-bit)" executable="valley_x86"> |
| 690 | <option name="mesa_glthread_app_profile" value="1" /> |
| 691 | </application> |
| 692 | <application name="Unigine Valley (64-bit)" executable="valley_x64"> |
| 693 | <option name="mesa_glthread_app_profile" value="1" /> |
| 694 | </application> |
| 695 | <application name="Unigine Superposition" executable="superposition"> |
| 696 | <option name="mesa_glthread_app_profile" value="1" /> |
| 697 | </application> |
| 698 | |
| 699 | <application name="Basemark GPU" executable="BasemarkGPU_gl"> |
| 700 | <option name="mesa_glthread_app_profile" value="1" /> |
| 701 | </application> |
| 702 | |
| 703 | <application name="Stellaris" executable="stellaris"> |
| 704 | <option name="mesa_glthread_app_profile" value="1"/> |
| 705 | </application> |
| 706 | |
| 707 | <application name="Battletech" executable="BattleTech"> |
| 708 | <option name="mesa_glthread_app_profile" value="1"/> |
| 709 | </application> |
| 710 | |
| 711 | <application name="DeusExMD" executable="DeusExMD"> |
| 712 | <option name="mesa_glthread_app_profile" value="0"/> |
| 713 | </application> |
| 714 | <application name="F1 2015" executable="F12015"> |
| 715 | <option name="mesa_glthread_app_profile" value="0"/> |
| 716 | </application> |
| 717 | <application name="KWin Wayland" executable="kwin_wayland"> |
| 718 | <!-- This works around a cursor issue with glthread. |
| 719 | See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351#note_1581105 --> |
| 720 | <option name="mesa_glthread_app_profile" value="0"/> |
| 721 | </application> |
| 722 | |
| 723 | <!-- Adaptive sync denylist follows below: --> |
| 724 | <application name="gnome-shell" executable="gnome-shell"> |
| 725 | <option name="adaptive_sync" value="false" /> |
| 726 | <option name="v3d_nonmsaa_texture_size_limit" value="true" /> |
| 727 | </application> |
| 728 | <application name="Desktop — Plasma" executable="plasmashell"> |
| 729 | <option name="adaptive_sync" value="false" /> |
| 730 | </application> |
| 731 | <application name="budgie-wm" executable="budgie-wm"> |
| 732 | <option name="adaptive_sync" value="false" /> |
| 733 | </application> |
| 734 | <application name="kwin_x11" executable="kwin_x11"> |
| 735 | <option name="adaptive_sync" value="false" /> |
| 736 | </application> |
| 737 | <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter"> |
| 738 | <option name="adaptive_sync" value="false" /> |
| 739 | </application> |
| 740 | <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter"> |
| 741 | <option name="adaptive_sync" value="false" /> |
| 742 | </application> |
| 743 | <application name="kscreenlocker_greet" executable="kscreenlocker_greet"> |
| 744 | <option name="adaptive_sync" value="false" /> |
| 745 | </application> |
| 746 | <application name="startplasma" executable="startplasma"> |
| 747 | <option name="adaptive_sync" value="false" /> |
| 748 | </application> |
| 749 | <application name="sddm-greeter" executable="sddm-greeter"> |
| 750 | <option name="adaptive_sync" value="false" /> |
| 751 | </application> |
| 752 | <application name="krunner" executable="krunner"> |
| 753 | <option name="adaptive_sync" value="false" /> |
| 754 | </application> |
| 755 | <application name="spectacle" executable="spectacle"> |
| 756 | <option name="adaptive_sync" value="false" /> |
| 757 | </application> |
| 758 | <application name="marco" executable="marco"> |
| 759 | <option name="adaptive_sync" value="false" /> |
| 760 | </application> |
| 761 | <application name="compton" executable="compton"> |
| 762 | <option name="adaptive_sync" value="false" /> |
| 763 | </application> |
| 764 | <application name="picom" executable="picom"> |
| 765 | <option name="adaptive_sync" value="false" /> |
| 766 | </application> |
| 767 | <application name="xfwm4" executable="xfwm4"> |
| 768 | <option name="adaptive_sync" value="false" /> |
| 769 | </application> |
| 770 | <application name="Enlightenment" executable="enlightenment"> |
| 771 | <option name="adaptive_sync" value="false" /> |
| 772 | </application> |
| 773 | <application name="mutter" executable="mutter"> |
| 774 | <option name="adaptive_sync" value="false" /> |
| 775 | <option name="v3d_nonmsaa_texture_size_limit" value="true" /> |
| 776 | </application> |
| 777 | <application name="muffin" executable="muffin"> |
| 778 | <option name="adaptive_sync" value="false" /> |
| 779 | </application> |
| 780 | <application name="cinnamon" executable="cinnamon"> |
| 781 | <option name="adaptive_sync" value="false" /> |
| 782 | </application> |
| 783 | <application name="compiz" executable="compiz"> |
| 784 | <option name="adaptive_sync" value="false" /> |
| 785 | </application> |
| 786 | <application name="Firefox" executable="firefox"> |
| 787 | <option name="adaptive_sync" value="false" /> |
| 788 | </application> |
| 789 | <application name="Firefox ESR" executable="firefox-esr"> |
| 790 | <option name="adaptive_sync" value="false" /> |
| 791 | </application> |
| 792 | <application name="Chromium" executable="chromium"> |
| 793 | <option name="adaptive_sync" value="false" /> |
| 794 | </application> |
| 795 | <application name="Google Chrome" executable="chrome"> |
| 796 | <option name="adaptive_sync" value="false" /> |
| 797 | </application> |
| 798 | <application name="Iceweasel" executable="iceweasel"> |
| 799 | <option name="adaptive_sync" value="false" /> |
| 800 | </application> |
| 801 | <application name="Epiphany" executable="epiphany"> |
| 802 | <option name="adaptive_sync" value="false" /> |
| 803 | </application> |
| 804 | <application name="Konqueror" executable="konqueror"> |
| 805 | <option name="adaptive_sync" value="false" /> |
| 806 | </application> |
| 807 | <application name="Falkon" executable="falkon"> |
| 808 | <option name="adaptive_sync" value="false" /> |
| 809 | </application> |
| 810 | <application name="Seamonkey" executable="seamonkey"> |
| 811 | <option name="adaptive_sync" value="false" /> |
| 812 | </application> |
| 813 | <application name="Waterfox" executable="waterfox"> |
| 814 | <option name="adaptive_sync" value="false" /> |
| 815 | </application> |
| 816 | <application name="VLC Media Player" executable="vlc"> |
| 817 | <option name="adaptive_sync" value="false" /> |
| 818 | </application> |
| 819 | <application name="Totem" executable="totem"> |
| 820 | <option name="adaptive_sync" value="false" /> |
| 821 | </application> |
| 822 | <application name="Dragon Player" executable="dragon"> |
| 823 | <option name="adaptive_sync" value="false" /> |
| 824 | </application> |
| 825 | <application name="Xorg" executable="Xorg"> |
| 826 | <option name="v3d_nonmsaa_texture_size_limit" value="true" /> |
| 827 | </application> |
| 828 | |
| 829 | <application name="gfxbench" executable="testfw_app"> |
| 830 | <option name="mesa_glthread_app_profile" value="0" /> |
| 831 | <option name="vk_x11_override_min_image_count" value="2" /> |
| 832 | <option name="vk_wsi_force_bgra8_unorm_first" value="true" /> |
| 833 | </application> |
| 834 | |
| 835 | <application name="Rainbow Six Extraction (Wine)" executable="R6-Extraction.exe"> |
| 836 | <option name="vk_x11_override_min_image_count" value="2" /> |
| 837 | <option name="vk_x11_strict_image_count" value="true" /> |
| 838 | </application> |
| 839 | |
| 840 | <application name="Brink" executable="brink.exe"> |
| 841 | <option name="glx_extension_override" value="-GLX_OML_swap_method" /> |
| 842 | <option name="allow_higher_compat_version" value="true" /> |
| 843 | </application> |
| 844 | |
| 845 | <application name="Enter The Gungeon (32 bits)" executable="EtG.x86"> |
| 846 | <option name="glsl_correct_derivatives_after_discard" value="true" /> |
| 847 | </application> |
| 848 | |
| 849 | <application name="Enter The Gungeon (64 bits)" executable="EtG.x86_64"> |
| 850 | <option name="glsl_correct_derivatives_after_discard" value="true" /> |
| 851 | </application> |
| 852 | |
| 853 | <!-- Workaround for STAR WARS: Knights of the Old Republic relying on |
| 854 | non-specified OpenGL behavior (expecting texture names to be |
| 855 | small enough to fit in the static array). |
| 856 | --> |
| 857 | <application name="SWKOTOR (wine)" executable="swkotor.exe"> |
| 858 | <option name="force_gl_names_reuse" value="true"/> |
| 859 | </application> |
| 860 | |
| 861 | <application name="Assault Android Cactus (32-bit)" executable="cactus_demo.x86"> |
| 862 | <option name="vs_position_always_precise" value="true" /> |
| 863 | </application> |
| 864 | <application name="Assault Android Cactus (64-bit)" executable="cactus_demo.x86_64"> |
| 865 | <option name="vs_position_always_precise" value="true" /> |
| 866 | </application> |
| 867 | <application name="Assault Android Cactus (32-bit)" executable="cactus.x86"> |
| 868 | <option name="vs_position_always_precise" value="true" /> |
| 869 | </application> |
| 870 | <application name="Assault Android Cactus (64-bit)" executable="cactus.x86_64"> |
| 871 | <option name="vs_position_always_precise" value="true" /> |
| 872 | </application> |
| 873 | |
| 874 | <application name="Limbo" executable="limbo"> |
| 875 | <!-- issue 7976 --> |
| 876 | <option name="glsl_zero_init" value="true"/> |
| 877 | </application> |
| 878 | |
| 879 | <application name="Genshin Impact" executable="com.miHoYo.GenshinImpact"> |
| 880 | <option name="ignore_discard_framebuffer" value="true" /> |
| 881 | </application> |
| 882 | |
| 883 | <!-- Vulkan workarounds: --> |
| 884 | |
| 885 | <!-- Works around the game not starting (does not deal with |
| 886 | the implementation returning more images than the minimum |
| 887 | specified by the application. --> |
| 888 | <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23"> |
| 889 | <option name="vk_x11_strict_image_count" value="true" /> |
| 890 | </engine> |
| 891 | |
| 892 | <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. --> |
| 893 | <application name="DOOM" executable="DOOMx64vk.exe"> |
| 894 | <option name="vk_x11_strict_image_count" value="true" /> |
| 895 | </application> |
| 896 | |
| 897 | <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for |
| 898 | IMMEDIATE. This fixes a 10% performance issue with RADV. --> |
| 899 | <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> |
| 900 | <option name="vk_x11_ensure_min_image_count" value="true" /> |
| 901 | </application> |
| 902 | |
| 903 | <!-- Wolfenstein: Youngblood crashes at startup on xwayland without this workaround. --> |
| 904 | <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> |
| 905 | <option name="vk_x11_strict_image_count" value="true" /> |
| 906 | </application> |
| 907 | |
| 908 | <!-- Wolfenstein II: The New Colossus crashes with vsync turned off on xwayland without this workaround. --> |
| 909 | <application name="Wolfenstein II: The New Colossus" executable="NewColossus_x64vk.exe"> |
| 910 | <option name="vk_x11_strict_image_count" value="true" /> |
| 911 | </application> |
| 912 | |
| 913 | <!-- Metro:Exodus crashes at startup on xwayland without this workaround. --> |
| 914 | <application name="Metro: Exodus" application_name_match="metroexodus"> |
| 915 | <option name="vk_x11_strict_image_count" value="true" /> |
| 916 | </application> |
| 917 | |
| 918 | <application name="Forsaken Remastered" executable="ForsakenEx"> |
| 919 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437 --> |
| 920 | <option name="vk_dont_care_as_load" value="true" /> |
| 921 | </application> |
| 922 | |
| 923 | <!-- Path of Exile stops with "unsupported backbuffer count" when more than |
| 924 | 3 swapchain image are reported. --> |
| 925 | <application name="Path of Exile" executable="PathOfExile_x64Steam.exe"> |
| 926 | <option name="vk_x11_override_min_image_count" value="3" /> |
| 927 | </application> |
| 928 | <application name="Path of Exile" executable="PathOfExileSteam.exe"> |
| 929 | <option name="vk_x11_override_min_image_count" value="3" /> |
| 930 | </application> |
| 931 | |
| 932 | <!-- Disable fp16 support for browsers, since there is too much |
| 933 | broken WebGL out there that uses the wrong precision. |
| 934 | Bonus workaround for Firefox bug #1845309. --> |
| 935 | <application name="Firefox" executable="firefox"> |
| 936 | <option name="no_fp16" value="true" /> |
| 937 | </application> |
| 938 | <application name="Firefox ESR" executable="firefox-esr"> |
| 939 | <option name="no_fp16" value="true" /> |
| 940 | </application> |
| 941 | <application name="Chromium" executable="chromium"> |
| 942 | <option name="no_fp16" value="true" /> |
| 943 | </application> |
| 944 | <application name="Google Chrome" executable="chrome"> |
| 945 | <option name="no_fp16" value="true" /> |
| 946 | </application> |
| 947 | <application name="Iceweasel" executable="iceweasel"> |
| 948 | <option name="no_fp16" value="true" /> |
| 949 | </application> |
| 950 | <application name="Epiphany" executable="epiphany"> |
| 951 | <option name="no_fp16" value="true" /> |
| 952 | </application> |
| 953 | <application name="Konqueror" executable="konqueror"> |
| 954 | <option name="no_fp16" value="true" /> |
| 955 | </application> |
| 956 | <application name="Falkon" executable="falkon"> |
| 957 | <option name="no_fp16" value="true" /> |
| 958 | </application> |
| 959 | <application name="Seamonkey" executable="seamonkey"> |
| 960 | <option name="no_fp16" value="true" /> |
| 961 | </application> |
| 962 | <application name="Waterfox" executable="waterfox"> |
| 963 | <option name="no_fp16" value="true" /> |
| 964 | </application> |
| 965 | </device> |
| 966 | <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.--> |
| 967 | <device driver="vmwgfx"> |
| 968 | <application name="gnome-shell" executable="gnome-shell"> |
| 969 | <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" /> |
| 970 | </application> |
| 971 | <application name="cinnamon" executable="cinnamon"> |
| 972 | <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" /> |
| 973 | </application> |
| 974 | <application name="Compiz" executable="Compiz"> |
| 975 | <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control" /> |
| 976 | </application> |
| 977 | </device> |
| 978 | <device driver="radeonsi"> |
| 979 | <application name="Alien Isolation" executable="AlienIsolation"> |
| 980 | <option name="force_gl_vendor" value="X.Org" /> |
| 981 | </application> |
| 982 | <application name="American Truck Simulator" executable="amtrucks"> |
| 983 | <option name="radeonsi_zerovram" value="true" /> |
| 984 | </application> |
| 985 | <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> |
| 986 | <option name="radeonsi_zerovram" value="true" /> |
| 987 | <option name="radeonsi_clamp_div_by_zero" value="true" /> |
| 988 | </application> |
| 989 | <application name="Exanima" executable="Exanima.exe"> |
| 990 | <option name="radeonsi_zerovram" value="true"/> |
| 991 | </application> |
| 992 | <application name="Nowhere Patrol" executable="NowherePatrol.exe"> |
| 993 | <option name="radeonsi_zerovram" value="true" /> |
| 994 | </application> |
| 995 | <application name="Rocket League" executable="RocketLeague"> |
| 996 | <option name="radeonsi_zerovram" value="true" /> |
| 997 | </application> |
| 998 | <application name="Gfx Bench" executable="gfxbench_gl"> |
| 999 | <!-- Helps offscreen tests --> |
| 1000 | <option name="mesa_glthread_app_profile" value="1"/> |
| 1001 | </application> |
| 1002 | <!-- YoYo game engine workarounds --> |
| 1003 | <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf"> |
| 1004 | <option name="radeonsi_sync_compile" value="true" /> |
| 1005 | <option name="radeonsi_zerovram" value="true" /> |
| 1006 | </application> |
| 1007 | <!-- Note: The following fix works for both Memoranda and Riptale as they have the same sha --> |
| 1008 | <application name="Memoranda / Riptale" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56"> |
| 1009 | <option name="radeonsi_sync_compile" value="true" /> |
| 1010 | </application> |
| 1011 | <application name="Nuclear Throne" executable="runner" sha1="84814e8db125e889f5d9d4195a0ca72a871ea1fd"> |
| 1012 | <option name="radeonsi_sync_compile" value="true" /> |
| 1013 | </application> |
| 1014 | <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff"> |
| 1015 | <option name="radeonsi_sync_compile" value="true" /> |
| 1016 | </application> |
| 1017 | <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9"> |
| 1018 | <option name="radeonsi_sync_compile" value="true" /> |
| 1019 | </application> |
| 1020 | <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e"> |
| 1021 | <option name="radeonsi_sync_compile" value="true" /> |
| 1022 | </application> |
| 1023 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 --> |
| 1024 | <application name="Kerbal Space Program" executable="KSP.x86_64"> |
| 1025 | <option name="radeonsi_no_infinite_interp" value="true" /> |
| 1026 | </application> |
| 1027 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 --> |
| 1028 | <application name="7 Days to Die" executable="7DaysToDie.x86_64"> |
| 1029 | <option name="radeonsi_zerovram" value="true" /> |
| 1030 | </application> |
| 1031 | <application name="7 Days to Die" executable="7DaysToDie.x86"> |
| 1032 | <option name="radeonsi_zerovram" value="true" /> |
| 1033 | </application> |
| 1034 | <application name="SPECviewperf13" executable="viewperf"> |
| 1035 | <option name="glthread_nop_check_framebuffer_status" value="true" /> |
| 1036 | <option name="radeonsi_sync_compile" value="true" /> |
| 1037 | </application> |
| 1038 | <application name="Road Redemption" executable="RoadRedemption.x86_64"> |
| 1039 | <option name="radeonsi_clamp_div_by_zero" value="true" /> |
| 1040 | </application> |
| 1041 | <application name="Wasteland 2" executable="WL2"> |
| 1042 | <option name="radeonsi_clamp_div_by_zero" value="true" /> |
| 1043 | </application> |
| 1044 | <application name="Teardown" executable="teardown.exe"> |
| 1045 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 --> |
| 1046 | <option name="radeonsi_clamp_div_by_zero" value="true" /> |
| 1047 | <option name="radeonsi_no_infinite_interp" value="true" /> |
| 1048 | </application> |
| 1049 | <application name="SpaceEngine" executable="SpaceEngine.exe"> |
| 1050 | <option name="force_gl_vendor" value="X.Org" /> |
| 1051 | </application> |
| 1052 | <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> |
| 1053 | <option name="force_gl_vendor" value="ATI Technologies Inc." /> |
| 1054 | </application> |
| 1055 | <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> |
| 1056 | <option name="force_gl_vendor" value="ATI Technologies Inc." /> |
| 1057 | </application> |
| 1058 | <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> |
| 1059 | <option name="force_gl_vendor" value="ATI Technologies Inc." /> |
| 1060 | <option name="radeonsi_force_use_fma32" value="true" /> |
| 1061 | </application> |
| 1062 | <application name="Black Geyser: Couriers of Darkness" executable="BlackGeyser.x86_64"> |
| 1063 | <option name="radeonsi_zerovram" value="true" /> |
| 1064 | </application> |
| 1065 | </device> |
| 1066 | <device driver="zink"> |
| 1067 | <application name="Hyperdimension Neptunia Re;Birth1" executable="NeptuniaReBirth1.exe"> |
| 1068 | <!-- glthread uploads need too much vram and exceed 32bit VA limit --> |
| 1069 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/8333 --> |
| 1070 | <option name="mesa_glthread_app_profile" value="0"/> |
| 1071 | </application> |
| 1072 | |
| 1073 | <application name="Borderlands 2 (Native, OpenGL, 32bit)" executable="Borderlands2"> |
| 1074 | <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/9205 --> |
| 1075 | <option name="glsl_correct_derivatives_after_discard" value="true" /> |
| 1076 | </application> |
| 1077 | |
| 1078 | <!-- GL_POINT_SMOOTH is used in Quake II to render particles --> |
| 1079 | <application name="Quake II" executable="quake2-engine"> |
| 1080 | <option name="zink_emulate_point_smooth" value="true"/> |
| 1081 | </application> |
| 1082 | <application name="Quake II (yamagi)" executable="yamagi-quake2"> |
| 1083 | <option name="zink_emulate_point_smooth" value="true"/> |
| 1084 | </application> |
| 1085 | <application name="Quake II (wine)" executable="quake2.exe"> |
| 1086 | <option name="zink_emulate_point_smooth" value="true"/> |
| 1087 | </application> |
| 1088 | <application name="Tomb Raider 2013" executable="TombRaider"> |
| 1089 | <option name="zink_shader_object_enable" value="true" /> |
| 1090 | </application> |
| 1091 | </device> |
| 1092 | <device driver="iris"> |
| 1093 | <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor"> |
| 1094 | <option name="vs_position_always_invariant" value="true" /> |
| 1095 | </application> |
| 1096 | <application name="glmark2" executable="glmark2"> |
| 1097 | <option name="limit_trig_input_range" value="true" /> |
| 1098 | </application> |
| 1099 | <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> |
| 1100 | <option name="force_gl_vendor" value="X.Org" /> |
| 1101 | </application> |
| 1102 | <application name="Insurgency" executable="insurgency_linux"> |
| 1103 | <option name="force_gl_vendor" value="X.Org" /> |
| 1104 | </application> |
| 1105 | </device> |
| 1106 | <device driver="crocus"> |
| 1107 | <application name="glmark2" executable="glmark2"> |
| 1108 | <option name="limit_trig_input_range" value="true" /> |
| 1109 | </application> |
| 1110 | <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> |
| 1111 | <option name="force_gl_vendor" value="X.Org" /> |
| 1112 | </application> |
| 1113 | <application name="Insurgency" executable="insurgency_linux"> |
| 1114 | <option name="force_gl_vendor" value="X.Org" /> |
| 1115 | </application> |
| 1116 | </device> |
| 1117 | <device driver="anv"> |
| 1118 | <application name="Aperture Desk Job" executable="deskjob"> |
| 1119 | <option name="anv_assume_full_subgroups" value="true" /> |
| 1120 | </application> |
| 1121 | <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> |
| 1122 | <option name="anv_assume_full_subgroups" value="true" /> |
| 1123 | <option name="fp64_workaround_enabled" value="true" /> |
| 1124 | </application> |
| 1125 | <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> |
| 1126 | <option name="limit_trig_input_range" value="true" /> |
| 1127 | </application> |
| 1128 | <application name="Batman™: Arkham Knight" executable="BatmanAK.exe"> |
| 1129 | <option name="anv_sample_mask_out_opengl_behaviour" value="true"/> |
| 1130 | </application> |
| 1131 | <application name="Rise of the Tomb Raider" executable="RiseOfTheTombRaider"> |
| 1132 | <option name="limit_trig_input_range" value="true" /> |
| 1133 | </application> |
| 1134 | <application name="Rise of the Tomb Raider" executable="ROTTR.exe"> |
| 1135 | <option name="limit_trig_input_range" value="true" /> |
| 1136 | </application> |
| 1137 | <application name="NieR Replicant ver.1.22474487139" executable="NieR Replicant ver.1.22474487139.exe"> |
| 1138 | <option name="limit_trig_input_range" value="true" /> |
| 1139 | </application> |
| 1140 | <application name="NieR:Automata" executable="NieRAutomata.exe"> |
| 1141 | <option name="limit_trig_input_range" value="true" /> |
| 1142 | </application> |
| 1143 | <application name="Cyberpunk 2077" executable="Cyberpunk2077.exe"> |
| 1144 | <option name="force_vk_vendor" value="-1" /> |
| 1145 | </application> |
| 1146 | <application name="Cyberpunk 2077" executable="Cyberpunk2077.exe"> |
| 1147 | <!-- |
| 1148 | Cyberpunk 2077 uses a watchdog thread to terminate |
| 1149 | the process in case the render thread hasn't responded within 2 minutes. |
| 1150 | This option speeds up shader compilation. |
| 1151 | See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9241 |
| 1152 | --> |
| 1153 | <option name="shader_spilling_rate" value="15" /> |
| 1154 | </application> |
| 1155 | <application name="Elden Ring" executable="eldenring.exe"> |
| 1156 | <option name="fake_sparse" value="true" /> |
| 1157 | </application> |
| 1158 | <!-- Needed to avoid XeSS code paths. --> |
| 1159 | <application name="Marvel's Spider-Man Remastered" executable="Spider-Man.exe"> |
| 1160 | <option name="force_vk_vendor" value="-1" /> |
| 1161 | </application> |
| 1162 | <application name="Hogwarts Legacy" executable="HogwartsLegacy.exe"> |
| 1163 | <option name="force_vk_vendor" value="-1" /> |
| 1164 | </application> |
| 1165 | <application name="DEATH STRANDING" executable="ds.exe"> |
| 1166 | <option name="force_vk_vendor" value="-1" /> |
| 1167 | </application> |
| 1168 | <!-- |
| 1169 | Disable 16-bit feature on zink and angle so that GLES mediump doesn't |
| 1170 | lower to our inefficent 16-bit shader support. No need to do so for |
| 1171 | ANGLE, since it uses RelaxedPrecision decorations, which the intel |
| 1172 | compiler ignores. |
| 1173 | --> |
| 1174 | <engine engine_name_match="mesa zink"> |
| 1175 | <option name="no_16bit" value="true" /> |
| 1176 | </engine> |
| 1177 | </device> |
| 1178 | <device driver="dzn"> |
| 1179 | <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> |
| 1180 | <option name="dzn_enable_8bit_loads_stores" value="true" /> |
| 1181 | <option name="dzn_claim_wide_lines" value="true" /> |
| 1182 | </application> |
| 1183 | <application name="No Man's Sky" executable="NMS.exe"> |
| 1184 | <option name="dzn_claim_wide_lines" value="true" /> |
| 1185 | </application> |
| 1186 | </device> |
| 1187 | |
| 1188 | <device driver="r600"> |
| 1189 | <application name="Tomb Raider 2013" executable="TombRaider"> |
| 1190 | <option name="mesa_extension_override" value="-GL_ARB_shader_image_load_store" /> |
| 1191 | </application> |
| 1192 | </device> |
| 1193 | |
| 1194 | <device driver="virtio_gpu"> |
| 1195 | <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> |
| 1196 | <option name="format_l8_srgb_enable_readback" value="true" /> |
| 1197 | </application> |
| 1198 | </device> |
| 1199 | <!-- |
| 1200 | The android game hall of shame: |
| 1201 | |
| 1202 | Workarounds for android games that are not aware of open source drivers. |
| 1203 | These can be removed as games have their allowlists updated. |
| 1204 | --> |
| 1205 | <device driver="msm" device="FD618"> |
| 1206 | <application name="Call of Duty Mobile" executable="com.activision.callofduty.shooter"> |
| 1207 | <option name="force_gl_renderer" value="Adreno (TM) 618"/> |
| 1208 | <option name="force_gl_vendor" value="Qualcomm"/> |
| 1209 | </application> |
| 1210 | <application name="Asphalt 8" executable="com.gameloft.android.ANMP.GloftA8HM"> |
| 1211 | <!-- Note: asphalt8's allowlist seems to not have been updated recently |
| 1212 | enough to be aware of "Adreno (TM) 618", but we seem to otherwise |
| 1213 | have enough headroom to opt into the higher settings. (Conversely |
| 1214 | the allowlist seems to allow G72-MP3 into the higher tier, despite |
| 1215 | not being able to maintain fps.. possibly it is not properly |
| 1216 | differentiating between various core MPn configurations. So I'm |
| 1217 | going to use that to justify claiming to be a618's *slightly* |
| 1218 | bigger brother) |
| 1219 | --> |
| 1220 | <option name="force_gl_renderer" value="Adreno (TM) 630"/> |
| 1221 | <option name="force_gl_vendor" value="Qualcomm"/> |
| 1222 | </application> |
| 1223 | <application name="Asphalt 9" executable="com.gameloft.android.ANMP.GloftA9HM"> |
| 1224 | <option name="force_gl_renderer" value="Adreno (TM) 618"/> |
| 1225 | <option name="force_gl_vendor" value="Qualcomm"/> |
| 1226 | </application> |
| 1227 | <application name="PUBG Mobile" executable="com.tencent.ig"> |
| 1228 | <!-- Note: Maxed out a630 settings still limits max framerate, yet GPU |
| 1229 | is below 45% utilization (mostly closer to 40%). If I claim to |
| 1230 | be a640, that unlocks "Extreme" framerate (and "Ultra HD" graphics). |
| 1231 | With "Extreme" + "HDR" we are comfortably at 60fps with plenty of |
| 1232 | headroom. "Extreme" + "Ultra HD" (max settings for a640) we are |
| 1233 | starting to approach the limit. I'll stick with a630 to be |
| 1234 | conservative, but argueably we could go higher. (This flagship |
| 1235 | gaming phone thing is a scam!) |
| 1236 | --> |
| 1237 | <option name="force_gl_renderer" value="Adreno (TM) 630"/> |
| 1238 | <option name="force_gl_vendor" value="Qualcomm"/> |
| 1239 | </application> |
| 1240 | </device> |
| 1241 | </driconf> |