flowchart LR
oculusRuntime[/"Oculus Runtime"/]
wmrRuntime[/"WMR Runtime"/]
steamvr[/"SteamVR"/]
pimaxRuntime[/"Pimax Runtime"/]
monadoRuntime[/"Monado"/]
subgraph apis["APIs"]
openxrApi(("OpenXR"))
openvrApi(("OpenVR"))
oculusApi(("Oculus"))
wmrApi(("WMR"))
revive["Revive\n<i>oculus to OpenVR & OpenXR</i>"]
openComposite["Open Composite\n<i>OpenVR to OpenXR</i>"]
end
subgraph streamingApps["Standalone streaming apps"]
wivrnRuntime[/"WiVRn"/]
alvrStreamer{{"ALVR"}}
steamLink{{"Steam Link"}}
virtualDesktop{{"Virtual Desktop"}}
airLink{{"Oculus Link & Air Link"}}
vridge{{"VRidge (RiftCat)"}}
trinusvr{{"TrinusVR"}}
end
subgraph games["Games"]
oculusGame[Oculus Game]
oxrGame["OpenXR Game"]
wmrGame["WMR Game"]
openvrGame[OpenVR Game]
end
subgraph wiredHeadsets["Wired Headsets"]
riftHeadset[Oculus Rift]
riftSHeadset[Oculus Rift S]
wmrHeadset["WMR Headset"]
subgraph varjoHeadset["Varjo"]
varjoVR1["Varjo VR1"]
varjoVR2["Varjo VR2"]
varjoVR3["Varjo VR3"]
varjoAero["Varjo Aero"]
varjoVR1 ~~~ varjoVR2
varjoVR3 ~~~ varjoAero
end
psvr["PSVR"]
psvr2["PSVR2"]
subgraph lighthouseHeadsets["Lighthouse Headsets"]
valveIndexHeadset["Valve Index"]
htcViveHeadset["HTC Vive"]
htcViveProHeadset["HTC Vive Pro"]
bigscreenBeyondHeadset["Bigscreen Beyond"]
pimaxHeadset["Pimax Headset"]
end
end
subgraph standaloneHeadsets["Standalone Headsets"]
subgraph oculusStandaloneHeadsets[Oculus/Meta Quest VR Headsets]
quest1["Quest"]
quest2["Quest 2"]
quest3["Quest 3"]
questPro["Quest Pro"]
quest1 ~~~ quest2
quest3 ~~~ questPro
end
lynxR1["Lynx R1"]
htcXrEliteHeadset["HTC XR Elite"]
htcViveFocusHeadset["HTC Vive Focus"]
appleVisionProHeadset["Apple Vision Pro"]
subgraph picoHeadset["Pico Headsets"]
picoNeo3["Pico Neo 3"]
pico4["Pico 4"]
end
androidPhoneCardboard["Google Cardboard\n(Android Phone)"]
end
wmrGame --> wmrApi
oculusGame --> oculusApi
revive --> openvrApi
openvrGame --> openvrApi
oculusApi --> oculusRuntime
oculusApi --> revive
oculusRuntime --> airLink --> oculusStandaloneHeadsets
oculusRuntime --> riftHeadset
oculusRuntime --> riftSHeadset
wmrApi --> wmrRuntime
revive --> openxrApi
openComposite --> openxrApi
oxrGame --> openxrApi
openxrApi --> virtualDesktop
openxrApi --> oculusRuntime
openxrApi --> wivrnRuntime
openxrApi --> wmrRuntime
openxrApi --> steamvr
openxrApi --> monadoRuntime
openxrApi --> pimaxRuntime
openvrApi --> openComposite
openvrApi --> steamvr
steamvr --> steamLink
steamvr --> virtualDesktop
steamvr --> oculusRuntime
steamvr --> alvrStreamer
steamvr --> wmrRuntime
steamvr --> monadoRuntime
steamvr --> varjoHeadset
steamvr --> pimaxRuntime
steamvr -- "iVRy" --> psvr
steamvr -- "official adapter & SteamVR driver" --> psvr2
steamvr --> vridge
steamvr --> trinusvr
steamLink --> oculusStandaloneHeadsets
steamLink --> picoHeadset
virtualDesktop --> oculusStandaloneHeadsets
virtualDesktop --> picoHeadset
wmrRuntime --> wmrHeadset
pimaxRuntime --> pimaxHeadset
monadoRuntime -.-> alvrStreamer
monadoRuntime --> riftHeadset
monadoRuntime --> riftSHeadset
monadoRuntime --> wmrHeadset
monadoRuntime --> varjoHeadset
monadoRuntime --> lighthouseHeadsets
steamvr ----> lighthouseHeadsets
wivrnRuntime --> htcViveFocusHeadset
wivrnRuntime --> lynxR1
wivrnRuntime --> htcXrEliteHeadset
wivrnRuntime --> oculusStandaloneHeadsets
wivrnRuntime --> picoHeadset
wivrnRuntime --> androidPhoneCardboard
alvrStreamer --> appleVisionProHeadset
alvrStreamer --> lynxR1
alvrStreamer --> htcViveFocusHeadset
alvrStreamer --> htcXrEliteHeadset
alvrStreamer --> oculusStandaloneHeadsets
alvrStreamer --> picoHeadset
alvrStreamer --> androidPhoneCardboard
vridge --> androidPhoneCardboard
trinusvr --> androidPhoneCardboard
linkStyle 18,19,20,21,22,23,24 stroke: blue;
linkStyle 58,59,60,61,62,63,64 stroke: orange;
linkStyle 52,53,54,55,56,57 stroke: red;
style openxrApi fill:#007;
style wivrnRuntime fill:#700;
style alvrStreamer fill:#750;