Mesa Vulkan KHR_present_wait Support Extended To Wayland

Written by Michael Larabel in Mesa on 3 May 2023 at 12:48 PM EDT. 2 Comments
VK_KHR_present_wait is an extension originally started by Keith Packard working for Valve on improving the Linux graphics stack. The VK_KHR_present_wait extension allows for waiting for present operations to complete and can be used for monitoring/pacing the application by managing the number of images not yet presented. This Vulkan extension had been supported by Mesa Vulkan drivers under X.Org and now is being enabled for Wayland environments too.

Implementing VK_KHR_present_wait for Mesa's Wayland windowing system integration (WSI) code was started by Daniel Stone and now carried over the finish line by Valve's Hans-Kristian Arntzen. This complements the initial support added last year. The extension itself was added to the Vulkan spec in 2021.

The merge adding the Wayland Vulkan WSI support for VK_KHR_present_wait goes on to explain:
"Use the wp_presentation extension to detect when a given presentation has taken effect.

Since this protocol is not guaranteed to be supported, it must be enabled through driconf (vk_khr_present_wait=true) for the time being, since otherwise KHR_present_wait is not exposed at all when Wayland surface is enabled.

If present_wait is still used, even if protocol is not supported, it will fallback to just waiting on WSI timeline which is best effort with Wayland at that point."

This addition will be found in the Mesa 23.2 release due out next quarter.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week