Low latency: max_swapchain = 1 and NO VSYNC. Does it make any sense?

Hi there

On my recent experiments I noticed that this option combination seems to work well with both GL and VULKAN backends, both on KMS/DRM:

-No VSYNC

-Max Swapchains = 1 (Single buffer mode? Is that possible at all with GLES on KMS/DRM or X-less VULKAN? Note X-less Vulkan runs on KMS/DRM internally too, since that’s what MESA uses)

-Audio driver set to “ALSA” (“ALSATHREAD” causes video hiccups and audio dropouts)

Thing is: VSYNC is OFF, but I don’t see any tearing or hiccups with this combination. Does it make sense or is single-buffer mode not a thing and it’s supposed to fall back into 2 buffers, etc? Is this combination (NO VSYNC, 1 BUFFER, ALSA, on KMSDRM) already known for low-latency enviroments?

Thanks!

I think vsync doesn’t really matter for KMS because it’s always synced through the page-flipping thing. Not 100% on that, though.

What about max_swapchain = 1? Do you know if it’s supposed to work?

AFAIK, it’s just a suggestion to the driver, so the driver may ignore it or say “sorry, I’m not going any lower than 2”.