3 ============================================
4 Application bugs worked around in this file:
5 ============================================
7 * Unigine Heaven 3.0 and older contain too many bugs and can't be supported
8 by drivers that want to be compliant.
10 * Various Unigine products don't use the #version and #extension GLSL
11 directives, meaning they only get GLSL 1.10 and no extensions for their
13 Enabling all extensions for Unigine fixes most issues, but the GLSL version
16 * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
17 an #extension directive in the middle of its shaders, which is illegal
20 * Dying Light and Dead Island Definitive Edition redeclare vertex shader
21 built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
24 * Applications that are not suitable for adapative sync are blacklisted here.
26 TODO: document the other workarounds.
31 <!-- Please always enable app-specific workarounds for all drivers and
34 <application name="Unigine Sanctuary" executable="Sanctuary">
35 <option name="force_glsl_extensions_warn" value="true" />
36 <option name="disable_blend_func_extended" value="true" />
39 <application name="Unigine Tropics" executable="Tropics">
40 <option name="force_glsl_extensions_warn" value="true" />
41 <option name="disable_blend_func_extended" value="true" />
44 <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
45 <option name="allow_glsl_extension_directive_midshader" value="true" />
46 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
47 <option name="dual_color_blend_by_location" value="true" />
50 <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
51 <option name="allow_glsl_extension_directive_midshader" value="true" />
52 <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
53 <option name="dual_color_blend_by_location" value="true" />
56 <application name="Unigine Valley (32-bit)" executable="valley_x86">
57 <option name="allow_glsl_extension_directive_midshader" value="true" />
58 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
59 <option name="dual_color_blend_by_location" value="true" />
62 <application name="Unigine Valley (64-bit)" executable="valley_x64">
63 <option name="allow_glsl_extension_directive_midshader" value="true" />
64 <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
65 <option name="dual_color_blend_by_location" value="true" />
68 <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
69 <option name="disable_blend_func_extended" value="true" />
70 <option name="allow_glsl_extension_directive_midshader" value="true" />
73 <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
74 <option name="disable_blend_func_extended" value="true" />
75 <option name="allow_glsl_extension_directive_midshader" value="true" />
78 <application name="Savage 2" executable="savage2.bin">
79 <option name="disable_glsl_line_continuations" value="true" />
82 <application name="Topogun (32-bit)" executable="topogun32">
83 <option name="always_have_depth_buffer" value="true" />
86 <application name="Topogun (64-bit)" executable="topogun64">
87 <option name="always_have_depth_buffer" value="true" />
90 <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
91 <option name="allow_glsl_extension_directive_midshader" value="true" />
93 <!-- For the Definitive Edition which shares the same executable name -->
94 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
97 <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
98 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
101 <application name="Dying Light" executable="DyingLightGame">
102 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
105 <application name="RAGE (64-bit)" executable="Rage64.exe">
106 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
109 <application name="RAGE (32-bit)" executable="Rage.exe">
110 <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
113 <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
114 <option name="allow_glsl_extension_directive_midshader" value="true" />
117 <application name="Warsow (32-bit)" executable="warsow.i386">
118 <option name="allow_glsl_extension_directive_midshader" value="true" />
121 <application name="Warsow (64-bit)" executable="warsow.x86_64">
122 <option name="allow_glsl_extension_directive_midshader" value="true" />
125 <application name="Rust" executable="rust">
126 <option name="glsl_zero_init" value="true"/>
129 <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
130 <option name="allow_glsl_extension_directive_midshader" value="true" />
133 <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro">
134 <option name="allow_glsl_extension_directive_midshader" value="true" />
137 <application name="Worms W.M.D" executable="Worms W.M.Dx64">
138 <option name="allow_higher_compat_version" value="true" />
141 <application name="Crookz - The Big Heist" executable="Crookz">
142 <option name="allow_higher_compat_version" value="true" />
145 <application name="Tropico 5" executable="Tropico5">
146 <option name="allow_higher_compat_version" value="true" />
149 <application name="The Culling" executable="Victory">
150 <option name="force_glsl_version" value="440" />
153 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
154 <option name="force_glsl_abs_sqrt" value="true" />
157 <application name="Spec Ops: The Line (64-bit)" executable="specops">
158 <option name="force_glsl_abs_sqrt" value="true" />
161 <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
162 <option name="glsl_zero_init" value="true"/>
165 <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
166 <option name="glsl_zero_init" value="true"/>
169 <application name="Rocket League" executable="RocketLeague">
170 <option name="glsl_correct_derivatives_after_discard" value="true"/>
173 <application name="The Witcher 2" executable="witcher2">
174 <option name="glsl_correct_derivatives_after_discard" value="true"/>
177 <application name="Unreal 4 Editor" executable="UE4Editor">
178 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
181 <application name="Observer" executable="TheObserver-Linux-Shipping">
182 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
185 <application name="Steamroll" executable="Steamroll-Linux-Shipping">
186 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
189 <application name="Refunct" executable="Refunct-Linux-Shipping">
190 <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/>
193 <application name="Google Earth VR" executable="Earth.exe">
194 <option name="allow_glsl_builtin_const_expression" value="true"/>
195 <option name="allow_glsl_relaxed_es" value="true"/>
198 <application name="No Mans Sky" executable="NMS.exe">
199 <option name="force_glsl_extensions_warn" value="true" />
200 <option name="allow_glsl_layout_qualifier_on_function_parameters" value="true" />
203 <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe">
204 <option name="force_compat_profile" value="true" />
207 <application name="ARMA 3" executable="arma3.x86_64">
208 <option name="glsl_correct_derivatives_after_discard" value="true"/>
211 <!-- The GL thread whitelist is below, workarounds are above.
212 Keep it that way. -->
214 <application name="Alien Isolation" executable="AlienIsolation">
215 <option name="mesa_glthread" value="true"/>
218 <application name="BioShock Infinite" executable="bioshock.i386">
219 <option name="mesa_glthread" value="true"/>
222 <application name="Borderlands 2" executable="Borderlands2">
223 <option name="mesa_glthread" value="true"/>
226 <application name="Civilization 5" executable="Civ5XP">
227 <option name="mesa_glthread" value="true"/>
229 <application name="Civilization 6" executable="Civ6">
230 <option name="mesa_glthread" value="true"/>
232 <application name="Civilization 6" executable="Civ6Sub">
233 <option name="mesa_glthread" value="true"/>
236 <application name="Dreamfall Chapters" executable="Dreamfall Chapters">
237 <option name="mesa_glthread" value="true"/>
240 <application name="Hitman" executable="HitmanPro">
241 <option name="mesa_glthread" value="true"/>
244 <application name="Renowned Explorers: International Society" executable="abbeycore_steam">
245 <option name="mesa_glthread" value="true"/>
248 <application name="Saints Row 2" executable="saintsrow2.i386">
249 <option name="mesa_glthread" value="true"/>
251 <application name="Saints Row: The Third" executable="SaintsRow3.i386">
252 <option name="mesa_glthread" value="true"/>
254 <application name="Saints Row IV" executable="SaintsRow4.i386">
255 <option name="mesa_glthread" value="true"/>
257 <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386">
258 <option name="mesa_glthread" value="true"/>
261 <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE">
262 <option name="mesa_glthread" value="true"/>
265 <application name="The Witcher 2" executable="witcher2">
266 <option name="mesa_glthread" value="true"/>
269 <application name="American Truck Simulator" executable="amtrucks">
270 <option name="mesa_glthread" value="true"/>
272 <application name="Euro Truck Simulator 2" executable="eurotrucks2">
273 <option name="mesa_glthread" value="true"/>
276 <application name="Overlord" executable="overlord.i386">
277 <option name="mesa_glthread" value="true"/>
279 <application name="Overlord 2" executable="overlord2.i386">
280 <option name="mesa_glthread" value="true"/>
283 <application name="Oil Rush" executable="OilRush_x86">
284 <option name="mesa_glthread" value="true"/>
287 <application name="War Thunder" executable="aces">
288 <option name="mesa_glthread" value="true"/>
290 <application name="War Thunder (Wine)" executable="aces.exe">
291 <option name="mesa_glthread" value="true"/>
294 <application name="Outlast" executable="OLGame.x86_64">
295 <option name="mesa_glthread" value="true"/>
298 <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
299 <option name="mesa_glthread" value="true"/>
301 <application name="Spec Ops: The Line (64-bit)" executable="specops">
302 <option name="mesa_glthread" value="true"/>
304 <application name="Mount and Blade Warband" executable="mb_warband_linux">
305 <option name="mesa_glthread" value="true"/>
308 <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. -->
309 <application name="Medieval II: Total War" executable="Medieval2">
310 <option name="mesa_glthread" value="true"/>
313 <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. -->
314 <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe">
315 <option name="mesa_glthread" value="true"/>
318 <!-- around 30% increase in avg fps -->
319 <application name="Far Cry 2 (wine)" executable="farcry2.exe">
320 <option name="mesa_glthread" value="true"/>
323 <application name="Talos Principle" executable="Talos">
324 <option name="mesa_glthread" value="true"/>
326 <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted">
327 <option name="mesa_glthread" value="true"/>
330 <!-- Adaptive sync blacklist follows below: -->
331 <application name="gnome-shell" executable="gnome-shell">
332 <option name="adaptive_sync" value="false" />
334 <application name="Desktop — Plasma" executable="plasmashell">
335 <option name="adaptive_sync" value="false" />
337 <application name="kwin_x11" executable="kwin_x11">
338 <option name="adaptive_sync" value="false" />
340 <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
341 <option name="adaptive_sync" value="false" />
343 <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
344 <option name="adaptive_sync" value="false" />
346 <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
347 <option name="adaptive_sync" value="false" />
349 <application name="startplasma" executable="startplasma">
350 <option name="adaptive_sync" value="false" />
352 <application name="sddm-greeter" executable="sddm-greeter">
353 <option name="adaptive_sync" value="false" />
355 <application name="krunner" executable="krunner">
356 <option name="adaptive_sync" value="false" />
358 <application name="marco" executable="marco">
359 <option name="adaptive_sync" value="false" />
361 <application name="compton" executable="compton">
362 <option name="adaptive_sync" value="false" />
364 <application name="xfwm4" executable="xfwm4">
365 <option name="adaptive_sync" value="false" />
367 <application name="Enlightenment" executable="enlightenment">
368 <option name="adaptive_sync" value="false" />
370 <application name="mutter" executable="mutter">
371 <option name="adaptive_sync" value="false" />
373 <application name="muffin" executable="muffin">
374 <option name="adaptive_sync" value="false" />
376 <application name="compiz" executable="compiz">
377 <option name="adaptive_sync" value="false" />
379 <application name="Firefox" executable="firefox">
380 <option name="adaptive_sync" value="false" />
382 <application name="Firefox ESR" executable="firefox-esr">
383 <option name="adaptive_sync" value="false" />
385 <application name="Chromium" executable="chromium">
386 <option name="adaptive_sync" value="false" />
388 <application name="Google Chrome" executable="chrome">
389 <option name="adaptive_sync" value="false" />
391 <application name="Iceweasel" executable="iceweasel">
392 <option name="adaptive_sync" value="false" />
394 <application name="Epiphany" executable="epiphany">
395 <option name="adaptive_sync" value="false" />
397 <application name="Konqueror" executable="konqueror">
398 <option name="adaptive_sync" value="false" />
400 <application name="Seamonkey" executable="seamonkey">
401 <option name="adaptive_sync" value="false" />
403 <application name="VLC Media Player" executable="vlc">
404 <option name="adaptive_sync" value="false" />
406 <application name="Totem" executable="totem">
407 <option name="adaptive_sync" value="false" />
409 <application name="Dragon Player" executable="dragon">
410 <option name="adaptive_sync" value="false" />
412 <application name="mpv" executable="mpv">
413 <option name="adaptive_sync" value="false" />
416 <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
417 <device driver="vmwgfx">
418 <application name="gnome-shell" executable="gnome-shell">
419 <option name="glx_disable_ext_buffer_age" value="true" />
420 <option name="glx_disable_oml_sync_control" value="true" />
421 <option name="glx_disable_sgi_video_sync" value="true" />
423 <application name="Compiz" executable="Compiz">
424 <option name="glx_disable_ext_buffer_age" value="true" />
425 <option name="glx_disable_oml_sync_control" value="true" />
428 <device driver="radeonsi">
429 <application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
430 <option name="radeonsi_clear_db_cache_before_clear" value="true" />
432 <application name="No Mans Sky" executable="NMS.exe">
433 <option name="radeonsi_zerovram" value="true" />
435 <application name="Civilization 6" executable="Civ6">
436 <option name="radeonsi_enable_nir" value="true"/>
438 <application name="Civilization 6" executable="Civ6Sub">
439 <option name="radeonsi_enable_nir" value="true"/>