1 <?xml version="1.0" standalone="yes"?>
4 ============================================
5 Application bugs worked around in this file:
6 ============================================
8 * Unigine Heaven 3.0 and older contain too many bugs and can't be supported
9 by drivers that want to be compliant.
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
14 Enabling all extensions for Unigine fixes most issues, but the GLSL version
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
21 * Dying Light and Dead Island Definitive Edition redeclare vertex shader
22 built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
25 * Applications that are not suitable for adapative sync are blacklisted here.
27 TODO: document the other workarounds.
32 <!ELEMENT driconf (device+)>
33 <!ELEMENT device (application+)>
34 <!ATTLIST device driver CDATA #IMPLIED>
35 <!ELEMENT application (option+)>
36 <!ATTLIST application name CDATA #REQUIRED
37 executable CDATA #REQUIRED>
38 <!ELEMENT option EMPTY>
39 <!ATTLIST option name CDATA #REQUIRED
40 value CDATA #REQUIRED>
44 <!-- Please always enable app-specific workarounds for all drivers and
47 <application name="Unigine Sanctuary" executable="Sanctuary">
48 <option name="force_glsl_extensions_warn" value="true" />
49 <option name="disable_blend_func_extended" value="true" />
52 <application name="Unigine Tropics" executable="Tropics">
53 <option name="force_glsl_extensions_warn" value="true" />
54 <option name="disable_blend_func_extended" value="true" />
57 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
58 <option name="allow_glsl_extension_directive_midshader" value="true" />
59 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
60 <option name="dual_color_blend_by_location" value="true" />
63 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
64 <option name="allow_glsl_extension_directive_midshader" value="true" />
65 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
66 <option name="dual_color_blend_by_location" value="true" />
69 <application name="Unigine Valley (32-bit)" executable="valley_x86">
70 <option name="allow_glsl_extension_directive_midshader" value="true" />
71 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
72 <option name="dual_color_blend_by_location" value="true" />
75 <application name="Unigine Valley (64-bit)" executable="valley_x64">
76 <option name="allow_glsl_extension_directive_midshader" value="true" />
77 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
78 <option name="dual_color_blend_by_location" value="true" />
81 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
82 <option name="disable_blend_func_extended" value="true" />
83 <option name="allow_glsl_extension_directive_midshader" value="true" />
86 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
87 <option name="disable_blend_func_extended" value="true" />
88 <option name="allow_glsl_extension_directive_midshader" value="true" />
91 <application name="Savage 2" executable="savage2.bin">
92 <option name="disable_glsl_line_continuations" value="true" />
95 <application name="Topogun (32-bit)" executable="topogun32">
96 <option name="always_have_depth_buffer" value="true" />
99 <application name="Topogun (64-bit)" executable="topogun64">
100 <option name="always_have_depth_buffer" value="true" />
103 <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
104 <option name="allow_glsl_extension_directive_midshader" value="true" />
106 <!-- For the Definitive Edition which shares the same executable name -->
107 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
110 <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
111 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
114 <application name="Dying Light" executable="DyingLightGame">
115 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
118 <application name="RAGE (64-bit)" executable="Rage64.exe">
119 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
122 <application name="RAGE (32-bit)" executable="Rage.exe">
123 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
126 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
127 <option name="allow_glsl_extension_directive_midshader" value="true" />
130 <application name="Warsow (32-bit)" executable="warsow.i386">
131 <option name="allow_glsl_extension_directive_midshader" value="true" />
134 <application name="Warsow (64-bit)" executable="warsow.x86_64">
135 <option name="allow_glsl_extension_directive_midshader" value="true" />
138 <application name="Rust" executable="rust">
139 <option name="glsl_zero_init" value="true"/>
142 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
143 <option name="allow_glsl_extension_directive_midshader" value="true" />
146 <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
147 <option name="allow_glsl_extension_directive_midshader" value="true" />
150 <application name="Worms W.M.D" executable="Worms W.M.Dx64">
151 <option name="allow_higher_compat_version" value="true" />
154 <application name="Crookz - The Big Heist" executable="Crookz">
155 <option name="allow_higher_compat_version" value="true" />
158 <application name="Tropico 5" executable="Tropico5">
159 <option name="allow_higher_compat_version" value="true" />
162 <application name="The Culling" executable="Victory">
163 <option name="force_glsl_version" value="440" />
166 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
167 <option name="force_glsl_abs_sqrt" value="true" />
170 <application name="Spec Ops: The Line (64-bit)" executable="specops">
171 <option name="force_glsl_abs_sqrt" value="true" />
174 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
175 <option name="glsl_zero_init" value="true"/>
178 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
179 <option name="glsl_zero_init" value="true"/>
182 <application name="Rocket League" executable="RocketLeague">
183 <option name="glsl_correct_derivatives_after_discard" value="true"/>
186 <application name="The Witcher 2" executable="witcher2">
187 <option name="glsl_correct_derivatives_after_discard" value="true"/>
190 <application name="Unreal 4 Editor" executable="UE4Editor">
191 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
194 <application name="Observer" executable="TheObserver-Linux-Shipping">
195 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
198 <application name="Steamroll" executable="Steamroll-Linux-Shipping">
199 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
202 <application name="Refunct" executable="Refunct-Linux-Shipping">
203 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
206 <application name="Google Earth VR" executable="Earth.exe">
207 <option name="allow_glsl_builtin_const_expression" value="true"/>
208 <option name="allow_glsl_relaxed_es" value="true"/>
211 <application name="No Mans Sky" executable="NMS.exe">
212 <option name="force_glsl_extensions_warn" value="true" />
213 <option name="allow_glsl_layout_qualifier_on_function_parameters" value="true" />
216 <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
217 <option name="force_compat_profile" value="true" />
220 <application name="ARMA 3" executable="arma3.x86_64">
221 <option name="glsl_correct_derivatives_after_discard" value="true"/>
224 <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe">
225 <option name="force_compat_profile" value="true" />
228 <!-- The GL thread whitelist is below, workarounds are above.
229 Keep it that way. -->
231 <application name="Alien Isolation" executable="AlienIsolation">
232 <option name="mesa_glthread" value="true"/>
235 <application name="BioShock Infinite" executable="bioshock.i386">
236 <option name="mesa_glthread" value="true"/>
239 <application name="Borderlands 2" executable="Borderlands2">
240 <option name="mesa_glthread" value="true"/>
243 <application name="Civilization 5" executable="Civ5XP">
244 <option name="mesa_glthread" value="true"/>
246 <application name="Civilization 6" executable="Civ6">
247 <option name="mesa_glthread" value="true"/>
249 <application name="Civilization 6" executable="Civ6Sub">
250 <option name="mesa_glthread" value="true"/>
253 <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
254 <option name="mesa_glthread" value="true"/>
257 <application name="Hitman" executable="HitmanPro">
258 <option name="mesa_glthread" value="true"/>
261 <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
262 <option name="mesa_glthread" value="true"/>
265 <application name="Saints Row 2" executable="saintsrow2.i386">
266 <option name="mesa_glthread" value="true"/>
268 <application name="Saints Row: The Third" executable="SaintsRow3.i386">
269 <option name="mesa_glthread" value="true"/>
271 <application name="Saints Row IV" executable="SaintsRow4.i386">
272 <option name="mesa_glthread" value="true"/>
274 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
275 <option name="mesa_glthread" value="true"/>
278 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
279 <option name="mesa_glthread" value="true"/>
282 <application name="The Witcher 2" executable="witcher2">
283 <option name="mesa_glthread" value="true"/>
286 <application name="American Truck Simulator" executable="amtrucks">
287 <option name="mesa_glthread" value="true"/>
289 <application name="Euro Truck Simulator 2" executable="eurotrucks2">
290 <option name="mesa_glthread" value="true"/>
293 <application name="Overlord" executable="overlord.i386">
294 <option name="mesa_glthread" value="true"/>
296 <application name="Overlord 2" executable="overlord2.i386">
297 <option name="mesa_glthread" value="true"/>
300 <application name="Oil Rush" executable="OilRush_x86">
301 <option name="mesa_glthread" value="true"/>
304 <application name="War Thunder" executable="aces">
305 <option name="mesa_glthread" value="true"/>
307 <application name="War Thunder (Wine)" executable="aces.exe">
308 <option name="mesa_glthread" value="true"/>
311 <application name="Outlast" executable="OLGame.x86_64">
312 <option name="mesa_glthread" value="true"/>
315 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
316 <option name="mesa_glthread" value="true"/>
318 <application name="Spec Ops: The Line (64-bit)" executable="specops">
319 <option name="mesa_glthread" value="true"/>
321 <application name="Mount and Blade Warband" executable="mb_warband_linux">
322 <option name="mesa_glthread" value="true"/>
325 <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
326 <application name="Medieval II: Total War" executable="Medieval2">
327 <option name="mesa_glthread" value="true"/>
330 <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
331 <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
332 <option name="mesa_glthread" value="true"/>
335 <!-- around 30% increase in avg fps -->
336 <application name="Far Cry 2 (wine)" executable="farcry2.exe">
337 <option name="mesa_glthread" value="true"/>
340 <application name="Talos Principle" executable="Talos">
341 <option name="mesa_glthread" value="true"/>
343 <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
344 <option name="mesa_glthread" value="true"/>
347 <!-- Adaptive sync blacklist follows below: -->
348 <application name="gnome-shell" executable="gnome-shell">
349 <option name="adaptive_sync" value="false" />
351 <application name="Desktop — Plasma" executable="plasmashell">
352 <option name="adaptive_sync" value="false" />
354 <application name="budgie-wm" executable="budgie-wm">
355 <option name="adaptive_sync" value="false" />
357 <application name="kwin_x11" executable="kwin_x11">
358 <option name="adaptive_sync" value="false" />
360 <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
361 <option name="adaptive_sync" value="false" />
363 <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
364 <option name="adaptive_sync" value="false" />
366 <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
367 <option name="adaptive_sync" value="false" />
369 <application name="startplasma" executable="startplasma">
370 <option name="adaptive_sync" value="false" />
372 <application name="sddm-greeter" executable="sddm-greeter">
373 <option name="adaptive_sync" value="false" />
375 <application name="krunner" executable="krunner">
376 <option name="adaptive_sync" value="false" />
378 <application name="spectacle" executable="spectacle">
379 <option name="adaptive_sync" value="false" />
381 <application name="marco" executable="marco">
382 <option name="adaptive_sync" value="false" />
384 <application name="compton" executable="compton">
385 <option name="adaptive_sync" value="false" />
387 <application name="xfwm4" executable="xfwm4">
388 <option name="adaptive_sync" value="false" />
390 <application name="Enlightenment" executable="enlightenment">
391 <option name="adaptive_sync" value="false" />
393 <application name="mutter" executable="mutter">
394 <option name="adaptive_sync" value="false" />
396 <application name="muffin" executable="muffin">
397 <option name="adaptive_sync" value="false" />
399 <application name="compiz" executable="compiz">
400 <option name="adaptive_sync" value="false" />
402 <application name="Firefox" executable="firefox">
403 <option name="adaptive_sync" value="false" />
405 <application name="Firefox ESR" executable="firefox-esr">
406 <option name="adaptive_sync" value="false" />
408 <application name="Chromium" executable="chromium">
409 <option name="adaptive_sync" value="false" />
411 <application name="Google Chrome" executable="chrome">
412 <option name="adaptive_sync" value="false" />
414 <application name="Iceweasel" executable="iceweasel">
415 <option name="adaptive_sync" value="false" />
417 <application name="Epiphany" executable="epiphany">
418 <option name="adaptive_sync" value="false" />
420 <application name="Konqueror" executable="konqueror">
421 <option name="adaptive_sync" value="false" />
423 <application name="Falkon" executable="falkon">
424 <option name="adaptive_sync" value="false" />
426 <application name="Seamonkey" executable="seamonkey">
427 <option name="adaptive_sync" value="false" />
429 <application name="Waterfox" executable="waterfox">
430 <option name="adaptive_sync" value="false" />
432 <application name="VLC Media Player" executable="vlc">
433 <option name="adaptive_sync" value="false" />
435 <application name="Totem" executable="totem">
436 <option name="adaptive_sync" value="false" />
438 <application name="Dragon Player" executable="dragon">
439 <option name="adaptive_sync" value="false" />
441 <application name="mpv" executable="mpv">
442 <option name="adaptive_sync" value="false" />
445 <!-- Gallium Nine workarounds: -->
446 <application name="Rayman Legends" executable="Rayman Legends.exe">
447 <option name="dynamic_texture_workaround" value="true" />
450 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
451 <device driver="vmwgfx">
452 <application name="gnome-shell" executable="gnome-shell">
453 <option name="glx_disable_ext_buffer_age" value="true" />
454 <option name="glx_disable_oml_sync_control" value="true" />
455 <option name="glx_disable_sgi_video_sync" value="true" />
457 <application name="Compiz" executable="Compiz">
458 <option name="glx_disable_ext_buffer_age" value="true" />
459 <option name="glx_disable_oml_sync_control" value="true" />
462 <device driver="radeonsi">
463 <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
464 <option name="radeonsi_clear_db_cache_before_clear" value="true" />
466 <application name="No Mans Sky" executable="NMS.exe">
467 <option name="radeonsi_zerovram" value="true" />
469 <application name="Civilization 6" executable="Civ6">
470 <option name="radeonsi_enable_nir" value="true"/>
472 <application name="Civilization 6" executable="Civ6Sub">
473 <option name="radeonsi_enable_nir" value="true"/>