// refBegin vkAcquireXlibDisplayEXT Acquire access to a VkDisplayKHR using Xlib

To acquire permission to directly access a display in Vulkan from an X11
server, call:

include::../../api/protos/vkAcquireXlibDisplayEXT.txt[]

  * pname:physicalDevice The physical device the display is on.
  * pname:dpy A connection to the X11 server that currently owns
    pname:display.
  * pname:display The display the caller wishes to control in Vulkan.

All permissions necessary to control the display are granted to the Vulkan
instance associated with pname:physicalDevice until the display is released
or the X11 connection specified by pname:dpy is terminated.
Permission to access the display may: be temporarily revoked during periods
when the X11 server from which control was acquired itself looses access to
pname:display.
During such periods, operations which require access to the display must:
fail with an approriate error code.
If the X11 server associated with pname:dpy does not own pname:display, or
if permission to access it has already been acquired by another entity, the
call must: return the error code VK_ERROR_INITIALIZATION_FAILED.

[NOTE]
.Note
====
One example of when an X11 server loses access to a display is when it loses
ownership of its virtual terminal.
====

include::../../validity/protos/vkAcquireXlibDisplayEXT.txt[]

// refBegin vkGetRandROutputDisplayEXT Query the VkDisplayKHR corresponding to an X11 RandR Output

When acquiring displays from an X11 server, an application may also wish to
enumerate and identify them using a native handle rather than a
sname:VkDisplayKHR handle.
To determine the sname:VkDisplayKHR handle corresponding to an X11 RandR
Output, call:

include::../../api/protos/vkGetRandROutputDisplayEXT.txt[]

  * pname:physicalDevice The physical device to query the display handle on.
  * pname:dpy A connection to the X11 server from which pname:rrOutput was
    queried.
  * pname:rrOutput An X11 RandR output ID.
  * pname:pDisplay The corresponding VkDisplayKHR handle will be returned
    here.

If there is no VkDisplayKHR corresponding to pname:rrOutput on
pname:physicalDevice, ename:VK_NULL_HANDLE must: be returned in
pname:pDisplay.

include::../../validity/protos/vkGetRandROutputDisplayEXT.txt[]
