1
FOSS Virtual & Augmented Reality
Monado & OpenXR
Jakob Bornecrantz jakob@collabora.com 01/02/2020
FOSS Virtual & Augmented Reality Monado & OpenXR Jakob - - PowerPoint PPT Presentation
FOSS Virtual & Augmented Reality Monado & OpenXR Jakob Bornecrantz jakob@collabora.com 01/02/2020 1 Jakob Bornecrantz FDO GH @Wallbraker jakob@collabora.com Open First 2 What is AR & VR OpenXR Monado Status
1
Jakob Bornecrantz jakob@collabora.com 01/02/2020
2
Open First
3
4
5
6
Open First
7
Open First
8
■ (popularized by Adam Savage)
9
Open First
10
Open First
11
12
13
14
15
16
17
18
19
20
21
xrt_compositor xrt_device OpenXR
xrt_prober
22
GL Wrapper
xrt_gl_compositor xrt_device OpenXR
xrt_prober
OpenXR Loader
Compositor
xrt_fd_compositor
23
OpenXR State Tracker Hardware Compositor Drivers
xrt_compositor xrt_device Vulkan, X11, Wayland and KMS
Platform
xrt_prober
Linux Hardware
Linux APIs Misc APIs
OpenXR
24
OpenXR State Tracker IPC Layer Hardware Compositor Drivers
xrt_fd_compositor xrt_device xrt_fd_compositor xrt_device Vulkan and KMS
Platform
xrt_prober xrt_prober
Linux Hardware
Linux APIs Misc APIs Process boundary
25
26
━ Optional structs ━ HMD info
━ Input Sync ━ Output Set ━ View/Position Retrieval
━ Input/Outputs ━ Tracking Origin ━ Screen position (HMD) ━ Distortion (HMD)
27
━ xrt_[gl|vk|fd]_compositor ━ GL & VK are wrappers
■ Client side only
━ FD is “real” compositor
■ Written in Vulkan ■ Only “talks” in FDs
━ xrt_[gl|vk|fd]_swapchain ━ acquire, wait & release
━ More explicit then OpenXR ━ Create Swapchain ━ Prepare, Begin & End ━ Wait, Begin, Discard & End ━ Poll Events (Refactor?)
━ Supported Formats
28
━ Reads configuration ━ Decides what devices open
━ Used by OpenXR ST
━ Abstract native interfaces ━ Used by device drivers
━ xrt_prober ━ xrt_platform
━ Look for devices ━ Select (opens devices) ━ List & Open Video devices ━ Misc USB
━ None
29
30
31
32
■
9 drivers
■
Vive: 1.5K
■
HDK: 0.5K
33
34
35
36
37
38
39
40
41
42
43
44
Open First
45