View file File name : 00-mesa-defaults.conf Content :<?xml version="1.0" standalone="yes"?> <!-- ============================================ Application bugs worked around in this file: ============================================ * Unigine Heaven 3.0 and older contain too many bugs and can't be supported by drivers that want to be compliant. * Various Unigine products don't use the #version and #extension GLSL directives, meaning they only get GLSL 1.10 and no extensions for their shaders. Enabling all extensions for Unigine fixes most issues, but the GLSL version is still 1.10. * If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses an #extension directive in the middle of its shaders, which is illegal in GLSL. * Dying Light and Dead Island Definitive Edition redeclare vertex shader built-ins (specifically gl_VertexID), which causes the vertex shaders to fail to compile. * Applications that are not suitable for adapative sync are denylisted here. TODO: document the other workarounds. --> <!DOCTYPE driconf [ <!ELEMENT driconf (device+)> <!ELEMENT device (application | engine)+> <!ATTLIST device driver CDATA #IMPLIED device CDATA #IMPLIED> <!ELEMENT application (option+)> <!ATTLIST application name CDATA #REQUIRED executable CDATA #IMPLIED executable_regexp CDATA #IMPLIED sha1 CDATA #IMPLIED application_name_match CDATA #IMPLIED application_versions CDATA #IMPLIED> <!ELEMENT engine (option+)> <!-- engine_name_match: A regexp matching the engine name --> <!-- engine_versions: A version in range format (version 1 to 4 : "1:4") --> <!ATTLIST engine engine_name_match CDATA #REQUIRED engine_versions CDATA #IMPLIED> <!ELEMENT option EMPTY> <!ATTLIST option name CDATA #REQUIRED value CDATA #REQUIRED> ]> <driconf> <!-- Please always enable app-specific workarounds for all drivers and screens. --> <device> <application name="Akka Arrh" executable="Project-A.exe"> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Unigine Sanctuary" executable="Sanctuary"> <option name="force_glsl_extensions_warn" value="true" /> <option name="disable_blend_func_extended" value="true" /> <option name="disable_arb_gpu_shader5" value="true" /> </application> <application name="Unigine Tropics" executable="Tropics"> <option name="force_glsl_extensions_warn" value="true" /> <option name="disable_blend_func_extended" value="true" /> <option name="disable_arb_gpu_shader5" value="true" /> </application> <!-- using vulkan wsi for xservers causes deadlocks --> <application name="Xwayland" executable="Xwayland"> <option name="disable_xcb_surface" value="true" /> </application> <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine Heaven (Windows)" executable="heaven.exe"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 4.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine Valley (32-bit)" executable="valley_x86"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine Valley (64-bit)" executable="valley_x64"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine Valley (Windows)" executable="valley.exe"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- remove dual_color_blend_by_location if 1.1 ever comes out --> <option name="dual_color_blend_by_location" value="true" /> </application> <application name="Unigine OilRush (32-bit)" executable="OilRush_x86"> <option name="disable_blend_func_extended" value="true" /> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Unigine OilRush (64-bit)" executable="OilRush_x64"> <option name="disable_blend_func_extended" value="true" /> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Savage 2" executable="savage2.bin"> <option name="disable_glsl_line_continuations" value="true" /> </application> <application name="Topogun (32-bit)" executable="topogun32"> <option name="always_have_depth_buffer" value="true" /> </application> <application name="Topogun (64-bit)" executable="topogun64"> <option name="always_have_depth_buffer" value="true" /> </application> <application name="Half Life 2" executable="hl2_linux"> <option name="mesa_glthread" value="true" /> </application> <application name="Black Mesa" executable="bms_linux"> <option name="mesa_glthread" value="true" /> </application> <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> <option name="mesa_glthread" value="true" /> </application> <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <!-- For the Definitive Edition which shares the same executable name --> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> </application> <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> </application> <application name="Doom 3: BFG" executable="Doom3BFG.exe"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> <option name="force_glsl_extensions_warn" value="true" /> </application> <application name="Dune: Spice Wars" executable="D4X.exe"> <option name="disable_uniform_array_resize" value="true" /> </application> <application name="Dying Light" executable="DyingLightGame"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> </application> <application name="Exanima" executable="Exanima.exe"> <option name="glsl_zero_init" value="true"/> </application> <application name="Full Bore" executable="fullbore"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> </application> <application name="RAGE (64-bit)" executable="Rage64.exe"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> <option name="force_gl_map_buffer_synchronized" value="true" /> </application> <application name="RAGE (32-bit)" executable="Rage.exe"> <option name="allow_glsl_builtin_variable_redeclaration" value="true" /> <option name="force_gl_map_buffer_synchronized" value="true" /> </application> <application name="Second Life" executable="do-not-directly-run-secondlife-bin"> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Warsow (32-bit)" executable="warsow.i386"> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Warsow (64-bit)" executable="warsow.x86_64"> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Rust" executable="rust"> <option name="glsl_zero_init" value="true"/> </application> <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp"> <option name="allow_glsl_extension_directive_midshader" value="true" /> <option name="glsl_correct_derivatives_after_discard" value="true" /> <option name="force_gl_vendor" value="ATI Technologies, Inc."/> </application> <application name="Metro 2033 Redux / Metro Last Night Redux" executable="metro"> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Worms W.M.D" executable="Worms W.M.Dx64"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Crookz - The Big Heist" executable="Crookz"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Tropico 5" executable="Tropico5"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Faster than Light (32-bit)" executable="FTL.x86"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Faster than Light (64-bit)" executable="FTL.amd64"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Final Fantasy VIII: Remastered" executable="FFVIII.exe"> <option name="allow_higher_compat_version" value="true" /> </application> <application name="SNK HEROINES Tag Team Frenzy" executable="SNKHEROINES.exe"> <option name="force_compat_shaders" value="true" /> </application> <application name="Metal Slug XX" executable="MSXX_main.exe"> <option name="force_compat_shaders" value="true" /> </application> <application name="The Culling" executable="Victory"> <option name="force_glsl_version" value="440" /> </application> <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> <option name="force_glsl_abs_sqrt" value="true" /> </application> <application name="Spec Ops: The Line (64-bit)" executable="specops"> <option name="force_glsl_abs_sqrt" value="true" /> </application> <application name="Jamestown+" executable="JamestownPlus.exe"> <option name="force_compat_profile" value="true" /> </application> <application name="Kerbal Space Program (32-bit)" executable="KSP.x86"> <option name="glsl_zero_init" value="true"/> </application> <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64"> <option name="glsl_zero_init" value="true"/> </application> <application name="Luna Sky" executable="lunasky"> <option name="force_glsl_version" value="130"/> <option name="glsl_ignore_write_to_readonly_var" value="true"/> </application> <application name="Rocket League" executable="RocketLeague"> <option name="glsl_correct_derivatives_after_discard" value="true"/> </application> <application name="The Witcher 2" executable="witcher2"> <option name="glsl_correct_derivatives_after_discard" value="true"/> </application> <application name="Unreal 4 Editor" executable="UE4Editor"> <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> </application> <application name="Observer" executable="TheObserver-Linux-Shipping"> <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> </application> <!-- Pixel Game Maker MV workarounds. Games include: YuuYuu Jiteki no Yuukarin, Elfin Force, Eden Gamma, etc --> <application name="Pixel Game Maker MV" executable="player.exe"> <option name="allow_glsl_120_subset_in_110" value="true" /> </application> <application name="Eden Gamma" executable="EdenGammaGame-0.3.0.2.exe"> <option name="allow_glsl_120_subset_in_110" value="true" /> </application> <application name="Steamroll" executable="Steamroll-Linux-Shipping"> <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> </application> <application name="Refunct" executable="Refunct-Linux-Shipping"> <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> </application> <application name="We Happy Few" executable="GlimpseGame"> <option name="allow_glsl_cross_stage_interpolation_mismatch" value="true"/> </application> <application name="Google Earth VR" executable="Earth.exe"> <option name="allow_glsl_builtin_const_expression" value="true"/> <option name="allow_glsl_relaxed_es" value="true"/> </application> <application name="Champions of Regnum" executable="game"> <option name="allow_extra_pp_tokens" value="true" /> </application> <application name="Wolfenstein The Old Blood" executable="WolfOldBlood_x64.exe"> <option name="force_compat_profile" value="true" /> </application> <application name="ARMA 3" executable="arma3.x86_64"> <option name="glsl_correct_derivatives_after_discard" value="true"/> </application> <application name="Epic Games Launcher" executable="EpicGamesLauncher.exe"> <option name="force_compat_profile" value="true" /> </application> <application name="GpuTest" executable="GpuTest"> <!-- GiMark benchmark from GpuTest does not initialize .w channel of lightDir0 and lightDir1 varyings in the vertex shader while uses it in the fragment shader. --> <option name="glsl_zero_init" value="true"/> </application> <application name="Curse of the Dead Gods" executable="Curse of the Dead Gods.exe"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2598 --> <option name="glsl_zero_init" value="true" /> </application> <application name="GRID Autosport" executable="GridAutosport"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> <option name="force_integer_tex_nearest" value="true" /> </application> <application name="DIRT: Showdown" executable="dirt.i386"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/1258 --> <option name="force_integer_tex_nearest" value="true" /> </application> <application name="DiRT Rally" executable="DirtRally"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5648 --> <option name="vs_position_always_invariant" value="true" /> </application> <application name="Homerun Clash" executable="com.haegin.homerunclash"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7199 --> <option name="lower_depth_range_rate" value="0.8" /> </application> <!-- Workarounds for SPECviewperf relying on invalid / non-conformant OpenGL behavior. Older SPECviewperf versions might also need this. --> <application name="SPECviewperf13" executable="viewperf"> <option name="vblank_mode" value="0" /> <option name="allow_glsl_extension_directive_midshader" value="true" /> <option name="allow_glsl_120_subset_in_110" value="true" /> <option name="force_gl_names_reuse" value="true" /> <!-- This makes it use GL_NVX_gpu_memory_info to query memory info instead of non-existent GLX_AMD_gpu_association. Yes, it checks the vendor string, not the extension list. --> <option name="force_gl_vendor" value="NVIDIA Corporation" /> <!-- creo-02 doesn't enable GL_EXT_shader_image_load_store in GLSL --> <option name="force_glsl_extensions_warn" value="true" /> <option name="mesa_glthread" value="true" /> <option name="mesa_no_error" value="true" /> <!-- Creating 10-bit pbuffers fails in the X server and returns BadAlloc. --> <option name="allow_rgb10_configs" value="false" /> <option name="allow_invalid_glx_destroy_window" value="true" /> </application> <!-- Workaround for unsynchronized VBO updates on Dead Cells android game. (Possibly also needed for desktop version?) --> <application name="Dead-Cells" executable="com.playdigious.deadcells.mobile"> <option name="ignore_map_unsynchronized" value="true" /> </application> <application name="Teardown" executable="teardown.exe"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 --> <option name="force_integer_tex_nearest" value="true" /> <option name="allow_glsl_extension_directive_midshader" value="true" /> </application> <application name="Golf With Your Friends" executable="Golf With Your Friends.x86_64"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/4547 --> <option name="glsl_correct_derivatives_after_discard" value="true" /> </application> <application name="Cossacks 3" executable="cossacks.exe"> <option name="allow_glsl_120_subset_in_110" value="true" /> </application> <application name="Kaiju-A-Gogo" executable="kaiju.exe"> <option name="allow_glsl_120_subset_in_110" value="true" /> </application> <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> </application> <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> <option name="do_dce_before_clip_cull_analysis" value="true" /> </application> <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> <option name="mesa_extension_override" value="-GL_MESA_pack_invert -GL_MESA_framebuffer_flip_y -GL_MESA_window_pos" /> </application> <!-- Workaround for Mari with executable name like Mari4.5v2, Mari4.7v4 --> <application name="Mari" executable_regexp="Mari[0-9]+[.][0-9]+v[0-9]+"> <!-- Need ARB_gpu_shader5 for non-const sampler array index support --> <option name="force_glsl_extensions_warn" value="true" /> </application> <application name="Discovery Studio 2020" executable="DiscoveryStudio2020-bin"> <option name="force_direct_glx_context" value="true" /> </application> <application name="Abaqus" executable="ABQcaeK"> <option name="keep_native_window_glx_drawable" value="true" /> <option name="allow_rgb10_configs" value="false" /> </application> <application name="Maya" executable="maya.bin"> <!-- Needed otherwise the app doesn't try to use OpenCL --> <option name="force_gl_vendor" value="ATI Technologies Inc." /> </application> <application name="SD Gundam G Generation Cross Rays" executable="togg.exe"> <option name="force_compat_shaders" value="true" /> </application> <application name="FINAL FANTASY XI" executable="pol.exe"> <!-- Causes invisible textures. --> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/7562 --> <option name="mesa_glthread" value="false"/> </application> <!-- The GL thread allowlist is below, workarounds are above. Keep it that way. --> <application name="Minecraft" executable="minecraft-launcher"> <option name="mesa_glthread" value="true"/> </application> <application name="Minecraft-FTB" executable="ftb-app"> <option name="mesa_glthread" value="true"/> </application> <application name="Alien Isolation" executable="AlienIsolation"> <option name="mesa_glthread" value="true"/> </application> <application name="BioShock Infinite" executable="bioshock.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Borderlands 2" executable="Borderlands2"> <option name="mesa_glthread" value="true"/> </application> <application name="Civilization 5" executable="Civ5XP"> <option name="mesa_glthread" value="true"/> </application> <application name="Civilization 6" executable="Civ6"> <option name="mesa_glthread" value="true"/> </application> <application name="Civilization 6" executable="Civ6Sub"> <option name="mesa_glthread" value="true"/> </application> <application name="Dreamfall Chapters" executable="Dreamfall Chapters"> <option name="mesa_glthread" value="true"/> </application> <application name="Hitman" executable="HitmanPro"> <option name="mesa_glthread" value="true"/> </application> <application name="Renowned Explorers: International Society" executable="abbeycore_steam"> <option name="mesa_glthread" value="true"/> </application> <application name="Saints Row 2" executable="saintsrow2.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Saints Row: The Third" executable="SaintsRow3.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Saints Row IV" executable="SaintsRow4.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Saints Row: Gat out of Hell" executable="SaintsRow4GooH.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Sid Meier's: Civilization Beyond Earth" executable="CivBE"> <option name="mesa_glthread" value="true"/> </application> <application name="The Witcher 2" executable="witcher2"> <option name="mesa_glthread" value="true"/> </application> <application name="American Truck Simulator" executable="amtrucks"> <option name="mesa_glthread" value="true"/> </application> <application name="Euro Truck Simulator 2" executable="eurotrucks2"> <option name="mesa_glthread" value="true"/> </application> <application name="Overlord" executable="overlord.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Overlord 2" executable="overlord2.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Oil Rush" executable="OilRush_x86"> <option name="mesa_glthread" value="true"/> </application> <application name="War Thunder" executable="aces"> <option name="mesa_glthread" value="true"/> </application> <application name="War Thunder (Wine)" executable="aces.exe"> <option name="mesa_glthread" value="true"/> </application> <application name="Outlast" executable="OLGame.x86_64"> <option name="mesa_glthread" value="true"/> </application> <application name="Spec Ops: The Line (32-bit)" executable="specops.i386"> <option name="mesa_glthread" value="true"/> </application> <application name="Spec Ops: The Line (64-bit)" executable="specops"> <option name="mesa_glthread" value="true"/> </application> <application name="Mount and Blade Warband" executable="mb_warband_linux"> <option name="mesa_glthread" value="true"/> </application> <application name="Valheim" executable="valheim.x86_64"> <option name="mesa_glthread" value="true"/> </application> <!-- around 18% performance increase in min and avg fps, max fps capped at 60fps. --> <application name="Medieval II: Total War" executable="Medieval2"> <option name="mesa_glthread" value="true"/> </application> <!-- min fps ~21 ===> ~27 while standing still in game, also higher gpu load. --> <application name="Carnivores: Dinosaur Hunter Reborn (wine)" executable="Carnivores-master.exe"> <option name="mesa_glthread" value="true"/> </application> <!-- around 30% increase in avg fps --> <application name="Far Cry 2 (wine)" executable="farcry2.exe"> <option name="mesa_glthread" value="true"/> </application> <application name="Talos Principle" executable="Talos"> <option name="mesa_glthread" value="true"/> </application> <application name="Talos Principle (Unrestricted)" executable="Talos_Unrestricted"> <option name="mesa_glthread" value="true"/> </application> <!-- roughly 30% increase in fps --> <application name="7 Days To Die (64-bit)" executable="7DaysToDie.x86_64"> <option name="mesa_glthread" value="true"/> </application> <application name="7 Days To Die (32-bit)" executable="7DaysToDie.x86"> <option name="mesa_glthread" value="true"/> </application> <!-- Emulator tends to have a high CPU load for GPU emulation, so separating the driver overhead yield an improvement. --> <application name="Dolphin Emulator" executable="dolphin-emu"> <option name="mesa_glthread" value="true"/> </application> <application name="Citra - Nintendo 3DS Emulator" executable="citra-qt"> <option name="mesa_glthread" value="true"/> </application> <application name="Yuzu - Nintendo Switch Emulator" executable="yuzu"> <option name="mesa_glthread" value="true"/> </application> <application name="RPCS3" executable="rpcs3"> <option name="mesa_glthread" value="true"/> </application> <application name="PCSX2" executable="PCSX2"> <option name="mesa_glthread" value="true"/> </application> <application name="From The Depths" executable="From_The_Depths.x86_64"> <option name="mesa_glthread" value="true"/> </application> <!-- #Minimum fps 136 ==> 144 --> <application name="Plague Inc Evolved (32-bit)" executable="PlagueIncEvolved.x86"> <option name="mesa_glthread" value="true" /> </application> <application name="Plague Inc Evolved (64-bit)" executable="PlagueIncEvolved.x86_64"> <option name="mesa_glthread" value="true" /> </application> <!-- 10% fps increase --> <application name="Beholder (32-bit)" executable="Beholder.x86"> <option name="mesa_glthread" value="true" /> </application> <application name="Beholder (64-bit)" executable="Beholder.x86_64"> <option name="mesa_glthread" value="true" /> </application> <!-- X3 games: 15% avg fps increase while flying in space --> <application name="X3 Reunion" executable="X3R_main"> <option name="mesa_glthread" value="true" /> </application> <application name="X3 Terran Conflict" executable="X3TR_main"> <option name="mesa_glthread" value="true" /> </application> <application name="X3 Albion Prelude" executable="X3AP_main"> <option name="mesa_glthread" value="true" /> </application> <!-- +30% avg fps --> <application name="Borderlands: The Pre-Sequel" executable="BorderlandsPreSequel"> <option name="mesa_glthread" value="true" /> </application> <application name="Transport Fever" executable="TransportFever"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Sanctuary" executable="Sanctuary"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Tropics" executable="Tropics"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Heaven (32-bit)" executable="heaven_x86"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Heaven (64-bit)" executable="heaven_x64"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Valley (32-bit)" executable="valley_x86"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Valley (64-bit)" executable="valley_x64"> <option name="mesa_glthread" value="true" /> </application> <application name="Unigine Superposition" executable="superposition"> <option name="mesa_glthread" value="true" /> </application> <application name="Basemark GPU" executable="BasemarkGPU_gl"> <option name="mesa_glthread" value="true" /> </application> <application name="Stellaris" executable="stellaris"> <option name="mesa_glthread" value="true"/> </application> <application name="Battletech" executable="BattleTech"> <option name="mesa_glthread" value="true"/> </application> <application name="DeusExMD" executable="DeusExMD"> <option name="mesa_glthread" value="false"/> </application> <application name="F1 2015" executable="F12015"> <option name="mesa_glthread" value="false"/> </application> <application name="KWin Wayland" executable="kwin_wayland"> <!-- This works around a cursor issue with glthread. See: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7351#note_1581105 --> <option name="mesa_glthread" value="false"/> </application> <!-- Adaptive sync denylist follows below: --> <application name="gnome-shell" executable="gnome-shell"> <option name="adaptive_sync" value="false" /> <option name="v3d_nonmsaa_texture_size_limit" value="true" /> <option name="mesa_glthread" value="false"/> </application> <application name="Desktop — Plasma" executable="plasmashell"> <option name="adaptive_sync" value="false" /> </application> <application name="budgie-wm" executable="budgie-wm"> <option name="adaptive_sync" value="false" /> </application> <application name="kwin_x11" executable="kwin_x11"> <option name="adaptive_sync" value="false" /> </application> <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter"> <option name="adaptive_sync" value="false" /> </application> <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter"> <option name="adaptive_sync" value="false" /> </application> <application name="kscreenlocker_greet" executable="kscreenlocker_greet"> <option name="adaptive_sync" value="false" /> </application> <application name="startplasma" executable="startplasma"> <option name="adaptive_sync" value="false" /> </application> <application name="sddm-greeter" executable="sddm-greeter"> <option name="adaptive_sync" value="false" /> </application> <application name="krunner" executable="krunner"> <option name="adaptive_sync" value="false" /> </application> <application name="spectacle" executable="spectacle"> <option name="adaptive_sync" value="false" /> </application> <application name="marco" executable="marco"> <option name="adaptive_sync" value="false" /> </application> <application name="compton" executable="compton"> <option name="adaptive_sync" value="false" /> </application> <application name="picom" executable="picom"> <option name="adaptive_sync" value="false" /> </application> <application name="xfwm4" executable="xfwm4"> <option name="adaptive_sync" value="false" /> </application> <application name="Enlightenment" executable="enlightenment"> <option name="adaptive_sync" value="false" /> </application> <application name="mutter" executable="mutter"> <option name="adaptive_sync" value="false" /> <option name="v3d_nonmsaa_texture_size_limit" value="true" /> </application> <application name="muffin" executable="muffin"> <option name="adaptive_sync" value="false" /> </application> <application name="cinnamon" executable="cinnamon"> <option name="adaptive_sync" value="false" /> </application> <application name="compiz" executable="compiz"> <option name="adaptive_sync" value="false" /> </application> <application name="Firefox" executable="firefox"> <option name="adaptive_sync" value="false" /> </application> <application name="Firefox ESR" executable="firefox-esr"> <option name="adaptive_sync" value="false" /> </application> <application name="Chromium" executable="chromium"> <option name="adaptive_sync" value="false" /> </application> <application name="Google Chrome" executable="chrome"> <option name="adaptive_sync" value="false" /> </application> <application name="Iceweasel" executable="iceweasel"> <option name="adaptive_sync" value="false" /> </application> <application name="Epiphany" executable="epiphany"> <option name="adaptive_sync" value="false" /> </application> <application name="Konqueror" executable="konqueror"> <option name="adaptive_sync" value="false" /> </application> <application name="Falkon" executable="falkon"> <option name="adaptive_sync" value="false" /> </application> <application name="Seamonkey" executable="seamonkey"> <option name="adaptive_sync" value="false" /> </application> <application name="Waterfox" executable="waterfox"> <option name="adaptive_sync" value="false" /> </application> <application name="VLC Media Player" executable="vlc"> <option name="adaptive_sync" value="false" /> </application> <application name="Totem" executable="totem"> <option name="adaptive_sync" value="false" /> </application> <application name="Dragon Player" executable="dragon"> <option name="adaptive_sync" value="false" /> </application> <application name="Xorg" executable="Xorg"> <option name="v3d_nonmsaa_texture_size_limit" value="true" /> </application> <application name="gfxbench" executable="testfw_app"> <option name="mesa_glthread" value="false" /> <option name="vk_x11_override_min_image_count" value="2" /> <option name="vk_wsi_force_bgra8_unorm_first" value="true" /> </application> <application name="Brink" executable="brink.exe"> <option name="glx_extension_override" value="-GLX_OML_swap_method" /> <option name="allow_higher_compat_version" value="true" /> </application> <application name="Enter The Gungeon (32 bits)" executable="EtG.x86"> <option name="glsl_correct_derivatives_after_discard" value="true" /> </application> <application name="Enter The Gungeon (64 bits)" executable="EtG.x86_64"> <option name="glsl_correct_derivatives_after_discard" value="true" /> </application> <!-- Workaround for STAR WARS: Knights of the Old Republic relying on non-specified OpenGL behavior (expecting texture names to be small enough to fit in the static array). --> <application name="SWKOTOR (wine)" executable="swkotor.exe"> <option name="force_gl_names_reuse" value="true"/> </application> <application name="Assault Android Cactus (32-bit)" executable="cactus_demo.x86"> <option name="vs_position_always_precise" value="true" /> </application> <application name="Assault Android Cactus (64-bit)" executable="cactus_demo.x86_64"> <option name="vs_position_always_precise" value="true" /> </application> <application name="Assault Android Cactus (32-bit)" executable="cactus.x86"> <option name="vs_position_always_precise" value="true" /> </application> <application name="Assault Android Cactus (64-bit)" executable="cactus.x86_64"> <option name="vs_position_always_precise" value="true" /> </application> <application name="Limbo" executable="limbo"> <!-- issue 7976 --> <option name="glsl_zero_init" value="true"/> </application> <application name="Genshin Impact" executable="com.miHoYo.GenshinImpact"> <option name="ignore_discard_framebuffer" value="true" /> </application> <!-- Vulkan workarounds: --> <!-- Works around the game not starting (does not deal with the implementation returning more images than the minimum specified by the application. --> <engine engine_name_match="UnrealEngine4.*" engine_versions="0:23"> <option name="vk_x11_strict_image_count" value="true" /> </engine> <!-- DOOM crashes at startup without this workaround if the adaptative sync mode is enabled. --> <application name="DOOM" executable="DOOMx64vk.exe"> <option name="vk_x11_strict_image_count" value="true" /> </application> <!-- DOOM Doom Eternal happily creates a swapchain with 2 images for IMMEDIATE. This fixes a 10% performance issue with RADV. --> <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> <option name="vk_x11_ensure_min_image_count" value="true" /> </application> <!-- Wolfenstein: Youngblood crashes at startup on xwayland without this workaround. --> <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> <option name="vk_x11_strict_image_count" value="true" /> </application> <!-- Wolfenstein II: The New Colossus crashes with vsync turned off on xwayland without this workaround. --> <application name="Wolfenstein II: The New Colossus" executable="NewColossus_x64vk.exe"> <option name="vk_x11_strict_image_count" value="true" /> </application> <!-- Metro:Exodus crashes at startup on xwayland without this workaround. --> <application name="Metro: Exodus" application_name_match="metroexodus"> <option name="vk_x11_strict_image_count" value="true" /> </application> <application name="Forsaken Remastered" executable="ForsakenEx"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/5437 --> <option name="vk_dont_care_as_load" value="true" /> </application> </device> <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.--> <device driver="vmwgfx"> <application name="gnome-shell" executable="gnome-shell"> <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" /> </application> <application name="cinnamon" executable="cinnamon"> <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control -GLX_SGI_video_sync" /> </application> <application name="Compiz" executable="Compiz"> <option name="glx_extension_override" value="-GLX_EXT_buffer_age -GLX_OML_sync_control" /> </application> </device> <device driver="radeonsi"> <application name="Alien Isolation" executable="AlienIsolation"> <option name="force_gl_vendor" value="X.Org" /> </application> <application name="American Truck Simulator" executable="amtrucks"> <option name="radeonsi_zerovram" value="true" /> </application> <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> <option name="radeonsi_zerovram" value="true" /> <option name="radeonsi_clamp_div_by_zero" value="true" /> </application> <application name="Exanima" executable="Exanima.exe"> <option name="radeonsi_zerovram" value="true"/> </application> <application name="Rocket League" executable="RocketLeague"> <option name="radeonsi_zerovram" value="true" /> </application> <application name="Gfx Bench" executable="gfxbench_gl"> <!-- Helps offscreen tests --> <option name="mesa_glthread" value="true"/> </application> <!-- YoYo game engine workarounds --> <application name="Monolith demo5" executable="runner" sha1="0c40d509a74e357f0280cb1bd882e9cd94b91bdf"> <option name="radeonsi_sync_compile" value="true" /> <option name="radeonsi_zerovram" value="true" /> </application> <!-- Note: The following fix works for both Memoranda and Riptale as they have the same sha --> <application name="Memoranda / Riptale" executable="runner" sha1="aa13dec6af63c88f308ebb487693896434a4db56"> <option name="radeonsi_sync_compile" value="true" /> </application> <application name="Nuclear Throne" executable="runner" sha1="84814e8db125e889f5d9d4195a0ca72a871ea1fd"> <option name="radeonsi_sync_compile" value="true" /> </application> <application name="Undertale" executable="runner" sha1="dfa302e7ec78641d0696dbbc1a06fc29f34ff1ff"> <option name="radeonsi_sync_compile" value="true" /> </application> <application name="Turmoil" executable="runner" sha1="cbbf757aaab289859f8dae191a7d63afc30643d9"> <option name="radeonsi_sync_compile" value="true" /> </application> <application name="Peace, Death!" executable="runner" sha1="5b909f3d21799773370adf084f649848f098234e"> <option name="radeonsi_sync_compile" value="true" /> </application> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2647 --> <application name="Kerbal Space Program" executable="KSP.x86_64"> <option name="radeonsi_no_infinite_interp" value="true" /> </application> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2686 --> <application name="7 Days to Die" executable="7DaysToDie.x86_64"> <option name="radeonsi_zerovram" value="true" /> </application> <application name="7 Days to Die" executable="7DaysToDie.x86"> <option name="radeonsi_zerovram" value="true" /> </application> <application name="SPECviewperf13" executable="viewperf"> <option name="glthread_nop_check_framebuffer_status" value="true" /> <option name="radeonsi_sync_compile" value="true" /> </application> <application name="Road Redemption" executable="RoadRedemption.x86_64"> <option name="radeonsi_clamp_div_by_zero" value="true" /> </application> <application name="Wasteland 2" executable="WL2"> <option name="radeonsi_clamp_div_by_zero" value="true" /> </application> <application name="Teardown" executable="teardown.exe"> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/3714 --> <option name="radeonsi_clamp_div_by_zero" value="true" /> <option name="radeonsi_no_infinite_interp" value="true" /> </application> <application name="SpaceEngine" executable="SpaceEngine.exe"> <option name="force_gl_vendor" value="X.Org" /> </application> <application name="BETA CAE Systems - GL detect tool" executable="detect_opengl_tool"> <option name="force_gl_vendor" value="ATI Technologies Inc." /> </application> <application name="BETA CAE Systems - ANSA" executable="ansa_linux_x86_64"> <option name="force_gl_vendor" value="ATI Technologies Inc." /> </application> <application name="BETA CAE Systems - META" executable="meta_post_x86_64"> <option name="force_gl_vendor" value="ATI Technologies Inc." /> <option name="radeonsi_force_use_fma32" value="true" /> </application> <application name="Black Geyser: Couriers of Darkness" executable="BlackGeyser.x86_64"> <option name="radeonsi_zerovram" value="true" /> </application> </device> <device driver="zink"> <application name="Hyperdimension Neptunia Re;Birth1" executable="NeptuniaReBirth1.exe"> <!-- glthread uploads need too much vram and exceed 32bit VA limit --> <!-- https://gitlab.freedesktop.org/mesa/mesa/-/issues/8333 --> <option name="mesa_glthread" value="false"/> </application> <!-- GL_POINT_SMOOTH is used in Quake II to render particles --> <application name="Quake II" executable="quake2-engine"> <option name="zink_emulate_point_smooth" value="true"/> </application> <application name="Quake II (yamagi)" executable="yamagi-quake2"> <option name="zink_emulate_point_smooth" value="true"/> </application> <application name="Quake II (wine)" executable="quake2.exe"> <option name="zink_emulate_point_smooth" value="true"/> </application> </device> <device driver="iris"> <application name="Middle Earth: Shadow of Mordor" executable="ShadowOfMordor"> <option name="vs_position_always_invariant" value="true" /> </application> <application name="glmark2" executable="glmark2"> <option name="limit_trig_input_range" value="true" /> </application> <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> <option name="force_gl_vendor" value="X.Org" /> </application> <application name="Insurgency" executable="insurgency_linux"> <option name="force_gl_vendor" value="X.Org" /> </application> </device> <device driver="crocus"> <application name="glmark2" executable="glmark2"> <option name="limit_trig_input_range" value="true" /> </application> <application name="Counter-Strike: Global Offensive" executable="csgo_linux64"> <option name="force_gl_vendor" value="X.Org" /> </application> <application name="Insurgency" executable="insurgency_linux"> <option name="force_gl_vendor" value="X.Org" /> </application> </device> <device driver="anv"> <application name="Aperture Desk Job" executable="deskjob"> <option name="anv_assume_full_subgroups" value="true" /> </application> <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> <option name="anv_assume_full_subgroups" value="true" /> <option name="fp64_workaround_enabled" value="true" /> </application> <application name="Wolfenstein: Youngblood(x64vk)" executable="Youngblood_x64vk.exe"> <option name="limit_trig_input_range" value="true" /> </application> <application name="Batman™: Arkham Knight" executable="BatmanAK.exe"> <option name="anv_sample_mask_out_opengl_behaviour" value="true"/> </application> <application name="Rise of the Tomb Raider" executable="RiseOfTheTombRaider"> <option name="limit_trig_input_range" value="true" /> </application> <application name="Rise of the Tomb Raider" executable="ROTTR.exe"> <option name="limit_trig_input_range" value="true" /> </application> <application name="NieR Replicant ver.1.22474487139" executable="NieR Replicant ver.1.22474487139.exe"> <option name="limit_trig_input_range" value="true" /> </application> <application name="NieR:Automata" executable="NieRAutomata.exe"> <option name="limit_trig_input_range" value="true" /> </application> <!-- Disable 16-bit feature on zink and angle so that GLES mediump doesn't lower to our inefficent 16-bit shader support. No need to do so for ANGLE, since it uses RelaxedPrecision decorations, which the intel compiler ignores. --> <engine engine_name_match="mesa zink"> <option name="no_16bit" value="true" /> </engine> </device> <device driver="dzn"> <application name="DOOMEternal" executable="DOOMEternalx64vk.exe"> <option name="dzn_enable_8bit_loads_stores" value="true" /> <option name="dzn_enable_subgroup_ops_in_vtx_pipeline" value="true" /> <option name="dzn_claim_wide_lines" value="true" /> </application> <application name="No Man's Sky" executable="NMS.exe"> <option name="dzn_claim_wide_lines" value="true" /> </application> </device> <device driver="r600"> <application name="Tomb Raider 2013" executable="TombRaider"> <option name="mesa_extension_override" value="-GL_ARB_shader_image_load_store" /> </application> </device> <device driver="virtio_gpu"> <application name="Counter-Strike Global Offensive" executable="csgo_linux64"> <option name="format_l8_srgb_enable_readback" value="true" /> </application> </device> <!-- The android game hall of shame: Workarounds for android games that are not aware of open source drivers. These can be removed as games have their allowlists updated. --> <device driver="msm" device="FD618"> <application name="Call of Duty Mobile" executable="com.activision.callofduty.shooter"> <option name="force_gl_renderer" value="Adreno (TM) 618"/> <option name="force_gl_vendor" value="Qualcomm"/> </application> <application name="Asphalt 8" executable="com.gameloft.android.ANMP.GloftA8HM"> <!-- Note: asphalt8's allowlist seems to not have been updated recently enough to be aware of "Adreno (TM) 618", but we seem to otherwise have enough headroom to opt into the higher settings. (Conversely the allowlist seems to allow G72-MP3 into the higher tier, despite not being able to maintain fps.. possibly it is not properly differentiating between various core MPn configurations. So I'm going to use that to justify claiming to be a618's *slightly* bigger brother) --> <option name="force_gl_renderer" value="Adreno (TM) 630"/> <option name="force_gl_vendor" value="Qualcomm"/> </application> <application name="Asphalt 9" executable="com.gameloft.android.ANMP.GloftA9HM"> <option name="force_gl_renderer" value="Adreno (TM) 618"/> <option name="force_gl_vendor" value="Qualcomm"/> </application> <application name="PUBG Mobile" executable="com.tencent.ig"> <!-- Note: Maxed out a630 settings still limits max framerate, yet GPU is below 45% utilization (mostly closer to 40%). If I claim to be a640, that unlocks "Extreme" framerate (and "Ultra HD" graphics). With "Extreme" + "HDR" we are comfortably at 60fps with plenty of headroom. "Extreme" + "Ultra HD" (max settings for a640) we are starting to approach the limit. I'll stick with a630 to be conservative, but argueably we could go higher. (This flagship gaming phone thing is a scam!) --> <option name="force_gl_renderer" value="Adreno (TM) 630"/> <option name="force_gl_vendor" value="Qualcomm"/> </application> </device> </driconf>