To acquire permission to directly access a display in Vulkan from an X11 server, call:
// Provided by VK_EXT_acquire_xlib_display VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
physicalDeviceThe physical device the display is on.
dpyA connection to the X11 server that currently owns
displayThe display the caller wishes to control in Vulkan.
All permissions necessary to control the display are granted to the Vulkan
instance associated with
physicalDevice until the display is released
or the X11 connection specified by
dpy is terminated.
Permission to access the display may be temporarily revoked during periods
when the X11 server from which control was acquired itself loses access to
During such periods, operations which require access to the display must
fail with an appropriate error code.
If the X11 server associated with
dpy does not own
if permission to access it has already been acquired by another entity, the
call must return the error code
One example of when an X11 server loses access to a display is when it loses ownership of its virtual terminal.
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.