OpenXR without rendering loop

Yeah, the base spec only has support for exclusive foreground applications.

In my opinion, this is a huge limitation with OpenXR currently. There are many different application types that don’t fit this model.

  • Headless applications that don’t need to render, but can always receive input.
  • 2D overlay applications with decoupled on-demand rendering that may conditionally take over input.
  • 3D overlay applications that sync rendering with the main scene application, and could either take over input or share it with main application.

There are extensions for both headless and overlay applications, but currently only Monado seems to support them. It would be nice to have a an interface to query support for and specify different application types, ideally in a future version of the core spec.