Vulkan Display Extensions To Be Used By SteamVR Merged Into Mesa RADV/ANV
Just over a year ago famed X developer Keith Packard started contract work for Valve to improve the plumbing around the Linux/X.Org support for virtual reality HMDs for better performance and better integration. Within the Linux kernel and the X.Org Server he's worked and landed the DRM leasing support of outputs to let a VR compositor (Steam VR) have direct access to the output, "non-desktop" quirk handling so VR HMDs don't become mapped as part of a standard Linux desktop, and related work.
As part of this, Keith Packard has been working on the VR extensions for allowing Vulkan-using compositors to have direct display handling in a standardized manner. Keith has been wiring it into Mesa for both the Intel ANV and Mesa RADV drivers. Those initial Mesa bits have now been merged into Mesa 18.2 as of this evening.
VK_KHR_display is one of those extensions and is for offering a standardized API to enumerate displays and modes for a given device, including surface and plane properties, modes, and other capabilities. That extension was drafted by folks from NVIDIA, AMD, and others.
VK_EXT_direct_mode_display is another one of the now-supported extensions and lets a program take exclusive control of displays associated with a native windowing system. This extension was developed by NVIDIA and Valve engineers for VR purposes.
Related is also the VK_EXT_acquire_xlib_display extension for Vulkan for taking exclusive control of a display that is associated with an X11 screen. To the X.Org Server side, when utilizing EXT_acquire_xlib_display it would be like if the display was unplugged but in reality is being controlled from the VR compositor.
These extensions for RADV and ANV are now in place for the Mesa 18.2 release due out in August. It's looking like in the coming months with Ubuntu 18.10, Fedora 29, etc, the Steam VR support will be in much better shape with X.Org Server 1.20, the latest DRM bits, and Mesa 18.2+.