+<?xml version="1.0" standalone="yes"?>
<!--
============================================
-->
+<!DOCTYPE driconf [
+ <!ELEMENT driconf (device+)>
+ <!ELEMENT device (application+)>
+ <!ATTLIST device driver CDATA #IMPLIED>
+ <!ELEMENT application (option+)>
+ <!ATTLIST application name CDATA #REQUIRED
+ executable CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option name CDATA #REQUIRED
+ value CDATA #REQUIRED>
+]>
+
<driconf>
<!-- Please always enable app-specific workarounds for all drivers and
screens. -->
<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="Dying Light" executable="DyingLightGame">
<option name="allow_glsl_builtin_variable_redeclaration" value="true" />
</application>
<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>
+
<!-- The GL thread whitelist is below, workarounds are above.
Keep it that way. -->
<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 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="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="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="mpv" executable="mpv">
<option name="adaptive_sync" value="false" />
</application>
+ <application name="Xorg" executable="Xorg">
+ <option name="v3d_nonmsaa_texture_size_limit" value="true" />
+ </application>
+
+ <!-- Gallium Nine workarounds: -->
+ <application name="Rayman Legends" executable="Rayman Legends.exe">
+ <option name="dynamic_texture_workaround" value="true" />
+ </application>
</device>
<!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
<device driver="vmwgfx">
<application name="ARK: Survival Evolved (and unintentionally the UE4 demo template)" executable="ShooterGame">
<option name="radeonsi_clear_db_cache_before_clear" value="true" />
</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" />
+ </application>
<application name="No Mans Sky" executable="NMS.exe">
<option name="radeonsi_zerovram" value="true" />
</application>
+ <application name="Civilization 6" executable="Civ6">
+ <option name="radeonsi_enable_nir" value="true"/>
+ </application>
+ <application name="Civilization 6" executable="Civ6Sub">
+ <option name="radeonsi_enable_nir" value="true"/>
+ </application>
+ <application name="DiRT Rally" executable="DirtRally">
+ <option name="radeonsi_prim_restart_tri_strips_only" value="true"/>
+ </application>
+ </device>
+ <device driver="virtio_gpu">
+ <!-- Some Valve games do a final blit to a BRGA_sRGB surface. On a GLES
+ host this format is not supported and the blit will go to BGRA_UNORM
+ resulting in an unintended linearization and the final output being
+ too dark. -->
+ <application name="Half Life 2" executable="hl2_linux">
+ <option name="gles_emulate_bgra" value="true" />
+ </application>
+ <application name="Portal" executable="hl2_linux">
+ <option name="gles_emulate_bgra" value="true" />
+ </application>
+ <application name="Left 4 Dead 2" executable="hl2_linux">
+ <option name="gles_emulate_bgra" value="true" />
+ </application>
+ <application name="Dota 2" executable="dota2">
+ <option name="gles_emulate_bgra" value="true" />
+ </application>
+ <!-- The Raven Remastered expects a BGRA_sRGB surface and a BGRA_sRGB
+ surface that is capable to do texture views, since on GLES the BGRA
+ format provided by EXT_texture_BGRA8888 has no sRGB counterpart and
+ is not in the list of suppoerted TextureView formats we need to
+ emulate this -->
+ <application name="The Raven Remastered" executable="Raven">
+ <option name="gles_emulate_bgra" value="true" />
+ </application>
</device>
</driconf>