Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
Is there a way to use AMD's "enhanced sync" on Linux?
Page: 1/2»
  Go to:
Shmerl Feb 14, 2022
AMD supposedly has some technology called "enhanced sync" which is a form of improved vsync which tries to minimize latency (input lag).

It can be useful even for cases when you use adaptive sync, for example when game's framerate is higher than monitor's max refresh rate.

See: https://www.amd.com/en/technologies/radeon-software-enhancedsync



I never really looked into it. Does it work on Linux or it was never implemented?

Last edited by Shmerl on 14 February 2022 at 5:07 am UTC
Ehvis Feb 14, 2022
Could be similar to what you can do with libstrangle.
Shmerl Feb 14, 2022
libstrangle just limits the framerate. However this enhanced sync can benefit you if your framerate is higher than max monitor refresh rate. So it's not the same.

From reading about it, it seems it can be similar to Vulkan mailbox presentation mode. But I'd be interested in some expert opinion on it.

Related video: https://www.youtube.com/watch?v=uzp8z1i5-Hc



Last edited by Shmerl on 14 February 2022 at 5:48 pm UTC
Ehvis Feb 14, 2022
Quoting: Shmerllibstrangle just limits the framerate.

It also has mailbox mode (which sounds a lot like that image) and an adaptive mode.
Shmerl Feb 14, 2022
Quoting: EhvisIt also has mailbox mode (which sounds a lot like that image) and an adaptive mode.

Ah, yes it has a few options. But I don't think you need libstrangle for mailbox at least? You can simply do something like:

MESA_VK_WSI_PRESENT_MODE=mailbox

What is adaptive mode? Isn't it a regular adaptive sync? I.e. why do you need a layer for that?

Last edited by Shmerl on 14 February 2022 at 6:11 pm UTC
Shmerl Feb 14, 2022
What I'm interested is third picture in AMD's diagram. I.e. adaptive sync in range, enhanced sync / mailbox above the range.

Last edited by Shmerl on 14 February 2022 at 6:09 pm UTC
Ehvis Feb 14, 2022
If mesa has it, then it's even easier. I'm pretty sure that mailbox is the same as your picture although I am not clear on what they do when the fps drops below the refresh rate.

No idea what adaptive mode does exactly. Nothing the libstrange readme doesn't explain things in detail.

Sounds like the 3d pic is mailbox + freesync. Does freesync work independent of the vsync setting?

Last edited by Ehvis on 14 February 2022 at 6:18 pm UTC
Shmerl Feb 14, 2022
From what I remember, you need to keep vsync setting in older games off for adaptive sync to kick in. I suppose more modern games should be aware, that syncing logic today is more complicated than simple vsync on / vsync off, so I don't really know what they do when you toggle that setting in the game. Some games may be even don't have it and provide multiple options that match Vulkan semantics better:

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPresentModeKHR.html

Besides mailbox (enhanced sync?) and fifo (classic vsync?) there is also something called "fifo relaxed".

Last edited by Shmerl on 14 February 2022 at 6:36 pm UTC
Shmerl Feb 14, 2022
Some details on controlling Mesa from the env vars for it:

https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/envvars.rst

Quoteenvvar: MESA_VK_WSI_PRESENT_MODE
overrides the WSI present mode clients specify in VkSwapchainCreateInfoKHR::presentMode.
Values can be fifo, relaxed, mailbox or immediate.

Last edited by Shmerl on 14 February 2022 at 6:42 pm UTC
Shmerl Feb 14, 2022
About what happens with adaptive sync if you set mailbox - I haven't tested it. I'll look into that.
holisticboy Feb 15, 2022
I don't know how to replicate that functionality in Linux, but I can tell you that it's practically a no-show on Windows too. Sure it exists, but basically for years now there has been persistent bugs with it (usually render to black screen if Enhanced Sync is on) to the point where it's at the bottom of the patch notes and joked about constantly.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.

Buy Games
Buy games with our affiliate / partner links: