1<?xml version="1.0" standalone="yes"?> 2<!-- 3 4============================================ 5Application 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 27TODO: 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 <option name="dual_color_blend_by_location" value="true" /> 173 </application> 174 175 <application name="Exanima" executable="Exanima.exe"> 176 <option name="glsl_zero_init" value="true"/> 177 </application> 178 179 <application name="Full Bore" executable="fullbore"> 180 <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> 181 </application> 182 183 <application name="RAGE (64-bit)" executable="Rage64.exe"> 184 <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> 185 <option name="force_gl_map_buffer_synchronized" value="true" /> 186 </application> 187 188 <application name="RAGE (32-bit)" executable="Rage.exe"> 189 <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> 190 <option name="force_gl_map_buffer_synchronized" value="true" /> 191 </application> 192 193 <application name="Second Life" executable="do-not-directly-run-secondlife-bin"> 194 <option name="allow_glsl_extension_directive_midshader" value="true" /> 195 </application> 196 197 <application name="Warsow (32-bit)" executable="warsow.i386"> 198 <option name="allow_glsl_extension_directive_midshader" value="true" /> 199 </application> 200 201 <application name="Warsow (64-bit)" executable="warsow.x86_64"> 202 <option name="allow_glsl_extension_directive_midshader" value="true" /> 203 </application> 204 205 <application name="Rust" executable="rust"> 206 <option name="glsl_zero_init" value="true"/> 207 </application> 208 209 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp"> 210 <option name="allow_glsl_extension_directive_midshader" value="true" /> 211 <option name="glsl_correct_derivatives_after_discard" value="true" /> 212 <option name="force_gl_vendor" value="ATI Technologies, Inc."/> 213 </application> 214 215 <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro"> 216 <option name="allow_glsl_extension_directive_midshader" value="true" /> 217 </application> 218 219 <application name="Worms W.M.D" executable="Worms W.M.Dx64"> 220 <option name="allow_higher_compat_version" value="true" /> 221 </application> 222 223 <application name="Crookz - The Big Heist" executable="Crookz"> 224 <option name="allow_higher_compat_version" value="true" /> 225 </application> 226 227 <application name="Tropico 5" executable="Tropico5"> 228 <option name="allow_higher_compat_version" value="true" /> 229 </application> 230 231 <application name="Faster than Light (32-bit)" executable="FTL.x86"> 232 <option name="allow_higher_compat_version" value="true" /> 233 </application> 234 235 <application name="Faster than Light (64-bit)" executable="FTL.amd64"> 236 <option name="allow_higher_compat_version" value="true" /> 237 </application> 238 239 <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe"> 240 <option name="allow_higher_compat_version" value="true" /> 241 </application> 242 243 <application name="SNK HEROINES Tag Team Frenzy" executable="SNKHEROINES.exe"> 244 <option name="force_compat_shaders" value="true" /> 245 </application> 246 247 <application name="Metal Slug XX" executable="MSXX_main.exe"> 248 <option name="force_compat_shaders" value="true" /> 249 </application> 250 251 <application name="The Culling" executable="Victory"> 252 <option name="force_glsl_version" value="440" /> 253 </application> 254 255 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> 256 <option name="force_glsl_abs_sqrt" value="true" /> 257 </application> 258 259 <application name="Spec Ops: The Line (64-bit)" executable="specops"> 260 <option name="force_glsl_abs_sqrt" value="true" /> 261 </application> 262 263 <application name="Jamestown+" executable="JamestownPlus.exe"> 264 <option name="force_compat_profile" value="true" /> 265 </application> 266 267 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86"> 268 <option name="glsl_zero_init" value="true"/> 269 </application> 270 271 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64"> 272 <option name="glsl_zero_init" value="true"/> 273 </application> 274 275 <application name="Luna Sky" executable="lunasky"> 276 <option name="force_glsl_version" value="130"/> 277 <option name="glsl_ignore_write_to_readonly_var" value="true"/> 278 </application> 279 280 <application name="Rocket League" executable="RocketLeague"> 281 <option name="glsl_correct_derivatives_after_discard" value="true"/> 282 </application> 283 284 <application name="The Witcher 2" executable="witcher2"> 285 <option name="glsl_correct_derivatives_after_discard" value="true"/> 286 </application> 287 288 <application name="Unreal 4 Editor" executable="UE4Editor"> 289 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> 290 </application> 291 292 <application name="Observer" executable="TheObserver-Linux-Shipping"> 293 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> 294 </application> 295 296 <!-- Pixel Game Maker MV workarounds. Games include: YuuYuu Jiteki no Yuukarin, Elfin Force, Eden Gamma, etc --> 297 <application name="Pixel Game Maker MV" executable="player.exe"> 298 <option name="allow_glsl_120_subset_in_110" value="true" /> 299 </application> 300 <application name="Eden Gamma" executable="EdenGammaGame-0.3.0.2.exe"> 301 <option name="allow_glsl_120_subset_in_110" value="true" /> 302 </application> 303 304 <application name="Steamroll" executable="Steamroll-Linux-Shipping"> 305 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> 306 </application> 307 308 <application name="Refunct" executable="Refunct-Linux-Shipping"> 309 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> 310 </application> 311 312 <application name="We Happy Few" executable="GlimpseGame"> 313 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> 314 </application> 315 316 <application name="Google Earth VR" executable="Earth.exe"> 317 <option name="allow_glsl_builtin_const_expression" value="true"/> 318 <option name="allow_glsl_relaxed_es" value="true"/> 319 </application> 320 321 <application name="Champions of Regnum" executable="game"> 322 <option name="allow_extra_pp_tokens" value="true" /> 323 </application> 324 325 <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe"> 326 <option name="force_compat_profile" value="true" /> 327 </application> 328 329 <application name="ARMA 3" executable="arma3.x86_64"> 330 <option name="glsl_correct_derivatives_after_discard" value="true"/> 331 </application> 332 333 <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe"> 334 <option name="force_compat_profile" value="true" /> 335 </application> 336 337 <application name="GpuTest" executable="GpuTest"> 338 <!-- GiMark benchmark from GpuTest does not initialize .w channel of 339 lightDir0 and lightDir1 varyings in the vertex shader while 340 uses it in the fragment shader. --> 341 <option name="glsl_zero_init" value="true"/> 342 </application> 343 344 <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe"> 345 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 --> 346 <option name="glsl_zero_init" value="true" /> 347 </application> 348 349 <application name="GRID Autosport" executable="GridAutosport"> 350 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> 351 <option name="force_integer_tex_nearest" value="true" /> 352 </application> 353 354 <application name="DIRT: Showdown" executable="dirt.i386"> 355 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> 356 <option name="force_integer_tex_nearest" value="true" /> 357 </application> 358 359 <application name="DiRT Rally" executable="DirtRally"> 360 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5648 --> 361 <option name="vs_position_always_invariant" value="true" /> 362 </application> 363 364 <application name="Homerun Clash" executable="com.haegin.homerunclash"> 365 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7199 --> 366 <option name="lower_depth_range_rate" value="0.8" /> 367 </application> 368 369 <application name="The Spirit and The Mouse" executable="TheSpiritAndTheMouse.exe"> 370 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/9738 --> 371 <option name="lower_depth_range_rate" value="0.8" /> 372 </application> 373 374 <application name="Penumbra: Overture" executable="Penumbra.exe"> 375 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/8425 --> 376 <option name="allow_multisampled_copyteximage" value="true" /> 377 </application> 378 379 <!-- Workarounds for SPECviewperf relying on invalid / non-conformant 380 OpenGL behavior. Older SPECviewperf versions might also need this. 381 --> 382 <application name="SPECviewperf13" executable="viewperf"> 383 <option name="vblank_mode" value="0" /> 384 <option name="allow_glsl_extension_directive_midshader" value="true" /> 385 <option name="allow_glsl_120_subset_in_110" 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="Joe Danger (Wine)" executable="JoeDanger.exe"> 434 <option name="allow_glsl_120_subset_in_110" value="true" /> 435 </application> 436 <application name="Joe Danger 2 (Wine)" executable="JoeDanger2.exe"> 437 <option name="allow_glsl_120_subset_in_110" value="true" /> 438 </application> 439 440 <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> 441 <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> 442 </application> 443 <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> 444 <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> 445 <option name="do_dce_before_clip_cull_analysis" value="true" /> 446 </application> 447 <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> 448 <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> 449 </application> 450 451 <!-- Workaround for Mari with executable name like Mari4.5v2, Mari4.7v4 --> 452 <application name="Mari" executable_regexp="Mari[0-9]+[.][0-9]+v[0-9]+"> 453 <!-- Need ARB_gpu_shader5 for non-const sampler array index support --> 454 <option name="force_glsl_extensions_warn" value="true" /> 455 </application> 456 457 <application name="Discovery Studio 2020" executable="DiscoveryStudio2020-bin"> 458 <option name="force_direct_glx_context" value="true" /> 459 </application> 460 461 <application name="Abaqus" executable="ABQcaeK"> 462 <option name="keep_native_window_glx_drawable" value="true" /> 463 <option name="allow_rgb10_configs" value="false" /> 464 </application> 465 466 <application name="Maya" executable="maya.bin"> 467 <!-- Needed otherwise the app doesn't try to use OpenCL --> 468 <option name="force_gl_vendor" value="ATI Technologies Inc." /> 469 </application> 470 471 <application name="SD Gundam G Generation Cross Rays" executable="togg.exe"> 472 <option name="force_compat_shaders" value="true" /> 473 </application> 474 475 <application name="FINAL FANTASY XI" executable="pol.exe"> 476 <!-- Causes invisible textures. --> 477 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7562 --> 478 <option name="mesa_glthread_app_profile" value="0"/> 479 </application> 480 481 <!-- The GL thread allowlist is below, workarounds are above. 482 Keep it that way. --> 483 484 <application name="Minecraft" executable="minecraft-launcher"> 485 <option name="mesa_glthread_app_profile" value="1"/> 486 </application> 487 <application name="Minecraft-FTB" executable="ftb-app"> 488 <option name="mesa_glthread_app_profile" value="1"/> 489 </application> 490 491 <application name="Alien Isolation" executable="AlienIsolation"> 492 <option name="mesa_glthread_app_profile" value="1"/> 493 </application> 494 495 <application name="BioShock Infinite" executable="bioshock.i386"> 496 <option name="mesa_glthread_app_profile" value="1"/> 497 </application> 498 499 <application name="Borderlands 2" executable="Borderlands2"> 500 <option name="mesa_glthread_app_profile" value="1"/> 501 </application> 502 503 <application name="Civilization 5" executable="Civ5XP"> 504 <option name="mesa_glthread_app_profile" value="1"/> 505 </application> 506 <application name="Civilization 6" executable="Civ6"> 507 <option name="mesa_glthread_app_profile" value="1"/> 508 </application> 509 <application name="Civilization 6" executable="Civ6Sub"> 510 <option name="mesa_glthread_app_profile" value="1"/> 511 </application> 512 513 <application name="Dreamfall Chapters" executable="Dreamfall Chapters"> 514 <option name="mesa_glthread_app_profile" value="1"/> 515 </application> 516 517 <application name="Hitman" executable="HitmanPro"> 518 <option name="mesa_glthread_app_profile" value="1"/> 519 </application> 520 521 <application name="Renowned Explorers: International Society" executable="abbeycore_steam"> 522 <option name="mesa_glthread_app_profile" value="1"/> 523 </application> 524 525 <application name="Saints Row 2" executable="saintsrow2.i386"> 526 <option name="mesa_glthread_app_profile" value="1"/> 527 </application> 528 <application name="Saints Row: The Third" executable="SaintsRow3.i386"> 529 <option name="mesa_glthread_app_profile" value="1"/> 530 </application> 531 <application name="Saints Row IV" executable="SaintsRow4.i386"> 532 <option name="mesa_glthread_app_profile" value="1"/> 533 </application> 534 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386"> 535 <option name="mesa_glthread_app_profile" value="1"/> 536 </application> 537 538 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE"> 539 <option name="mesa_glthread_app_profile" value="1"/> 540 </application> 541 542 <application name="The Witcher 2" executable="witcher2"> 543 <option name="mesa_glthread_app_profile" value="1"/> 544 </application> 545 546 <application name="American Truck Simulator" executable="amtrucks"> 547 <option name="mesa_glthread_app_profile" value="1"/> 548 </application> 549 <application name="Euro Truck Simulator 2" executable="eurotrucks2"> 550 <option name="mesa_glthread_app_profile" value="1"/> 551 </application> 552 553 <application name="Overlord" executable="overlord.i386"> 554 <option name="mesa_glthread_app_profile" value="1"/> 555 </application> 556 <application name="Overlord 2" executable="overlord2.i386"> 557 <option name="mesa_glthread_app_profile" value="1"/> 558 </application> 559 560 <application name="Oil Rush" executable="OilRush_x86"> 561 <option name="mesa_glthread_app_profile" value="1"/> 562 </application> 563 564 <application name="War Thunder" executable="aces"> 565 <option name="mesa_glthread_app_profile" value="1"/> 566 </application> 567 <application name="War Thunder (Wine)" executable="aces.exe"> 568 <option name="mesa_glthread_app_profile" value="1"/> 569 </application> 570 571 <application name="Outlast" executable="OLGame.x86_64"> 572 <option name="mesa_glthread_app_profile" value="1"/> 573 </application> 574 575 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> 576 <option name="mesa_glthread_app_profile" value="1"/> 577 </application> 578 <application name="Spec Ops: The Line (64-bit)" executable="specops"> 579 <option name="mesa_glthread_app_profile" value="1"/> 580 </application> 581 <application name="Mount and Blade Warband" executable="mb_warband_linux"> 582 <option name="mesa_glthread_app_profile" value="1"/> 583 </application> 584 585 <application name="Valheim" executable="valheim.x86_64"> 586 <option name="mesa_glthread_app_profile" value="1"/> 587 </application> 588 589 <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. --> 590 <application name="Medieval II: Total War" executable="Medieval2"> 591 <option name="mesa_glthread_app_profile" value="1"/> 592 </application> 593 594 <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. --> 595 <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe"> 596 <option name="mesa_glthread_app_profile" value="1"/> 597 </application> 598 599 <!-- around 30% increase in avg fps --> 600 <application name="Far Cry 2 (wine)" executable="farcry2.exe"> 601 <option name="mesa_glthread_app_profile" value="1"/> 602 </application> 603 604 <application name="Talos Principle" executable="Talos"> 605 <option name="mesa_glthread_app_profile" value="1"/> 606 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 607 <option name="vk_x11_ignore_suboptimal" value="true"/> 608 </application> 609 <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted"> 610 <option name="mesa_glthread_app_profile" value="1"/> 611 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 612 <option name="vk_x11_ignore_suboptimal" value="true"/> 613 </application> 614 615 <application name="Talos Principle VR" executable="Talos_VR"> 616 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 617 <option name="vk_x11_ignore_suboptimal" value="true"/> 618 </application> 619 <application name="Talos Principle VR (Unrestricted)" executable="Talos_Unrestricted_VR"> 620 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 621 <option name="vk_x11_ignore_suboptimal" value="true"/> 622 </application> 623 624 <application name="Serious Sam Fusion" executable="Sam2017"> 625 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 626 <option name="vk_x11_ignore_suboptimal" value="true"/> 627 </application> 628 <application name="Serious Sam Fusion (Unrestricted)" executable="Sam2017_Unrestricted"> 629 <option name="vk_wsi_force_swapchain_to_current_extent" value="true"/> 630 <option name="vk_x11_ignore_suboptimal" value="true"/> 631 </application> 632 633 <!-- roughly 30% increase in fps --> 634 <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64"> 635 <option name="mesa_glthread_app_profile" value="1"/> 636 </application> 637 <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86"> 638 <option name="mesa_glthread_app_profile" value="1"/> 639 </application> 640 641 <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. --> 642 <application name="Dolphin Emulator" executable="dolphin-emu"> 643 <option name="mesa_glthread_app_profile" value="1"/> 644 </application> 645 <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt"> 646 <option name="mesa_glthread_app_profile" value="1"/> 647 </application> 648 <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu"> 649 <option name="mesa_glthread_app_profile" value="1"/> 650 </application> 651 <application name="RPCS3" executable="rpcs3"> 652 <option name="mesa_glthread_app_profile" value="1"/> 653 </application> 654 <application name="PCSX2" executable="PCSX2"> 655 <option name="mesa_glthread_app_profile" value="1"/> 656 </application> 657 658 <application name="From The Depths" executable="From_The_Depths.x86_64"> 659 <option name="mesa_glthread_app_profile" value="1"/> 660 </application> 661 662 <!-- #Minimum fps 136 ==> 144 --> 663 <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86"> 664 <option name="mesa_glthread_app_profile" value="1" /> 665 </application> 666 <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64"> 667 <option name="mesa_glthread_app_profile" value="1" /> 668 </application> 669 670 <!-- 10% fps increase --> 671 <application name="Beholder (32-bit)" executable="Beholder.x86"> 672 <option name="mesa_glthread_app_profile" value="1" /> 673 </application> 674 <application name="Beholder (64-bit)" executable="Beholder.x86_64"> 675 <option name="mesa_glthread_app_profile" value="1" /> 676 </application> 677 678 <!-- X3 games: 15% avg fps increase while flying in space --> 679 <application name="X3 Reunion" executable="X3R_main"> 680 <option name="mesa_glthread_app_profile" value="1" /> 681 </application> 682 <application name="X3 Terran Conflict" executable="X3TR_main"> 683 <option name="mesa_glthread_app_profile" value="1" /> 684 </application> 685 <application name="X3 Albion Prelude" executable="X3AP_main"> 686 <option name="mesa_glthread_app_profile" value="1" /> 687 </application> 688 689 <!-- +30% avg fps --> 690 <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel"> 691 <option name="mesa_glthread_app_profile" value="1" /> 692 </application> 693 <application name="Transport Fever" executable="TransportFever"> 694 <option name="mesa_glthread_app_profile" value="1" /> 695 </application> 696 697 <application name="Unigine Sanctuary" executable="Sanctuary"> 698 <option name="mesa_glthread_app_profile" value="1" /> 699 </application> 700 <application name="Unigine Tropics" executable="Tropics"> 701 <option name="mesa_glthread_app_profile" value="1" /> 702 </application> 703 <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> 704 <option name="mesa_glthread_app_profile" value="1" /> 705 </application> 706 <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> 707 <option name="mesa_glthread_app_profile" value="1" /> 708 </application> 709 <application name="Unigine Valley (32-bit)" executable="valley_x86"> 710 <option name="mesa_glthread_app_profile" value="1" /> 711 </application> 712 <application name="Unigine Valley (64-bit)" executable="valley_x64"> 713 <option name="mesa_glthread_app_profile" value="1" /> 714 </application> 715 <application name="Unigine Superposition" executable="superposition"> 716 <option name="mesa_glthread_app_profile" value="1" /> 717 </application> 718 719 <application name="Basemark GPU" executable="BasemarkGPU_gl"> 720 <option name="mesa_glthread_app_profile" value="1" /> 721 </application> 722 723 <application name="Stellaris" executable="stellaris"> 724 <option name="mesa_glthread_app_profile" value="1"/> 725 </application> 726 727 <application name="Battletech" executable="BattleTech"> 728 <option name="mesa_glthread_app_profile" value="1"/> 729 </application> 730 731 <application name="DeusExMD" executable="DeusExMD"> 732 <option name="mesa_glthread_app_profile" value="0"/> 733 </application> 734 <application name="F1 2015" executable="F12015"> 735 <option name="mesa_glthread_app_profile" value="0"/> 736 </application> 737 <application name="KWin Wayland" executable="kwin_wayland"> 738 <!-- This works around a cursor issue with glthread. 739 See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351#note_1581105 --> 740 <option name="mesa_glthread_app_profile" value="0"/> 741 </application> 742 743 <!-- Adaptive sync denylist follows below: --> 744 <application name="gnome-shell" executable="gnome-shell"> 745 <option name="adaptive_sync" value="false" /> 746 <option name="v3d_nonmsaa_texture_size_limit" value="true" /> 747 </application> 748 <application name="Desktop — Plasma" executable="plasmashell"> 749 <option name="adaptive_sync" value="false" /> 750 </application> 751 <application name="budgie-wm" executable="budgie-wm"> 752 <option name="adaptive_sync" value="false" /> 753 </application> 754 <application name="kwin_x11" executable="kwin_x11"> 755 <option name="adaptive_sync" value="false" /> 756 </application> 757 <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter"> 758 <option name="adaptive_sync" value="false" /> 759 </application> 760 <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter"> 761 <option name="adaptive_sync" value="false" /> 762 </application> 763 <application name="kscreenlocker_greet" executable="kscreenlocker_greet"> 764 <option name="adaptive_sync" value="false" /> 765 </application> 766 <application name="startplasma" executable="startplasma"> 767 <option name="adaptive_sync" value="false" /> 768 </application> 769 <application name="sddm-greeter" executable="sddm-greeter"> 770 <option name="adaptive_sync" value="false" /> 771 </application> 772 <application name="krunner" executable="krunner"> 773 <option name="adaptive_sync" value="false" /> 774 </application> 775 <application name="spectacle" executable="spectacle"> 776 <option name="adaptive_sync" value="false" /> 777 </application> 778 <application name="marco" executable="marco"> 779 <option name="adaptive_sync" value="false" /> 780 </application> 781 <application name="compton" executable="compton"> 782 <option name="adaptive_sync" value="false" /> 783 </application> 784 <application name="picom" executable="picom"> 785 <option name="adaptive_sync" value="false" /> 786 </application> 787 <application name="xfwm4" executable="xfwm4"> 788 <option name="adaptive_sync" value="false" /> 789 </application> 790 <application name="Enlightenment" executable="enlightenment"> 791 <option name="adaptive_sync" value="false" /> 792 </application> 793 <application name="mutter" executable="mutter"> 794 <option name="adaptive_sync" value="false" /> 795 <option name="v3d_nonmsaa_texture_size_limit" value="true" /> 796 </application> 797 <application name="muffin" executable="muffin"> 798 <option name="adaptive_sync" value="false" /> 799 </application> 800 <application name="cinnamon" executable="cinnamon"> 801 <option name="adaptive_sync" value="false" /> 802 </application> 803 <application name="compiz" executable="compiz"> 804 <option name="adaptive_sync" value="false" /> 805 </application> 806 <application name="Firefox" executable="firefox"> 807 <option name="adaptive_sync" value="false" /> 808 </application> 809 <application name="Firefox ESR" executable="firefox-esr"> 810 <option name="adaptive_sync" value="false" /> 811 </application> 812 <application name="Chromium" executable="chromium"> 813 <option name="adaptive_sync" value="false" /> 814 </application> 815 <application name="Google Chrome" executable="chrome"> 816 <option name="adaptive_sync" value="false" /> 817 </application> 818 <application name="Iceweasel" executable="iceweasel"> 819 <option name="adaptive_sync" value="false" /> 820 </application> 821 <application name="Epiphany" executable="epiphany"> 822 <option name="adaptive_sync" value="false" /> 823 </application> 824 <application name="Konqueror" executable="konqueror"> 825 <option name="adaptive_sync" value="false" /> 826 </application> 827 <application name="Falkon" executable="falkon"> 828 <option name="adaptive_sync" value="false" /> 829 </application> 830 <application name="Seamonkey" executable="seamonkey"> 831 <option name="adaptive_sync" value="false" /> 832 </application> 833 <application name="Waterfox" executable="waterfox"> 834 <option name="adaptive_sync" value="false" /> 835 </application> 836 <application name="VLC Media Player" executable="vlc"> 837 <option name="adaptive_sync" value="false" /> 838 </application> 839 <application name="Totem" executable="totem"> 840 <option name="adaptive_sync" value="false" /> 841 </application> 842 <application name="Dragon Player" executable="dragon"> 843 <option name="adaptive_sync" value="false" /> 844 </application> 845 <application name="Xorg" executable="Xorg"> 846 <option name="v3d_nonmsaa_texture_size_limit" value="true" /> 847 </application> 848 849 <application name="gfxbench" executable="testfw_app"> 850 <option name="mesa_glthread_app_profile" value="0" /> 851 <option name="vk_x11_override_min_image_count" value="2" /> 852 <option name="vk_wsi_force_bgra8_unorm_first" value="true" /> 853 </application> 854 855 <application name="Rainbow Six Siege (Vulkan)" executable="RainbowSix_Vulkan.exe"> 856 <option name="vk_x11_override_min_image_count" value="2" /> 857 <option name="vk_x11_strict_image_count" value="true" /> 858 </application> 859 860 <application name="Rainbow Six Extraction (Wine)" executable="R6-Extraction.exe"> 861 <option name="vk_x11_override_min_image_count" value="2" /> 862 <option name="vk_x11_strict_image_count" value="true" /> 863 </application> 864 865 <!-- Workaround for Hades: Vulkan backend of the game is not starting 866 if the implementation returns more than 3 swapchain images. --> 867 <application name="Hades" executable="Hades.exe"> 868 <option name="vk_x11_override_min_image_count" value="3" /> 869 <option name="vk_x11_strict_image_count" value="true" /> 870 </application> 871 872 <application name="Brink" executable="brink.exe"> 873 <option name="glx_extension_override" value="-GLX_OML_swap_method" /> 874 <option name="allow_higher_compat_version" value="true" /> 875 </application> 876 877 <application name="Enter The Gungeon (32 bits)" executable="EtG.x86"> 878 <option name="glsl_correct_derivatives_after_discard" value="true" /> 879 </application> 880 881 <application name="Enter The Gungeon (64 bits)" executable="EtG.x86_64"> 882 <option name="glsl_correct_derivatives_after_discard" value="true" /> 883 </application> 884 885 <application name="Assault Android Cactus (32-bit)" executable="cactus_demo.x86"> 886 <option name="vs_position_always_precise" value="true" /> 887 </application> 888 <application name="Assault Android Cactus (64-bit)" executable="cactus_demo.x86_64"> 889 <option name="vs_position_always_precise" value="true" /> 890 </application> 891 <application name="Assault Android Cactus (32-bit)" executable="cactus.x86"> 892 <option name="vs_position_always_precise" value="true" /> 893 </application> 894 <application name="Assault Android Cactus (64-bit)" executable="cactus.x86_64"> 895 <option name="vs_position_always_precise" value="true" /> 896 </application> 897 898 <application name="Limbo" executable="limbo"> 899 <!-- issue 7976 --> 900 <option name="glsl_zero_init" value="true"/> 901 </application> 902 903 <application name="Genshin Impact" executable="com.miHoYo.GenshinImpact"> 904 <option name="ignore_discard_framebuffer" value="true" /> 905 </application> 906 907 <!-- Vulkan workarounds: --> 908 909 <!-- Works around the game not starting (does not deal with 910 the implementation returning more images than the minimum 911 specified by the application. --> 912 <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23"> 913 <option name="vk_x11_strict_image_count" value="true" /> 914 </engine> 915 916 <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. --> 917 <application name="DOOM" executable="DOOMx64vk.exe"> 918 <option name="vk_x11_strict_image_count" value="true" /> 919 </application> 920 921 <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for 922 IMMEDIATE. This fixes a 10% performance issue with RADV. --> 923 <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> 924 <option name="vk_x11_ensure_min_image_count" value="true" /> 925 </application> 926 927 <application name="Path of Exile" executable="PathOfExile_x64Steam.exe"> 928 <option name="vk_zero_vram" value="true" /> 929 </application> 930 931 <application name="Path of Exile" executable="PathOfExileSteam.exe"> 932 <option name="vk_zero_vram" value="true" /> 933 </application> 934 935 <application name="X4 Foundations" executable="X4.exe"> 936 <option name="vk_zero_vram" value="true" /> 937 </application> 938 939 <!-- Wolfenstein: Youngblood crashes at startup on xwayland without this workaround. --> 940 <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> 941 <option name="vk_x11_strict_image_count" value="true" /> 942 </application> 943 944 <!-- Wolfenstein II: The New Colossus crashes with vsync turned off on xwayland without this workaround. --> 945 <application name="Wolfenstein II: The New Colossus" executable="NewColossus_x64vk.exe"> 946 <option name="vk_x11_strict_image_count" value="true" /> 947 </application> 948 949 <!-- Metro:Exodus crashes at startup on xwayland without this workaround. --> 950 <application name="Metro: Exodus" application_name_match="metroexodus"> 951 <option name="vk_x11_strict_image_count" value="true" /> 952 </application> 953 954 <application name="Forsaken Remastered" executable="ForsakenEx"> 955 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437 --> 956 <option name="vk_dont_care_as_load" value="true" /> 957 </application> 958 959 <!-- Atlas Fallen Vulkan crashes with vsync turned off on xwayland without this workaround. --> 960 <application name="Atlas Fallen" executable="AtlasFallen (VK).exe"> 961 <option name="vk_x11_strict_image_count" value="true" /> 962 </application> 963 964 <!-- Disable fp16 support for browsers, since there is too much 965 broken WebGL out there that uses the wrong precision. 966 Bonus workaround for Firefox bug #1845309. --> 967 <application name="Firefox" executable="firefox"> 968 <option name="no_fp16" value="true" /> 969 </application> 970 <application name="Firefox ESR" executable="firefox-esr"> 971 <option name="no_fp16" value="true" /> 972 </application> 973 <application name="Chromium" executable="chromium"> 974 <option name="no_fp16" value="true" /> 975 </application> 976 <application name="Google Chrome" executable="chrome"> 977 <option name="no_fp16" value="true" /> 978 </application> 979 <application name="Iceweasel" executable="iceweasel"> 980 <option name="no_fp16" value="true" /> 981 </application> 982 <application name="Epiphany" executable="epiphany"> 983 <option name="no_fp16" value="true" /> 984 </application> 985 <application name="Konqueror" executable="konqueror"> 986 <option name="no_fp16" value="true" /> 987 </application> 988 <application name="Falkon" executable="falkon"> 989 <option name="no_fp16" value="true" /> 990 </application> 991 <application name="Seamonkey" executable="seamonkey"> 992 <option name="no_fp16" value="true" /> 993 </application> 994 <application name="Waterfox" executable="waterfox"> 995 <option name="no_fp16" value="true" /> 996 </application> 997 <!-- Game does not consider larger image count in non-vsynced modes. --> 998 <application name="Detroit Become Human" application_name_match="DetroitBecomeHuman"> 999 <option name="vk_x11_strict_image_count" value="true" /> 1000 </application> 1001 </device> 1002 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.--> 1003 <device driver="vmwgfx"> 1004 <application name="gnome-shell" executable="gnome-shell"> 1005 <option name="glx_extension_override" value="-GLX_OML_sync_control -GLX_SGI_video_sync" /> 1006 </application> 1007 <application name="cinnamon" executable="cinnamon"> 1008 <option name="glx_extension_override" value="-GLX_OML_sync_control -GLX_SGI_video_sync" /> 1009 </application> 1010 <application name="Compiz" executable="Compiz"> 1011 <option name="glx_extension_override" value="-GLX_OML_sync_control" /> 1012 </application> 1013 </device> 1014 <device driver="radeonsi"> 1015 <application name="Alien Isolation" executable="AlienIsolation"> 1016 <option name="force_gl_vendor" value="X.Org" /> 1017 </application> 1018 <application name="American Truck Simulator" executable="amtrucks"> 1019 <option name="radeonsi_zerovram" value="true" /> 1020 </application> 1021 <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> 1022 <option name="radeonsi_zerovram" value="true" /> 1023 <option name="radeonsi_clamp_div_by_zero" value="true" /> 1024 </application> 1025 <application name="Exanima" executable="Exanima.exe"> 1026 <option name="radeonsi_zerovram" value="true"/> 1027 </application> 1028 <application name="Nowhere Patrol" executable="NowherePatrol.exe"> 1029 <option name="radeonsi_zerovram" value="true" /> 1030 </application> 1031 <application name="Rocket League" executable="RocketLeague"> 1032 <option name="radeonsi_zerovram" value="true" /> 1033 </application> 1034 <application name="Gfx Bench" executable="gfxbench_gl"> 1035 <!-- Helps offscreen tests --> 1036 <option name="mesa_glthread_app_profile" value="1"/> 1037 </application> 1038 <!-- YoYo game engine workarounds --> 1039 <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf"> 1040 <option name="radeonsi_sync_compile" value="true" /> 1041 <option name="radeonsi_zerovram" value="true" /> 1042 </application> 1043 <!-- Note: The following fix works for both Memoranda and Riptale as they have the same sha --> 1044 <application name="Memoranda / Riptale" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56"> 1045 <option name="radeonsi_sync_compile" value="true" /> 1046 </application> 1047 <application name="Nuclear Throne" executable="runner" sha1="84814e8db125e889f5d9d4195a0ca72a871ea1fd"> 1048 <option name="radeonsi_sync_compile" value="true" /> 1049 </application> 1050 <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff"> 1051 <option name="radeonsi_sync_compile" value="true" /> 1052 </application> 1053 <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9"> 1054 <option name="radeonsi_sync_compile" value="true" /> 1055 </application> 1056 <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e"> 1057 <option name="radeonsi_sync_compile" value="true" /> 1058 </application> 1059 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 --> 1060 <application name="Kerbal Space Program" executable="KSP.x86_64"> 1061 <option name="radeonsi_no_infinite_interp" value="true" /> 1062 </application> 1063 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 --> 1064 <application name="7 Days to Die" executable="7DaysToDie.x86_64"> 1065 <option name="radeonsi_zerovram" value="true" /> 1066 </application> 1067 <application name="7 Days to Die" executable="7DaysToDie.x86"> 1068 <option name="radeonsi_zerovram" value="true" /> 1069 </application> 1070 <application name="SPECviewperf13" executable="viewperf"> 1071 <option name="glthread_nop_check_framebuffer_status" value="true" /> 1072 <option name="radeonsi_sync_compile" value="true" /> 1073 </application> 1074 <application name="Road Redemption" executable="RoadRedemption.x86_64"> 1075 <option name="radeonsi_clamp_div_by_zero" value="true" /> 1076 </application> 1077 <application name="Wasteland 2" executable="WL2"> 1078 <option name="radeonsi_clamp_div_by_zero" value="true" /> 1079 </application> 1080 <application name="Teardown" executable="teardown.exe"> 1081 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 --> 1082 <option name="radeonsi_clamp_div_by_zero" value="true" /> 1083 <option name="radeonsi_no_infinite_interp" value="true" /> 1084 </application> 1085 <application name="SpaceEngine" executable="SpaceEngine.exe"> 1086 <option name="force_gl_vendor" value="X.Org" /> 1087 </application> 1088 <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> 1089 <option name="force_gl_vendor" value="ATI Technologies Inc." /> 1090 </application> 1091 <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> 1092 <option name="force_gl_vendor" value="ATI Technologies Inc." /> 1093 </application> 1094 <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> 1095 <option name="force_gl_vendor" value="ATI Technologies Inc." /> 1096 <option name="radeonsi_force_use_fma32" value="true" /> 1097 </application> 1098 <application name="Black Geyser: Couriers of Darkness" executable="BlackGeyser.x86_64"> 1099 <option name="radeonsi_zerovram" value="true" /> 1100 </application> 1101 </device> 1102 <device driver="zink"> 1103 <application name="Hyperdimension Neptunia Re;Birth1" executable="NeptuniaReBirth1.exe"> 1104 <!-- glthread uploads need too much vram and exceed 32bit VA limit --> 1105 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/8333 --> 1106 <option name="mesa_glthread_app_profile" value="0"/> 1107 </application> 1108 1109 <application name="Borderlands 2 (Native, OpenGL, 32bit)" executable="Borderlands2"> 1110 <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/9205 --> 1111 <option name="glsl_correct_derivatives_after_discard" value="true" /> 1112 </application> 1113 1114 <!-- GL_POINT_SMOOTH is used in Quake II to render particles --> 1115 <application name="Quake II" executable="quake2-engine"> 1116 <option name="zink_emulate_point_smooth" value="true"/> 1117 </application> 1118 <application name="Quake II (yamagi)" executable="yamagi-quake2"> 1119 <option name="zink_emulate_point_smooth" value="true"/> 1120 </application> 1121 <application name="Quake II (wine)" executable="quake2.exe"> 1122 <option name="zink_emulate_point_smooth" value="true"/> 1123 </application> 1124 <application name="Tomb Raider 2013" executable="TombRaider"> 1125 <option name="zink_shader_object_enable" value="true" /> 1126 </application> 1127 </device> 1128 <device driver="iris"> 1129 <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor"> 1130 <option name="vs_position_always_invariant" value="true" /> 1131 </application> 1132 <application name="glmark2" executable="glmark2"> 1133 <option name="limit_trig_input_range" value="true" /> 1134 </application> 1135 <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> 1136 <option name="force_gl_vendor" value="X.Org" /> 1137 </application> 1138 <application name="Insurgency" executable="insurgency_linux"> 1139 <option name="force_gl_vendor" value="X.Org" /> 1140 </application> 1141 1142 <application name="SPECviewperf13" executable="viewperf"> 1143 <!-- creo-03 needs this to compile shaders; we don't support some corner cases --> 1144 <option name="mesa_extension_override" value="+GL_EXT_shader_image_load_store" /> 1145 </application> 1146 </device> 1147 <device driver="crocus"> 1148 <application name="glmark2" executable="glmark2"> 1149 <option name="limit_trig_input_range" value="true" /> 1150 </application> 1151 <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> 1152 <option name="force_gl_vendor" value="X.Org" /> 1153 </application> 1154 <application name="Insurgency" executable="insurgency_linux"> 1155 <option name="force_gl_vendor" value="X.Org" /> 1156 </application> 1157 </device> 1158 <device driver="anv"> 1159 <application name="Aperture Desk Job" executable="deskjob"> 1160 <option name="anv_assume_full_subgroups" value="32" /> 1161 </application> 1162 <application name="Breaking Limit" executable="GPUScoreVulkan"> 1163 <option name="anv_assume_full_subgroups_with_barrier" value="true" /> 1164 </application> 1165 <application name="Brawlhalla" executable="BrawlhallaGame.exe"> 1166 <option name="hasvk_report_vk_1_3_version" value="true" /> 1167 </application> 1168 <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> 1169 <option name="anv_assume_full_subgroups" value="32" /> 1170 <option name="fp64_workaround_enabled" value="true" /> 1171 </application> 1172 <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> 1173 <option name="limit_trig_input_range" value="true" /> 1174 </application> 1175 <application name="Batman™: Arkham Knight" executable="BatmanAK.exe"> 1176 <option name="anv_sample_mask_out_opengl_behaviour" value="true"/> 1177 </application> 1178 <application name="Rise of the Tomb Raider" executable="RiseOfTheTombRaider"> 1179 <option name="limit_trig_input_range" value="true" /> 1180 </application> 1181 <application name="Rise of the Tomb Raider" executable="ROTTR.exe"> 1182 <option name="limit_trig_input_range" value="true" /> 1183 </application> 1184 <application name="NieR Replicant ver.1.22474487139" executable="NieR Replicant ver.1.22474487139.exe"> 1185 <option name="limit_trig_input_range" value="true" /> 1186 </application> 1187 <application name="NieR:Automata" executable="NieRAutomata.exe"> 1188 <option name="limit_trig_input_range" value="true" /> 1189 </application> 1190 <application name="Valheim" executable="valheim.x86_64"> 1191 <option name="limit_trig_input_range" value="true" /> 1192 </application> 1193 <application name="Cyberpunk 2077" executable="Cyberpunk2077.exe"> 1194 <!-- 1195 Cyberpunk 2077 uses a watchdog thread to terminate 1196 the process in case the render thread hasn't responded within 2 minutes. 1197 This option speeds up shader compilation. 1198 See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9241 1199 --> 1200 <option name="shader_spilling_rate" value="15" /> 1201 </application> 1202 <application name="Elden Ring" executable="eldenring.exe"> 1203 <option name="fake_sparse" value="true" /> 1204 </application> 1205 <application name="Armored Core 6" executable="armoredcore6.exe"> 1206 <option name="fake_sparse" value="true" /> 1207 </application> 1208 <application name="Age of Empires IV" executable="RelicCardinal.exe"> 1209 <option name="anv_force_filter_addr_rounding" value="true" /> 1210 </application> 1211 <!-- Needed to avoid XeSS code paths. --> 1212 <application name="Marvel's Spider-Man Remastered" executable="Spider-Man.exe"> 1213 <option name="force_vk_vendor" value="-1" /> 1214 <option name="shader_spilling_rate" value="0" /> 1215 </application> 1216 <application name="Hitman 3" executable="hitman3.exe"> 1217 <option name="force_vk_vendor" value="-1"/> 1218 </application> 1219 <application name="Hogwarts Legacy" executable="HogwartsLegacy.exe"> 1220 <option name="force_vk_vendor" value="-1" /> 1221 </application> 1222 <application name="DEATH STRANDING" executable="ds.exe"> 1223 <option name="force_vk_vendor" value="-1" /> 1224 </application> 1225 <application name="Diablo IV" executable="Diablo IV.exe"> 1226 <option name="force_vk_vendor" value="-1" /> 1227 </application> 1228 <application name="Faaast Penguin" executable="FaaastPenguinClient.exe"> 1229 <option name="force_vk_vendor" value="-1" /> 1230 </application> 1231 <application name="Satisfactory Steam" executable="FactoryGameSteam-Win64-Shipping.exe"> 1232 <option name="force_vk_vendor" value="-1" /> 1233 </application> 1234 <application name="Satisfactory EGS" executable="FactoryGameEGS-Win64-Shipping.exe"> 1235 <option name="force_vk_vendor" value="-1" /> 1236 </application> 1237 <application name="Dying Light 2" executable="DyingLightGame_x64_rwdi.exe"> 1238 <option name="force_vk_vendor" value="-1" /> 1239 </application> 1240 <application name="Witcher3" executable="witcher3.exe"> 1241 <option name="force_vk_vendor" value="-1" /> 1242 </application> 1243 <application name="Baldur's Gate 3" executable="bg3.exe"> 1244 <option name="anv_disable_fcv" value="true" /> 1245 </application> 1246 <application name="The Finals" executable="Discovery.exe"> 1247 <option name="force_vk_vendor" value="-1" /> 1248 </application> 1249 <application name="Palworld2" executable="Palworld-Win64-Shipping.exe"> 1250 <option name="force_vk_vendor" value="-1" /> 1251 </application> 1252 <application name="Red Dead Redemption 2" executable="RDR2.exe"> 1253 <option name="force_vk_vendor" value="-1" /> 1254 </application> 1255 <application name="Shadow of the Tomb Raider" executable="SOTTR.exe"> 1256 <option name="force_vk_vendor" value="-1" /> 1257 </application> 1258 <application name="Silent Hill 2" executable="SHProto-Win64-Shipping.exe"> 1259 <option name="force_vk_vendor" value="-1" /> 1260 </application> 1261 <application name="Marvel Rivals" executable="Marvel-Win64-Shipping.exe"> 1262 <option name="force_vk_vendor" value="-1" /> 1263 </application> 1264 <application name="Bellwright" executable="BellwrightGame-Win64-Shipping.exe"> 1265 <option name="force_vk_vendor" value="-1" /> 1266 </application> 1267 <application name="DIRT 5" executable="DIRT5.exe"> 1268 <option name="fp64_workaround_enabled" value="true" /> 1269 </application> 1270 <application name="X4 Foundations" executable="X4"> 1271 <option name="anv_upper_bound_descriptor_pool_sampler" value="true" /> 1272 </application> 1273 <application name="Total War: WARHAMMER III" executable="TotalWarhammer3"> 1274 <option name="anv_fake_nonlocal_memory" value="true" /> 1275 </application> 1276 <!-- Source2 games seem confused by the CCS-only memory type being 1277 restricted to images, so allow it for buffers. More details on 1278 the issue: 1279 https://gitlab.freedesktop.org/mesa/mesa/-/issues/11520 --> 1280 <engine engine_name_match="Source2"> 1281 <option name="anv_enable_buffer_comp" value="true" /> 1282 </engine> 1283 <!-- Many DX12 games get a speedup by enabling buffer compression. --> 1284 <engine engine_name_match="vkd3d"> 1285 <option name="anv_enable_buffer_comp" value="true" /> 1286 </engine> 1287 <!-- 1288 Disable 16-bit feature on zink and angle so that GLES mediump doesn't 1289 lower to our inefficent 16-bit shader support. No need to do so for 1290 ANGLE, since it uses RelaxedPrecision decorations, which the intel 1291 compiler ignores. 1292 --> 1293 <engine engine_name_match="mesa zink"> 1294 <option name="no_16bit" value="true" /> 1295 </engine> 1296 <!-- Disable FCV optimization for Unreal Engine 5.1 workloads. --> 1297 <engine engine_name_match="UnrealEngine5.1"> 1298 <option name="anv_disable_fcv" value="true" /> 1299 <option name="anv_assume_full_subgroups" value="16" /> 1300 </engine> 1301 <!-- We trust vkd3d to not disable compression all the time. --> 1302 <engine engine_name_match="vkd3d"> 1303 <option name="compression_control_enabled" value="true" /> 1304 </engine> 1305 </device> 1306 <device driver="dzn"> 1307 <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> 1308 <option name="dzn_enable_8bit_loads_stores" value="true" /> 1309 <option name="dzn_claim_wide_lines" value="true" /> 1310 </application> 1311 <application name="No Man's Sky" executable="NMS.exe"> 1312 <option name="dzn_claim_wide_lines" value="true" /> 1313 </application> 1314 <!-- RDR2 will default to Vulkan despite having a D3D path. Ideally 1315 dzn would be "just as efficient" as the native path, but in practice 1316 it's currently broken. Just disable dzn and let the app use native. --> 1317 <application name="Red Dead Redemption 2" executable="RDR2.exe"> 1318 <option name="dzn_disable" value="true" /> 1319 </application> 1320 <!-- Similar to RDR2, but selects dzn instead of native drivers. --> 1321 <application name="Baldur's Gate 3" executable="bg3.exe"> 1322 <option name="dzn_disable" value="true" /> 1323 </application> 1324 </device> 1325 <device driver="d3d12"> 1326 <application name="Blender" executable="blender.exe"> 1327 <!-- Blender needs GL4.3, but that requires a D3D feature that not all in-market 1328 drivers support. Turns out they're fine with just the parts of this extension 1329 that don't need the D3D feature, so we're good to just flip it on. --> 1330 <option name="mesa_extension_override" value="+GL_ARB_texture_view" /> 1331 </application> 1332 </device> 1333 <device driver="nvk"> 1334 <application name="Artifact Classic" executable="dcg"> 1335 <option name="force_vk_vendor" value="-1" /> 1336 </application> 1337 <application name="X4 Foundations" executable="X4.exe"> 1338 <option name="force_vk_vendor" value="-1" /> 1339 </application> 1340 </device> 1341 <device driver="r300"> 1342 <!-- Only one app can use Hyperz at a time. --> 1343 <application name="X server" executable="X"> 1344 <option name="r300_nohiz" value="true" /> 1345 <option name="r300_nozmask" value="true" /> 1346 </application> 1347 <application name="X server" executable="Xorg"> 1348 <option name="r300_nohiz" value="true" /> 1349 <option name="r300_nozmask" value="true" /> 1350 </application> 1351 <application name="Compiz" executable="check_gl_texture_size"> 1352 <option name="r300_nohiz" value="true" /> 1353 <option name="r300_nozmask" value="true" /> 1354 </application> 1355 <application name="Compiz" executable="Compiz"> 1356 <option name="r300_nohiz" value="true" /> 1357 <option name="r300_nozmask" value="true" /> 1358 </application> 1359 <application name="GNOME Shell" executable="gnome-session-check-accelerated-helper"> 1360 <option name="r300_nohiz" value="true" /> 1361 <option name="r300_nozmask" value="true" /> 1362 </application> 1363 <application name="GNOME Shell" executable="gnome-shell"> 1364 <option name="r300_nohiz" value="true" /> 1365 <option name="r300_nozmask" value="true" /> 1366 </application> 1367 <application name="KWin" executable="kwin_opengl_test"> 1368 <option name="r300_nohiz" value="true" /> 1369 <option name="r300_nozmask" value="true" /> 1370 </application> 1371 <application name="KWin" executable="kwin"> 1372 <option name="r300_nohiz" value="true" /> 1373 <option name="r300_nozmask" value="true" /> 1374 </application> 1375 <application name="Unigine Tropics" executable="Tropics"> 1376 <option name="r300_ffmath" value="true" /> 1377 </application> 1378 <application name="Oilrush" executable="Oilrush_x86"> 1379 <option name="r300_ffmath" value="true" /> 1380 </application> 1381 </device> 1382 <device driver="r600"> 1383 <application name="Tomb Raider 2013" executable="TombRaider"> 1384 <option name="mesa_extension_override" value="-GL_ARB_shader_image_load_store" /> 1385 </application> 1386 </device> 1387 1388 <device driver="virtio_gpu"> 1389 <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> 1390 <option name="format_l8_srgb_enable_readback" value="true" /> 1391 </application> 1392 </device> 1393 <!-- 1394 The android game hall of shame: 1395 1396 Workarounds for android games that are not aware of open source drivers. 1397 These can be removed as games have their allowlists updated. 1398 --> 1399 <device driver="msm" device="FD618"> 1400 <application name="Call of Duty Mobile" executable="com.activision.callofduty.shooter"> 1401 <option name="force_gl_renderer" value="Adreno (TM) 618"/> 1402 <option name="force_gl_vendor" value="Qualcomm"/> 1403 </application> 1404 <application name="Asphalt 8" executable="com.gameloft.android.ANMP.GloftA8HM"> 1405 <!-- Note: asphalt8's allowlist seems to not have been updated recently 1406 enough to be aware of "Adreno (TM) 618", but we seem to otherwise 1407 have enough headroom to opt into the higher settings. (Conversely 1408 the allowlist seems to allow G72-MP3 into the higher tier, despite 1409 not being able to maintain fps.. possibly it is not properly 1410 differentiating between various core MPn configurations. So I'm 1411 going to use that to justify claiming to be a618's *slightly* 1412 bigger brother) 1413 --> 1414 <option name="force_gl_renderer" value="Adreno (TM) 630"/> 1415 <option name="force_gl_vendor" value="Qualcomm"/> 1416 </application> 1417 <application name="Asphalt 9" executable="com.gameloft.android.ANMP.GloftA9HM"> 1418 <option name="force_gl_renderer" value="Adreno (TM) 618"/> 1419 <option name="force_gl_vendor" value="Qualcomm"/> 1420 </application> 1421 <application name="PUBG Mobile" executable="com.tencent.ig"> 1422 <!-- Note: Maxed out a630 settings still limits max framerate, yet GPU 1423 is below 45% utilization (mostly closer to 40%). If I claim to 1424 be a640, that unlocks "Extreme" framerate (and "Ultra HD" graphics). 1425 With "Extreme" + "HDR" we are comfortably at 60fps with plenty of 1426 headroom. "Extreme" + "Ultra HD" (max settings for a640) we are 1427 starting to approach the limit. I'll stick with a630 to be 1428 conservative, but argueably we could go higher. (This flagship 1429 gaming phone thing is a scam!) 1430 --> 1431 <option name="force_gl_renderer" value="Adreno (TM) 630"/> 1432 <option name="force_gl_vendor" value="Qualcomm"/> 1433 </application> 1434 </device> 1435 1436 <device driver="turnip"> 1437 <!-- Up to DXVK version 2.3.0 --> 1438 <engine engine_name_match="DXVK" engine_versions="0:8400896"> 1439 <!-- 1440 See: https://github.com/doitsujin/dxvk/issues/3861 1441 1442 The shader-defined array size is entirely meaningless in D3D. 1443 --> 1444 <option name="tu_allow_oob_indirect_ubo_loads" value="true" /> 1445 </engine> 1446 <engine engine_name_match="DXVK|vkd3d"> 1447 <!-- 1448 DXVK and VKD3D-Proton use customBorderColorWithoutFormat and have most of 1449 D24S8 images with USAGE_SAMPLED, in such case we disable UBWC for correctness. 1450 However, games don't use border color for depth-stencil images. So we elect 1451 to ignore this edge case and force UBWC to be enabled. 1452 --> 1453 <option name="tu_disable_d24s8_border_color_workaround" value="true" /> 1454 </engine> 1455 </device> 1456 1457 <device driver="hk"> 1458 <engine engine_name_match="DXVK"> 1459 <!-- 1460 Apple hardware natively supports D3D-order RGBA4 but not 1461 Vulkan-order RGBA4. Technically, D3D added Vulkan-order RGBA4 to 1462 support Dozen, but DXVK does not support it and no known games 1463 use it. Disabling the workaround is safe for DXVK and reduces the 1464 number of custom border titles. 1465 --> 1466 <option name="hk_disable_rgba4_border_color_workaround" value="true" /> 1467 </engine> 1468 <application name="vkcube" executable="vkcube"> 1469 <option name="hk_disable_border_emulation" value="true" /> 1470 </application> 1471 <application name="vkmark" executable="vkmark"> 1472 <option name="hk_disable_border_emulation" value="true" /> 1473 </application> 1474 <application name="Party Animals" executable="PartyAnimals.exe"> 1475 <option name="hk_disable_border_emulation" value="true" /> 1476 </application> 1477 <application name="Castle Crashers" executable="castle.exe"> 1478 <option name="hk_disable_border_emulation" value="true" /> 1479 </application> 1480 <application name="Control (DX11)" executable="Control_DX11.exe"> 1481 <option name="hk_disable_border_emulation" value="true" /> 1482 </application> 1483 </device> 1484</driconf> 1485