{"id":7750,"date":"2025-11-29T05:32:58","date_gmt":"2025-11-29T04:32:58","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=7750"},"modified":"2026-02-13T19:17:27","modified_gmt":"2026-02-13T18:17:27","slug":"open-source-solutions-for-augmented-reality","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/","title":{"rendered":"Open-source solutions for augmented reality"},"content":{"rendered":"<h2>Verfahren und Implementierungen<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autor: Lubosz Sarnecki, Collabora Ltd.<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2018<\/h3>\n<p><strong>Obwohl das Feld der Virtuellen und Augmentierten Realit\u00e4t seit den 90er Jahren besteht, erleben wir in den letzten Jahren eine rasante marktgetriebene Entwicklung in diesem interdisziplin\u00e4ren Bereich. Zwar ist es historisch von propriet\u00e4rer Software gepr\u00e4gt, genie\u00dft aber eine enthusiastische Community von Open Source Hackern und Unternehmen, die freie Treiber und Middleware entwickeln. Offene Standardisierungsbem\u00fchungen werden derzeit von der Khronos-Gruppe durchgef\u00fchrt.<\/strong><\/p>\n<h2>Begriffserkl\u00e4rung XR<\/h2>\n<p>Siehe Abb. 1 (<a title=\"Fachinfo_ESE_quelloffene-loesung_collabora_sarnecki\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_quelloffene-loesung_collabora_sarnecki.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>): Das Reality-Virtuality Continuum von Milgram, 1994<\/p>\n<p>Der Begriff XR (Extended Reality) wird gerne verwendet, um die Aspekte von virtueller und augmentierter Realit\u00e4t zu vereinigen. Er ist hierbei als Synonym von Mixed Reality zu sehen, welches den mittleren Teil der Achse des\u00a0<em>Reality-Virtualty Kontinuums<\/em>\u00a0von Milgram einnimmt. Das Kontinuum beginnt bei der vollst\u00e4ndigen echten Realit\u00e4t, geht \u00fcber die augmentierte Realit\u00e4t, bei der virtuelle Gegenst\u00e4nde in die Realit\u00e4t eingef\u00fcgt werden, und endet in der vollst\u00e4ndigen Virtualit\u00e4t.<\/p>\n<h2>Tracking-Technologien<\/h2>\n<p>Neben des Renderings ist das Tracking der Hauptbestandteil von XR-Systemen. Im Folgenden werden einige in Konsumentensystemen g\u00e4ngige Verfahren vorgestellt.<\/p>\n<h3>Inertiale Messeinheit<\/h3>\n<p>Die IMU (engl. Inertial Measurement Unit) ist eine Kombination mehrerer Tr\u00e4gheitssensoren und wird durch ihre Preisg\u00fcnstigkeit als Fundament der meisten Trackingsysteme genutzt. Die wichtigsten Sensoren hierbei sind das Akzelerometer (Beschleunigungssensor) und das Gyroskop (Drehratensensor). Viele IMUs enthalten auch ein zus\u00e4tzliches Magnetometer (Magnetfeldsensor), welches jedoch aufgrund seiner St\u00f6rungsanf\u00e4lligkeit auf elektromagnetische Strahlung oft in Implementierungen vernachl\u00e4ssigt oder gar nicht erst verbaut wird. Durch den Einsatz von IMUs in den meisten Mobiltelefonen k\u00f6nnen Projekte wie Google Cardboard das Smartphone als VR-Komplettl\u00f6sung nutzen und m\u00fcssen lediglich einen Papierkarton mit Plastiklinsen als Halterung anbieten.<\/p>\n<p>Um aus einer IMU eine vollst\u00e4ndige Orientierung zu erhalten, muss man mehrere Sensoren zusammenf\u00fchren.<\/p>\n<p>Eine Implementierung f\u00fcr das Auslesen der IMU-Signals der meisten g\u00e4ngigen Konsumenten-VR-Headsets ist\u00a0<em>OpenHMD<\/em>[4]. Die USB-Ger\u00e4te werden hierbei mit der Bibliothek\u00a0<em>hidapi<\/em>\u00a0angesprochen. OpenHMD verf\u00fcgt ebenfalls \u00fcber eine Sensor-Fusion und liefert \u00fcber eine C-Schnittstelle eine fertige Pose des Kopfes. OpenHMD ist unter der Boost-Lizenz ver\u00f6ffentlicht und verf\u00fcgt \u00fcber eine aktive Entwicklergemeinde.<\/p>\n<p>Obwohl die IMU prinzipiell f\u00fcr das Bestimmen einer Position im 3D-Raum verwendet werden kann, liefern g\u00e4ngige Sensoren Daten, die zu verrauscht sind und zu sehr driften, um f\u00fcr diesen Zweck zu gen\u00fcgen. \u00dcblicherweise wird mit IMUs deshalb nur eine Rotation bestimmt, w\u00e4hrend die folgenden Trackingsysteme auch die Position liefern.<\/p>\n<h3>Externes bildbasiertes Tracking<\/h3>\n<p>Eine g\u00e4ngige Methode, um eine 6DOF (6 Degrees Of Freedom) Pose zu bestimmen, also eine Pose mit 6 Freiheitsgraden, ist das externe bildbasierte Tracking. Hierf\u00fcr gibt es zwei Ans\u00e4tze.<\/p>\n<p>Beim ersten Ansatz beinhaltet das Headset die Aktoren und der externe Tracker ist eine Kamera. Beispiele f\u00fcr diesen Ansatz sind Oculus DK2 \/ CV1, PSVR und OSVR HDK. Bei diesen Ger\u00e4ten findet man ein LED-Gitter am HMD und an den Controllern, welches im infraroten Spektrum leuchtet. Durch Blob-Detektion lassen sich die Aktoren, deren 3D-Anordnung auf dem Headset bekannt ist, im 2D-Kamerabild bestimmen. Mit Algorithmen wie PnP (Point-N-Point), was beispielsweise in\u00a0<em>OpenCV<\/em>\u00a0implementiert ist, kann von den 2D-Positionen im Kamerabild und ihrer 3D-Anordnung auf die Pose des Headsets im Raum geschlossen werden. Eine Open Source Implementierung des kamerabasierten externen Trackings findet man in\u00a0<em>OSVR<\/em>[12] und dem GPLv2 lizensierten\u00a0<em>ouvrt<\/em>[1].<\/p>\n<p>Beim anderen Ansatz beinhaltet das Headset die Sensoren und ein externer Tracker die Aktoren. Dies kommt beispielsweise beim Lighthouse Trackingsystem der HTC Vive und anderen Headsets wie StarVR zum Einsatz.<\/p>\n<p>Hierbei emittieren die Tracker durch 2 an Rotoren angebrachten Lasern, \u00e4hnlich wie bei Laser-Scannern, ein Signal, welches durch einfache Lichtsensoren am Headset und den Controllern aufgenommen wird. Durch die fabrikkalibrierte Anordnung der Sensoren, die vom Headset ausgelesen werden kann, sowie der Information, zu welchem exakten Zeitpunkt jeder Sensor von einem Laserstrahl getroffen wurde, l\u00e4sst sich hierbei eine Pose rekonstruieren. Durch Impulse eines LED-Arrays und Fotosensoren k\u00f6nnen sich mehrere Base-Stationen synchronisieren, ohne mit der Tracking-Software zu interagieren.\u00a0<strong>Das USB-Protokoll der HTC Vive wurde vom Project\u00a0<em>LighthouseRedox<\/em>[2] dokumentiert.<\/strong>\u00a0Ein Ansatz f\u00fcr eine Open Source Implementierung des Lighthouse Trackings findet man in meinem experimentellen\u00a0<em>vive-libre<\/em>[13] Treiber sowie in dem darauf basierenden MIT lizenzierten\u00a0<em>libsurvive<\/em>[3].<\/p>\n<p>Bei beiden Ans\u00e4tzen ist eine Steigerung in der Robustheit des Systems mit einer Erh\u00f6hung der Trackeranzahl erreichbar.<\/p>\n<p>Siehe Abb. 2 (<a title=\"Fachinfo_ESE_quelloffene-loesung_collabora_sarnecki\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_quelloffene-loesung_collabora_sarnecki.pdf\">PDF<\/a>): Lightouse Tracking-System<\/p>\n<h3>Inside-Out Tracking<\/h3>\n<p>Durch die fehlende Notwendigkeit von externen Tracker-Ger\u00e4ten wird das Inside-Out-Tracking gerne in modernen Konsumenten-HMDs eingesetzt. Hierbei ben\u00f6tigt das Headset lediglich mindestens eine Kamera, die mit Hilfe von aus der Robotik stammenden Verfahren wie SLAM (Simultaneous Localization and Mapping) anhand von Feature-Detektion und Aufbau einer Karte die Pose der Kamera im Raum bestimmen kann. In modernen propriet\u00e4ren AR-Implementierungen wie ARcore von Google und ARkit von Apple ist es die bevorzugte Tracking-Methode. Das IMU-Signal des Smartphones oder HMDs tr\u00e4gt hier durch seine kleine Latenz und hohe Frequenz ebenfalls zur Vervollst\u00e4ndigung der Ortung bei. SLAM-Verfahren, die Tr\u00e4gheitssensorik integrieren, nennt man Visual-Inertial, auch VIO. Leistungsstarke Open-Source Implementierungen sind\u00a0<em>ORB-SLAM2<\/em>[6] (GPLv3) und\u00a0<em>Maplab<\/em>[5] (Apache 2.0) von der ETH Z\u00fcrich.<\/p>\n<p>F\u00fcr das Tracken der Controller kann das SLAM mit externen Kamera-Trackingverfahren kombiniert werden, wie beispielsweise bei den Microsoft Mixed Reality Headsets. Der Controller verliert hierbei das Positionstracking, sobald er aus dem Sichtfeld (Field Of View) der Sensoren austritt, und f\u00e4llt auf seine Tr\u00e4gheitssensorik zur\u00fcck.<\/p>\n<p>Eine Liste an zahlreichen Open Source SLAM-Implementierungen kann auf OpenSLAM eingesehen werden[18].<\/p>\n<h3>Handtracking<\/h3>\n<p>Mit einem simplen Ger\u00e4t wie der Leap Motion oder uSens FINGO, welches eine weitwinklige Stereo-Infrarotkamera enth\u00e4lt, kann mit Bildverarbeitung so wie K\u00fcnstlicher Intelligenz ein solides Tracking von H\u00e4nden erreicht werden. Leider blieb es bei Open Source Treibern wie\u00a0<em>OpenLeap<\/em>[7] nur bei minimalen Ans\u00e4tzen f\u00fcr die Implementierung. Tiefenkameras wie der Microsoft Kinect oder Intel Realsense bieten eine weitere Alternative zum K\u00f6rpertracking. Das\u00a0<em>ROS<\/em>\u00a0liefert Implementierungen f\u00fcr Handtracking auf Tiefenkamerabasis[8].<\/p>\n<h2>\u00dcbersicht: Standardisierungsans\u00e4tze und APIs<\/h2>\n<h3>OpenVR<\/h3>\n<p>Eine sehr weit verbreitete API fuer VR ist Valve\u2018s\u00a0<em>OpenVR<\/em>[10]. Zwar ist ihre Implementierung SteamVR nicht Open Source, allerdings bietet SteamVR ein Treiber-Interface an, das die Entwicklung oder Einbindung von Open Source Tracking-Treibern erm\u00f6glicht. Zum Beispiel liefert das\u00a0<em>SteamVR-OpenHMD<\/em>[9] Projekt eine Anbindung an alle von OpenHMD unterst\u00fctzten Headsets.<\/p>\n<h3>OSVR<\/h3>\n<p>Die von Sensics entwickelte Middleware\u00a0<em>OSVR<\/em>\u00a0implementiert externes kamerabasiertes Tracking f\u00fcr die HDK- und HDK2-Headsets sowie einen Kalman-Filter f\u00fcr die Filterung der Sensordaten und Bestimmung der Pose. Als IPC und Fundament von\u00a0<em>OSVR-Core<\/em>[12] wird hierbei\u00a0<em>vrpn<\/em>[11] verwendet, welches auch weitere Ger\u00e4tetreiber liefert.\u00a0<em>OSVR<\/em>\u00a0verf\u00fcgt zus\u00e4tzlich \u00fcber Anbindungen zu propriet\u00e4ren Treibern wie SteamVR und Oculus VR.<\/p>\n<h3>OpenXR<\/h3>\n<p>Die Khronos-Gruppe publizierte bekannte Industriestandards f\u00fcr Grafikschnitstellen wie OpenGL und Vulkan. Derzeit wird an der Spezifikation der OpenXR-API gearbeitet, die herstellerunabh\u00e4ngige Applikationen erm\u00f6glichen wird.<\/p>\n<p>Siehe Abb. 3 (<a title=\"Fachinfo_ESE_quelloffene-loesung_collabora_sarnecki\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_quelloffene-loesung_collabora_sarnecki.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>): API-Fragmentierung vor und nach dem Einsatz von OpenXR<\/p>\n<h3><strong>Actions API<\/strong><\/h3>\n<p>Bei klassischen Input-Systemen wie SDL 1 wird in der Applikation der Zustand von fest definierten Tasten abgefragt. Dabei kann z.B. die Anwendung geschlossen werden, wenn die Escape-Taste des Keyboards gedr\u00fcckt wird, oder eine Sprungaktion in einem Spiel ausgef\u00fchrt werden, wenn die 2. Taste des Spielecontrollers bet\u00e4tigt wurde. Das hat den Nachteil, dass eine Neubelegung der Tasten speziell in der Anwendung oder im Treiber implementiert werden muss. Ebenso muss der Applikation zur Implementierungszeit der Controller bekannt sein. Dieses Problem f\u00fchrt oft dazu, dass Anwendungen nur einen Controller unterst\u00fctzen, wie z.B. den Microsoft Xbox Controller. Userspace-Treiber wie\u00a0<em>xboxdrv<\/em>[16] helfen hier, das Problem zu l\u00f6sen, indem sie f\u00fcr verschiedene Gamepads einen Xbox-Controller emulieren. Die L\u00f6sung auf Seiten der API ist jedoch einerseits nicht, spezielle Tasten abzurufen, sondern Aktionen zu definieren, die dann im Treiber einer Taste zugewiesen werden k\u00f6nnen. Hier werden aus dem oben genannten Beispiel eine Beenden- und Springen-Aktion die in der Anwendung verarbeitet werden. Der Anwender kann hierbei die Belegung \u00e4ndern oder auf vorgefertigte Profile zur\u00fcckgreifen. Da im Bereich der Virtuellen Realit\u00e4t eine hohe Inhomogenit\u00e4t und Innovation im Bereich der Eingabe herrscht, ist eine Actions-API eine notwendige L\u00f6sung. Hierbei k\u00f6nnen auch Posen des Kopfes, der Controller oder sonstigen getrackten Elemente als Aktionen eingebunden und belegt werden.<\/p>\n<p>Eine propriet\u00e4re Implementierung f\u00fcr eine Actions-API existiert bereits in SteamVR, welche in OpenVR spezifiziert ist. OpenXR wird ebenfalls eine Actions-API besitzen, wie im Vortrag &#8222;<em>Standardizing All the Realities: A Look at OpenXR&#8220;<\/em>\u00a0angek\u00fcndigt wurde[15].<\/p>\n<h3>Direct Mode auf dem Open Source Grafikstack<\/h3>\n<p>XR-Ger\u00e4te profitieren von einem speziellen Anzeigemodus, der Direct Mode genannt wird. Im klassischen Extended Mode behandelt das Betriebssystem das HMD als normalen Monitor \u2013 der Desktop wird auf das HMD erweitert, allerdings sind 2D-Anwendungen direkt auf dem HMD angezeigt nicht benutzbar. Eine VR-Applikation zeichnet hierbei in ein normales Vollbildfenster, das auf dem HMD angezeigt wird. Dies hat auch den Nachteil, dass das Rendering mit relativ hoher Latenz geschieht, da moderne Fenstermanager zum Beispiel Compositing zur Darstellung von Fenstern verwenden, welche nicht auf geringe Latenz ausgelegt sind.<\/p>\n<p>Der Open Source Desktop bietet durch die junge Einf\u00fchrung des DRM-Lease-Verfahrens von Keith Packard die M\u00f6glichkeit, Bildschirme komplett vom Desktop-Betrieb auszuschlie\u00dfen. Eine Liste mit Bildschirmen, also HMDs, die durch ihre EDID auf &#8222;non-desktop&#8220; gesetzt werden, ist im Linux-Kernel zu finden. Es sind zahlreiche aktuelle Komponenten wie Kernel, X Server und Mesa-Grafiktreiber notwendig, um dieses Feature zu nutzen. Eine genaue Liste an Patches wurde von Christoph Haag zusammengef\u00fchrt[14].<\/p>\n<p><strong>Eine M\u00f6glichkeit, DRM-Leases zu nutzen, ist die Vulkan Grafik-API. Durch die Vulkan-Erweiterungen\u00a0<\/strong><strong>VK_EXT_direct_mode_display<\/strong><strong>\u00a0und\u00a0<\/strong><strong>VK_EXT_acquire_xlib_display<\/strong><strong>\u00a0kann \u00fcber Xlib-Strukte die Bildschirmausgabe im Direct Mode initialisiert werden. Ein Beispiel f\u00fcr die Nutzung des Direct Modes mit Vulkan findet man in meiner VR-Grafikdemo\u00a0<em>xrgears<\/em>[17], welche OpenHMD als Tracker verwendet.<\/strong><\/p>\n<h2>Abk\u00fcrzungsverzeichnis<\/h2>\n<table style=\"height: 391px;\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>VR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Virtual Reality<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>AR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Augmented Reality<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>XR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Extended Reality<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>OpenVR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Valve\u2018s Open Virtual Reality API<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>OSVR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Sensics Open Source Virtual Reality Middleware<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>OVR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Oculus Virtual Reality API<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>OpenXR<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Open Extended Reality Khronos Standard API<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>SLAM<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Simultaneous Localization And Mapping<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>IMU<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Inertial Measurement Unit<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>OpenCV<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Open Computer Vision<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>6DOF<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">6 Degrees Of Freedom<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>ROS<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Robotic Operating System<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>PnP<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Point-N-Point<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>VIO<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Visual-Inertial Odomentry<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>DRM<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Direct Rendering Manager<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>IPC<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Inter-process Communication<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 74px; height: 23px;\" valign=\"top\"><strong>HMD<\/strong><\/td>\n<td style=\"width: 478px; height: 23px;\" valign=\"top\">Head-Mounted Display<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Abbildungsverzeichnis<\/h2>\n<p>Abb 1: https:\/\/en.wikipedia.org\/wiki\/Reality\u2013virtuality_continuum<\/p>\n<p>Abb 2: HTC Vive PRE User Guide<\/p>\n<p>Abb 3: OpenXR API Diagram https:\/\/www.khronos.org\/openxr<\/p>\n<h2>Literatur- und Quellenverzeichnis<\/h2>\n<p>[1] https:\/\/github.com\/pH5\/ouvrt<\/p>\n<p>[2] https:\/\/github.com\/nairol\/LighthouseRedox<\/p>\n<p>[3] https:\/\/github.com\/cnlohr\/libsurvive<\/p>\n<p>[4] https:\/\/github.com\/OpenHMD\/OpenHMD<\/p>\n<p>[5] https:\/\/github.com\/ethz-asl\/maplab<\/p>\n<p>[6] https:\/\/github.com\/raulmur\/ORB_SLAM2<\/p>\n<p>[7] https:\/\/github.com\/openleap\/OpenLeap<\/p>\n<p>[8] https:\/\/wiki.ros.org\/hand_interaction<\/p>\n<p>[9] https:\/\/github.com\/ChristophHaag\/SteamVR-OpenHMD<\/p>\n<p>[10] https:\/\/github.com\/ValveSoftware\/openvr<\/p>\n<p>[11] https:\/\/github.com\/vrpn\/vrpn<\/p>\n<p>[12] https:\/\/github.com\/OSVR\/OSVR-Core<\/p>\n<p>[13] https:\/\/github.com\/lubosz\/OSVR-Vive-Libre<\/p>\n<p>[14] https:\/\/haagch.frickel.club\/#!drmlease.md<\/p>\n<p>[15] Nick Whiting, \u201e<em>Standardizing All the Realities: A Look at OpenXR<\/em>\u201c, GDC, March 2018<\/p>\n<p>[16] https:\/\/gitlab.com\/xboxdrv\/xboxdrv<\/p>\n<p>[17] https:\/\/gitlab.com\/lubosz\/xrgears<\/p>\n<p>[18] https:\/\/openslam-org.github.io<\/p>\n<h2>Autor<\/h2>\n<p>Lubosz Sarnecki ist Senior Software Engineer bei Collabora und VR-Enthusiast seit den Oculus DK1 Tagen. Er arbeitet seit 2011 an Open-Source-Softwareprojekten wie GStreamer. Nach der Arbeit an den GStreamer OpenGL-Plugins konzentrierte sich Lubosz auf Grafik und VR. Er ist Author der GStreamer VR Plugins, zahlreicher Open Source VR-Demos und arbeitet derzeit an der Verbesserung des Open Source VR-Stacks. Lubosz hat einen B.Sc. in Computervisualistik der Universit\u00e4t Koblenz.<\/p>\n<p><a title=\"Fachinfo_ESE_quelloffene-loesung_collabora_sarnecki\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_quelloffene-loesung_collabora_sarnecki.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Open-Source &#8211; unsere Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"MicroConsult Training\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Open-Source \/ Embedded Software Engineering.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Open-Source &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema\u00a0Open-Source \/ Embedded Software Engineering steht\u00a0<a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>hier\u00a0<\/strong><\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie <a title=\"MicroConsult Fachwissen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Verfahren und Implementierungen Autor: Lubosz Sarnecki, Collabora Ltd. Beitrag &#8211; Embedded Software Engineering Kongress 2018 Obwohl das Feld der Virtuellen und Augmentierten Realit\u00e4t seit den 90er Jahren besteht, erleben wir in den letzten Jahren eine rasante marktgetriebene Entwicklung in diesem interdisziplin\u00e4ren Bereich. Zwar ist es historisch von propriet\u00e4rer Software gepr\u00e4gt, genie\u00dft aber eine enthusiastische Community [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-7750","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/open-source-solutions-for-augmented-reality\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Verfahren und Implementierungen Autor: Lubosz Sarnecki, Collabora Ltd. Beitrag &#8211; Embedded Software Engineering Kongress 2018 Obwohl das Feld der Virtuellen und Augmentierten Realit\u00e4t seit den 90er Jahren besteht, erleben wir in den letzten Jahren eine rasante marktgetriebene Entwicklung in diesem interdisziplin\u00e4ren Bereich. Zwar ist es historisch von propriet\u00e4rer Software gepr\u00e4gt, genie\u00dft aber eine enthusiastische Community [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/open-source-solutions-for-augmented-reality\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T04:32:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T18:17:27+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t\",\"datePublished\":\"2025-11-29T04:32:58+00:00\",\"dateModified\":\"2026-02-13T18:17:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/\"},\"wordCount\":1984,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/\",\"name\":\"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T04:32:58+00:00\",\"dateModified\":\"2026-02-13T18:17:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Open-source solutions for augmented reality - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/open-source-solutions-for-augmented-reality\/","og_locale":"en_GB","og_type":"article","og_title":"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t - MicroConsult Academy GmbH","og_description":"Verfahren und Implementierungen Autor: Lubosz Sarnecki, Collabora Ltd. Beitrag &#8211; Embedded Software Engineering Kongress 2018 Obwohl das Feld der Virtuellen und Augmentierten Realit\u00e4t seit den 90er Jahren besteht, erleben wir in den letzten Jahren eine rasante marktgetriebene Entwicklung in diesem interdisziplin\u00e4ren Bereich. Zwar ist es historisch von propriet\u00e4rer Software gepr\u00e4gt, genie\u00dft aber eine enthusiastische Community [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/open-source-solutions-for-augmented-reality\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T04:32:58+00:00","article_modified_time":"2026-02-13T18:17:27+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t","datePublished":"2025-11-29T04:32:58+00:00","dateModified":"2026-02-13T18:17:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/"},"wordCount":1984,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/","url":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/","name":"Open-source solutions for augmented reality - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T04:32:58+00:00","dateModified":"2026-02-13T18:17:27+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/quelloffene-loesungen-fuer-die-erweiterte-realitaet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Quelloffene L\u00f6sungen f\u00fcr die Erweiterte Realit\u00e4t"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=7750"}],"version-history":[{"count":7,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7750\/revisions"}],"predecessor-version":[{"id":11788,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7750\/revisions\/11788"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=7750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=7750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=7750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}