Bad (perceived) frame pacing on AMDGPU when vsync is turned off inside games
Page: «2/5»
  Go to:
Shmerl Oct 31, 2022
Quoting: ridgeIs Mesa's vulkan overlay any different than MangoHud's graphs? I'll put it on my todo, cheers.

Haven't used Mango HUD, but I think it was forked from Mesa Vulkan overlay and diverged into its own direction.

But similar idea I suppose. If Mango HUD can log the values you need - you can use that all the same for analysis.

Last edited by Shmerl on 31 October 2022 at 5:56 am UTC
ridge Oct 31, 2022
Quoting: ShmerlBut similar idea I suppose. If Mango HUD can log the values you need - you can use that all the same for analysis.

Yeah I've been using MangoHud's frame time graph and logging functionality, which check out, no spikes upwards.

I usually limit to 66FPS by the way, but that's just a habit I got from using Nvidia's "fast sync" on Windows years ago, where any frames delivered before the next refresh are discarded (bloody fantastic solution that was, wish we had that).

Unlimited framerates exhibit the same issue. I've updated the main post thanks to your good questions.
Will try 59fps as my limit, thanks! :)

Last edited by ridge on 31 October 2022 at 6:01 am UTC
Shmerl Oct 31, 2022
You can also play around with Vulkan present mode I suppose. It's something you can override and it's more comprehensive logic than vsync idea.

Search about MESA_VK_WSI_PRESENT_MODE usage here: https://docs.mesa3d.org/envvars.html

Details on logic here: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPresentModeKHR.html

Last edited by Shmerl on 31 October 2022 at 6:04 am UTC
Shmerl Oct 31, 2022
Oh, wait. I just realized - you have no adaptive sync! So limiting to 59 won't be good for you. Try limiting to 60 exactly then. Anything else will be causing tearing for sure.

Or instead of limiting try using one of the alternatives to vsync from those present modes. I think one of them is similar to what AMD call "enhanced sync".

Last edited by Shmerl on 31 October 2022 at 6:13 am UTC
Shmerl Oct 31, 2022
There was some discussion here: https://www.gamingonlinux.com/forum/topic/5185/
ridge Oct 31, 2022
Quoting: ShmerlOh, wait. I just realized - you have no adaptive sync!

Oh, right! Yeah didn't think about that myself either but it makes sense now that you bring it up haha. Not worried about tearing BTW.

Quoting: ShmerlOr instead of limiting try using one of the alternatives to vsync from those present modes. I think one of them is similar to what AMD call "enhanced sync".

Yeah, saw your link; had no idea about these envvars! Gonna experiment with those when I have time 😁 Really appreciate it.
ridge May 25
Hi! Long time no see =)

Today I updated to Plasma 6.1 Beta and Mesa 24.1, and sure enough, frame pacing is OK now with vsync off!
Turns out implicit synchronisation was the problem all along, explicit sync was the solution. Very happy about this development.

Suppose that solves the thread at long last. Thanks to everyone who posted educated inputs.
Shmerl May 26
About better frame pacing, amdgpu buddy allocator improvements were also merged and should come out in Linux 6.10. I've been using these patches over 6.8 and 6.9 so far.
zastrix May 29
Hey hey! I've been banging my head around this for the last few days.

How did your stutter look like? Was it always stuttery or does it happen in an (not exactly set) interval? Like once every 10-30 seconds?

Currently running fedora kinoite 40, but I did manage to overlay the 6.10 kernel and run mesa-git inside steam flatpak (although I'm not sure if it works correctly). KDE is 6.0.5 which should have the explicit sync implementation.

If your stutter was always happening I'm planning to get an SSD to just temporarily install ArchLinux (which as you can guess is not something I'd want to do for a small test :D).

At least for me the framegraphs were smooth on both MangoHud and DXVK_HUD.
Shmerl May 30
6.10 has the buddy allocator fix, so that helps.
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.