VR-Grundbegriffe: API, Runtime, Treiber, Compositor
Virtual Reality am PC besteht aus mehr als nur einem Headset und einem Spiel. Im Hintergrund arbeiten verschiedene Standards, Schnittstellen und Laufzeitumgebungen zusammen, um Tracking, Bildausgabe und Eingaben korrekt umzusetzen. Begriffe wie SteamVR, OpenVR und OpenXR tauchen dabei häufig auf und sorgen nicht selten für Verwirrung. Dieser Text soll erklären, wie diese Technologien zusammenhängen, worin ihre Unterschiede liegen und warum OpenXR heute eine zentrale Rolle spielt, insbesondere im Zusammenhang mit VR in Star Citizen.
Bevor wir SteamVR/OpenVR/OpenXR erklären bzw. vergleichen, kann es nicht Schaden gewisse Grundbegriffe zu erklären:
- VR-Headset (HMD): Das eigentliche Gerät (z. B. Quest 3, Valve Index, Reverb G2).
- Tracking: Wie Position/Rotation von Kopf und ggf. Hände erfasst werden ("Inside-Out"-Tracking via Kameras im Headset oder "Outside-In"-Tracking via Basisstationen/Lighthouse).
- VR API: Die Programmierschnittstelle, für die ein Spiel entwickelt ist (z. B. OpenXR oder OpenVR).
- VR Runtime: Die „Laufzeitumgebung“, die das Spiel mit dem Headset verbindet, Tracking bereitstellt, Controller Support, Frames entgegennimmt, Verzerrung/Linsen-Korrektur macht usw.
- Compositor: Teil der VR-Runtime, der das finale Bild zusammenbaut (Reprojection/Motion Smoothing, Timewarp, Overlays).
- OpenXR Runtime auswählen: Unter Windows kann (je nach Tool) eine „aktive OpenXR Runtime“ gesetzt werden. Das ist wichtig, weil ein OpenXR-Spiel genau eine aktive Runtime anspricht.
Merksatz: VR-API = Die Art & Weise wie das Spiel spricht. VR-Runtime = mit wem das Spiel spricht.
SteamVR - was ist das eigentlich?
SteamVR ist eine umfassende VR-Plattform von Valve und übernimmt die Rolle eines Mittelsmanns zwischen Spiel, Betriebssystem und VR-Hardware. Sobald ein VR-Spiel gestartet wird, kümmert sich SteamVR um Tracking, Controller-Zuordnung, Bildausgabe, Reprojektion und das finale Rendering für das Headset.
Ursprünglich wurde SteamVR vor allem für Valves eigene Hardware wie die Valve Index und das Lighthouse-Tracking entwickelt. Im Laufe der Jahre hat sich SteamVR jedoch zu einer universellen Lösung für PC-VR entwickelt. Viele Headsets anderer Hersteller lassen sich ebenfalls über SteamVR betreiben, entweder direkt oder mithilfe zusätzlicher Treiber.
Heute nimmt SteamVR eine doppelte Rolle ein:
Zum einen stellt es die klassische SteamVR-Umgebung bereit, wie sie viele aus älteren VR-Titeln kennen. Zum anderen kann SteamVR auch als OpenXR Runtime fungieren und moderne OpenXR-Anwendungen ausführen. Dadurch ist SteamVR häufig der gemeinsame Nenner, selbst wenn ein Spiel nicht speziell für SteamVR entwickelt wurde.
In der Praxis greifen viele Nutzer auf SteamVR zurück, weil es ausgereifte Einstellmöglichkeiten, Debug-Funktionen, Overlays und bekannte Komfortfeatures bietet. Gerade bei komplexen Setups oder bei Headsets mit weniger stabiler Herstellersoftware ist SteamVR oft eine zuverlässige und flexible Lösung, auch wenn es technisch gesehen manchmal eine zusätzliche Zwischenschicht darstellt.
OpenVR - die ältere Valve-API
OpenVR ist eine von Valve entwickelte Programmierschnittstelle, die lange Zeit der Standard für PC-VR war, insbesondere im Steam-Ökosystem. Viele ältere VR-Spiele wurden direkt für OpenVR entwickelt und setzen voraus, dass SteamVR im Hintergrund läuft, um Tracking und Bildausgabe zu übernehmen.
Man kann sich OpenVR als eine Art „Sprache“ vorstellen, die das Spiel spricht, während SteamVR der Dolmetscher ist, der diese Sprache in konkrete Hardware-Befehle übersetzt. In dieser Kombination hat OpenVR viele Jahre zuverlässig funktioniert und bildet bis heute die Grundlage für eine große Anzahl bestehender VR-Titel.
Der Nachteil von OpenVR liegt weniger in der Technik selbst als in seiner Bindung an SteamVR. OpenVR ist kein offener, herstellerneutraler Standard, sondern eine Valve-spezifische Lösung. Mit der wachsenden Vielfalt an VR-Headsets und Plattformen wurde deutlich, dass ein universeller Ansatz sinnvoller wäre.
Aus diesem Grund wird OpenVR heute vor allem als Legacy-API betrachtet. Sie verschwindet nicht plötzlich und bleibt für ältere Anwendungen relevant, wird aber zunehmend durch OpenXR ersetzt. Für Nutzer bedeutet das: OpenVR funktioniert weiterhin, ist aber eher Teil der Vergangenheit als der Zukunft von VR.
OpenXR - der aktuelle Standard
OpenXR ist der Versuch, genau diese Fragmentierung zu überwinden. Entwickelt von der Khronos Group (unter anderem bekannt für Vulkan), definiert OpenXR einen offenen, herstellerübergreifenden Standard, über den VR- und AR-Anwendungen mit unterschiedlichster Hardware kommunizieren können.
Der entscheidende Unterschied zu OpenVR ist die klare Trennung zwischen API und Runtime. Ein Spiel wird einmal für OpenXR entwickelt und erwartet dann lediglich, dass im System eine aktive OpenXR Runtime vorhanden ist. Diese Runtime kann von SteamVR stammen, vom Headset-Hersteller selbst oder von einer anderen kompatiblen Plattform.
Ein Beispiel aus der Praxis:
Ein OpenXR-Spiel kann sowohl mit einer Valve Index über SteamVR als auch mit einer Meta Quest über Meta OpenXR laufen ohne dass das Spiel selbst angepasst werden muss. Entscheidend ist nur, welche Runtime im System aktuell als aktiv gesetzt ist.
OpenXR bringt zudem den Vorteil mit, dass neue Funktionen nicht mehr als proprietäre Erweiterungen einzelner Hersteller entstehen müssen, sondern als standardisierte Extensions in den OpenXR-Standard aufgenommen werden können. Dinge wie Hand-Tracking, Eye-Tracking oder spezielle Rendering-Features lassen sich so langfristig konsistenter umsetzen.
In der Realität ist OpenXR kein Allheilmittel: Die Qualität der Erfahrung hängt weiterhin stark von der jeweiligen Runtime und den Treibern ab. Trotzdem gilt OpenXR heute als der zukunftssichere Weg, auf den sich sowohl Engine-Entwickler als auch Hardware-Hersteller verständigt haben.
Kurz gesagt:
Während OpenVR stark an SteamVR gebunden ist, schafft OpenXR eine gemeinsame Basis, auf der unterschiedliche Plattformen zusammenarbeiten können, ein wichtiger Schritt für die langfristige Entwicklung von VR.
TL;DR - Kurzfassung für Einsteiger
- SteamVR ist eine umfassende VR-Plattform und kann auch als OpenXR Runtime dienen.
- OpenVR ist eine ältere Valve-API und heute hauptsächlich für Legacy-Titel relevant.
- OpenXR ist der moderne, offene Standard und die Zukunft von VR.
- Entscheidend ist nicht nur das Spiel, sondern welche OpenXR Runtime im System aktiv ist.
- Bei Problemen ist ein Wechsel der Runtime oft der wichtigste Testschritt.
Welche Runtime nutze ich in Star Citizen?
Star Citizen nutzt mit dem experimentellen VR-Support einen OpenXR-basierten Ansatz. Daher ist die Auswahl der richtigen Runtime entscheidend.
Allgemeine Empfehlungen:
- Valve Index / Lighthouse-Setups:
SteamVR als OpenXR Runtime - Meta Quest (Link / Air Link):
Meta OpenXR oder alternativ SteamVR OpenXR - Pimax-Headsets:
Je nach Modell SteamVR OpenXR (oft stabiler als native Implementierungen) - WMR-Headsets:
SteamVR OpenXR oder alternative Treiber (z. B. Oasis), je nach Systemstand
MfG