[Mesa-dev] [PATCH v2 2/4] drirc: Initial blacklist for adaptive sync

Kenneth Graunke kenneth at whitecape.org
Sat Sep 29 09:20:44 UTC 2018


On Monday, September 24, 2018 8:18:37 PM CEST Nicholas Kazlauskas wrote:
> Applications that don't present at a predictable rate (ie. not games)
> shouldn't have adaptive sync enabled. This list covers some of the
> common desktop compositors, web browsers and video players.
> 
> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>
> ---
>  src/util/00-mesa-defaults.conf | 79 ++++++++++++++++++++++++++++++++++
>  1 file changed, 79 insertions(+)
> 
> diff --git a/src/util/00-mesa-defaults.conf b/src/util/00-mesa-defaults.conf
> index ca69dd164f..14dd3077f8 100644
> --- a/src/util/00-mesa-defaults.conf
> +++ b/src/util/00-mesa-defaults.conf
> @@ -21,6 +21,8 @@ Application bugs worked around in this file:
>    built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
>    to compile.
>  
> +* Applications that are not suitable for adapative sync are blacklisted here.
> +
>  TODO: document the other workarounds.
>  
>  -->
> @@ -310,6 +312,83 @@ TODO: document the other workarounds.
>          <application name="Far Cry 2 (wine)" executable="farcry2.exe">
>              <option name="mesa_glthread" value="true"/>
>          </application>
> +
> +        <!-- Adaptive sync blacklist follows below: -->
> +        <application name="gnome-shell" executable="gnome-shell">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Desktop — Plasma" executable="plasmashell">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="kwin_x11" executable="kwin_x11">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="ksmserver-logout-greeter" executable="ksmserver-logout-greeter">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="ksmserver-switchuser-greeter" executable="ksmserver-switchuser-greeter">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="kscreenlocker_greet" executable="kscreenlocker_greet">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="startplasma" executable="startplasma">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="krunner" executable="krunner">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="marco" executable="marco">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="compton" executable="compton">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="xfwm4" executable="xfwm4">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="mutter" executable="mutter">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="muffin" executable="muffin">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="compiz" executable="compiz">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Firefox" executable="firefox">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Chromium" executable="chromium">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Google Chrome" executable="chrome">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Iceweasel" executable="iceweasel">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Epiphany" executable="epiphany">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Konqueror" executable="konqueror">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Seamonkey" executable="seamonkey">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="VLC Media Player" executable="vlc">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Totem" executable="totem">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="Dragon Player" executable="dragon">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
> +        <application name="mpv" executable="mpv">
> +            <option name="adaptive_sync_enable" value="false" />
> +        </application>
>      </device>
>      <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
>      <device driver="vmwgfx">
> 

It doesn't seem like we're going to be able to enumerate every
compositor, every video player, and browser variant out there.

Is there a GLX/EGL API to disable VRR that compositors should be using?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180929/5034f438/attachment.sig>


More information about the mesa-dev mailing list