 Und für den zweiten Vortrag wird uns Störfrei gleich erklären, wie man diese schönen Virtual Reality-Hatsets nicht nur in teuer, wie man sie hier auch viel sieht, haben kann, sondern auch in billig. Bitte schön. Vielen Dank. Wie gesagt, mein Name ist Störfrei und ich bin Störfrei und ich würde euch was über VR erstmal im Allgemeinen erzählen. Also ein paar Basics, was ich rausgefunden habe, an technischen Besonderheiten, an verschiedene Optionen, wie man zu so einer Hardware kommen kann und ein paar Ideen für die Anwendung. Meine Motivation, was ich hier im Blick hatte, war, dass ich irgendwie gerne mehr draußen wäre. Und wäre es echt cool, so ein Display zu haben, was man sich quasi direkt aus Gesicht setzt, um das Problem mit dem Kontrast ein bisschen zu beheben und dann so im Freien am Rechner arbeiten zu können. Und diese ganzen großen VR-Sets, die haben halt das Problem, dass sie eigentlich auch so einen dicken Gaming-Rechner brauchen, den man sich nicht so leicht auf den Rücken schneiden kann. Und was so eine VR-Brille grundsätzlich ist, es ist so ein Gehäuse mit einem oder zwei LCD-Panels drin und eine Optik, um da irgendwie was sehen zu können, obwohl das wenige Zentimeter von einem Auge ist und noch so Tracking-Sensoren, um halt Kopfbewegungen nachvollziehen zu können und dann das Bild entsprechend zu zeichnen, um eben die Illusion von einer virtuellen Umgebung zu erzeugen. Was ich jetzt nicht behandeln werde, sind irgendwelche Eingabegeräte, die da noch so ein haptisches Gefühl vermitteln sollen, sondern man geht erst mal nur um die Brille, um das Anzeigegerät. Ja, da haben wir hier so eine ziemlich krasse Linsenapparatur, die halt den versuchten möglichst großen Field-of-View auf diese LCD-Panels darzustellen. Und ja, das ist halt schon eine ziemlich massive Abbildung, also da treten so Verzerrungen auf. Also wenn man quasi hier so ein Bild normal zeichnen würde, wird das so ein bisschen kissenförmig dargestellt. Also muss man das erst so aufplustern, damit das dann wieder gerade aussieht in der Brille. Und ein anderes Problem ist noch diese chromatischen Aberrationen. Also unterschiedliche Wellenlängen werden unterschiedlich gebrochen. Und dann hat man diesen Effekt, dass zum Rand hin die Farben so ein bisschen falsch aussehen. Das kann man dann auch in Software korrigieren durch so einen weiteren Abbildungsschritt. Und ja, wie wird das angestreuert so in der Brille? Das erscheint halt im Prinzip einfach als externer Monitor. Also manche Brillen haben ja noch so einen besonderen Modus, dass sie halt den Desktop irgendwie normal abbilden können oder das irgendwie verstecken, dass sie eigentlich ein Monitor sind. Aber im Prinzip ist das ein ganz normales Anzeigegerät, was irgendwie über HDMI oder Displayport läuft. Und dann gibt es eben noch diese Sensoranbindung. Das läuft meistens über USB. Und ja, das ist eigentlich nicht so schwierig. Aber diese STKs machen das halt, sind halt für jede Brille unterschiedlich. Also die stellen irgendwie einen Weg bereit, dieses Bild irgendwie auf das richtige Display zu bringen. Ein Schnittsteller zu den Sensoren. Und dann die Werte für die Linsenkorrektur, die man in seinem Programm berücksichtigen kann. Und ja, was auch sehr wichtig ist, ist, dass man also gegenüber einem normalen 3D-Spiel eine höhere Anforderung an die Performance hat, einfach um eine geringe und nicht so stark schwankende Latenz zu erzeugen. Sonst kommt es halt so komischen Effekten. Also das Gleichgewichtsorgan reagiert da nicht so gut drauf. Da gab es hier bei so einem kleinen Projekt, diesen schönen Disclaimer, also dass das sehr ungesund sein kann, wenn man da länger drin rum debackt und doch vielleicht einmal in der Nähe bereithalten sollte, wenn dann sein VR-System debackt. Ja, und da haben wir halt so eine Menge unterschiedlicher Schnittstellen. Also ich fand das erstmal ziemlich unübersichtlich. Es gibt dann einen Hersteller, der nennt es Seins, irgendwie OpenVR. Und da kann man dann auch andere Treiber reinplaggen, aber irgendwie ist das alles so leicht inkompatibel. Also beim einen geht es irgendwie nur auf Windows, dass man noch andere Treiber einbaut. Dann gibt es noch dieses WettVR, wo er im Prinzip auch nur bestimmte Browser mit bestimmten VR-Brillen zusammenarbeiten. Und da gibt es jetzt diesen neuen OpenXR-Standard. Das ist so ein Versuch von diesem Chronos-Konsortium, die auch OpenGL und andere Standards machen, das zu vereinheitlichen, indem sie da so eine Zwischenschicht einziehen. Aber das ist jetzt irgendwie ganz neu, also im März ist diese Spezifikation rausgekommen. Und ja, ich hoffe, dass das durchsetzen wird, tendenziell. Aber so das Projekt meiner Wahl ist erstmal dies OpenHMD. Das ist so eine kleine C-Librärie, die halt alle möglichen VR-Headsets unterstützt. Auf Linux, Windows und verschiedenen BSDs. Und es bietet jetzt ein kleines Interface an und man sich zum Beispiel diese Projektionsmatrix für diese Verzerrungskorrektur holen kann und wird übrigens auch von der OpenXR-Referenzimplementation verwendet. Wie kommt man jetzt zu so einer Hardware? Das bekannteste sind sicherlich diese Google Cardboards etc. Einfach diese Linsenapparatur für sich hat und da sein Smartphone rein schiebt als Display. Das Problem damit ist, dass man damit hauptsächlich fertige Inhalte konsumieren kann und das jetzt sich nicht so gut eignet, um darauf sein VR, Desktop oder so aufzubauen. Und man kann sowas aber auch selber bauen oder man findet halt ein bestimmtes Produkt, was verschiedene Gründen nicht mehr zu einem günstigen Preis zu erwerben ist. Das ist hier zum Beispiel für so eine Selbstbaulösung. Hat jemand so eine eine von diesen Cardboard-artigen Brillen, also die quasi nur die Linsen-Optik enthalten, genommen und da so ein Handysplay-Panel, was man so kaufen kann beim Chinesen, wo ein HDMI-Eingang reinkommt und noch ein Arduino ist auch noch drin für dieses Head Tracking, also mit ein paar Gyro-Sensoren. Also das ist ein Projekt, was ich über einen Pull-DV-Quest bei diesem Open-HMD kennengelernt habe, weil der Mensch der das gebaut hat, da halt Support für reingepatched hat. Und was ich auch mal ganz gern mache, ist, aus so einer bekannten Preisvergleichseite zu gehen. Da gibt es ja diese Kategorie Head Mounted Displays und da habe ich mir draufgeklickt, nach Preis sortiert. Und da gab es ja so einen Treffer, so eine VR-Brille für 14 Euro aktuell. Da habe ich mich gefragt, was ist da los, was ist das für ein Ding. Das ist tatsächlich eine richtige VR-Brille mit eigenem Display und Sensoren und allem. Hat allerdings nur einen USB-C-Stecker und ist anscheinend Zubehör für ein bestimmtes Handy von LG. Und irgendwie, aus irgendeinem Grund will das Ding niemand mehr haben. Weiß ich nicht genau, woran das liegt. Also hier sind es ein paar Titel von Reviews über diese Brille. Also in dieser Hardware-Kombination wohl nicht so gut funktioniert, aber ich dachte, das liegt bestimmt am Handy. Und wenn ich das in meinem Rechner zum Laufen bekomme, ist das voll super. Also das ist die Frage, was ist da mit diesem USB-C los. Also hier ist erstmal ein Bild von dem USB-C-Stecker. Da haben wir halt eine Menge Leitungen. Das Wichtige ist, in der Oben steht D minus, D plus. Da ist noch das normale USB-2 drauf. Das ist ja, ja, so ziemlich allgemein bekannt ist hier. Und die Brille spricht doch tatsächlich gar kein USB-3, sondern ein benutztes Standard, der nennt sich DisplayPort über USB-C. Und das heißt, dass da hier diese DisplayPort Lanes auf die differenzialen Datenleitungen von dem USB-Stecker legt. Und also dafür gibt es jetzt einen Standard, um dann diese Buchse umzuschalten. Also mein Rechner hält das halt leider nicht, aber ich dachte mir, ich könnte vielleicht mal versuchen, so ein passives Adapter zu bauen, der einfach diese Leitung hier auf so ein DisplayPort Kabel legt und die USB-2-Leitung auf so ein Micro-USB. Und das sah auch zuerst so aus, als würde es funktionieren. Also es wurde ein Display erkannt. Und ich konnte die Brille auch über USB ansprechen. Aber irgendwie ging die dann immer aus, sobald ich ja den Befehl über USB gestickt habe, dass er jetzt bitte die Hintergrundbeleuchtung anmachen muss. Und dann habe ich mich da ein bisschen in diesen Standard eingearbeitet und festgestellt, anscheinend prüft die Brille doch irgendwie, ob diese Umschaltung da richtig funktioniert. Also hier gibt es noch irgendwie so ein Seitenkanal, da unten dieses CC1, CC2, vorüber der dann aushandeln soll. Hallo, ich bin ein USB-C-Gerät und ich möchte gerne aber DisplayPort über USB sprechen. Dann schalte ich doch mal bitte um. Erst wenn dieser Handshake stattgefunden hat, akzeptiert die Brille auch die Bild-Eingabe. Also das Projekt ist noch ein bisschen komplexer geworden. Also ich habe eine Platine gemacht mit einem Mikro-Kontroller, der links für diese USB-Negotiation und noch so ein kleines Display-Port-Reedriver. Das sah dann fertig so aus. Und ja, habe ich ein paar von gebaut und verschiedene Leute aus dem Projektumfeld da auch verschickt. Und das hat erstmal funktioniert. Dann kann diese Brille jetzt ansteuern als externes Display. Es gibt noch so einen kleinen Haken. Und dann macht diese Brille etwas komplett anders als alle anderen VR-Brillen, wo man einfach so zwei Bilder links und rechts nebeneinander hat. Und dann die beiden Panels sind aus montagetechnischen Gründen in dieser Brille um 90 Grad gegeneinander gedreht. Das macht meines Wissens keine andere VR-Brille kommt halt ein bisschen auf die Software an, wie die da ihre Projektionsmatrix einlegt, ob man das ja durch eine VR-App beibringen kann oder nicht. Also das ist hier so ein Screenshot von einem Tool für Windows, nennt sich Reshade oder so. Und dann kann man noch auf bestehende Spiele andere Shader drüber legen und an beliebige Spiele auf dieser Brille spielen. Das ist jetzt nicht so meins, weil ich jetzt eigentlich keine Windows-Spiele spielen will, sondern was anderes im Sinn hatte. Das komme ich jetzt. Ja, das würde funktionieren. Also die Frage war, ob ich mal probiert habe, das direkt in so einen Rechner einzustecken, der Displayport über USB-C kann. Ja, ich habe jetzt so einen Rechner selber nicht gehabt, aber das haben wir bei einem anderen ausprobiert und das Schienen zu funktionieren. Ja, also eine Anwendung, die ich schon länger im Sinn hatte, dieses sogenannte Lazy-Eye-Tetris, das ist quasi eine Innovation aus dem augenärztlichen Bereich. Es gibt nämlich Leute, die haben so eine einseitige Sehschwäche, also da ist so ein Auge ein bisschen untrainiert, also es hat zum Beispiel eine leichte Unschärfe, also es ist ein bisschen weitsichtiger als das andere Auge, und dann lernt das Gehirn von Kindheit an, nicht richtig diese beiden Bilder zu integrieren. Und da gibt es so einen lustigen Trick, den man das Gehirn dazu zwingen kann, diese beiden Bilder wieder gleichzeitig zu verarbeiten, was nämlich nicht funktioniert, ist irgendwie ein Auge abzukleben, um das andere zu trainieren. Das hilft ja für kurze Zeit so ein bisschen, aber die Effekte davon sind halt nicht langanhaltend. Aber was er machen kann, ist quasi so ein Spiel zu spielen, wo man links und rechts andere Informationen präsentiert, die vereint werden müssen. Dann habe ich mal so ein kleines in der 2D-Engine gebaut, genau, das ist so eine Artetris, und hier haben wir ein Bild links mit dem Spielfeld und ein Bild rechts mit dem fallenden Stein. Und dem Hintergrund ist halt noch so ein hübsches Bild mit ein paar Kontrasten, das hilft einfach, um die beiden Bilder so wieder auf einen Punkt zu kriegen. Man sollte auch, wenn man sowas entwickelt, unbedingt ab und zu mal jemanden testen lassen, der gesunde Augen hat. Ich hatte zuerst irgendwie die Positionen falsch ausgerechnet und habe gemerkt, es macht irgendwas ein komisches Gefühl mit den Augen, und mein Kumpel meinte, ja, das kann die Bilder komplett nicht übereinanderlegen. Und es ist dann wohl so, dass ich anfange, so stark zu schielen, bis die beiden Bilder dann trotzdem passen. Das ist halt dann nicht ganz der gewünschte Trainingseffekt, wenn man sich längere Zeit daran gewöhnt. Ja, also hier sieht man halt diesen Mechanismus, also man kann dieses Spiel halt nur spielen, wenn man es wirklich schafft, diese beiden Bilder richtig aufeinander zu legen. Sonst legt man ständig die Steine an die falsche Stelle und kann man halt dem Tetris nicht gewinnen. Abgesehen davon, dass ein Tetris sowieso nie gewinnt. Ein anderes sehr interessantes Projekt habe ich leider bei mir noch nicht zum Lauf gebracht. Das ist dieser AK- und Display-Server. Das ist so ein Ein-Man-Projekt. Und verrückt der Typ, so eine Art Display-Server, also im Prinzip eine Alternative zu X11 und einen Wayland-Kompositor und sowas, direkt auf den Grafik-Devices zugreift und mit einem starken Fokus auf den Prozess-Isolationen untereinander entwickelt. Und das ist halt so eine Art, ja, irgendwie auch eine Game-Engine. Also man kann das in Lua-Skripten und da seine Fenster rangieren und gleich auch wiederum X-Anwendungen darin starten. Und darauf aufgebaut gibt es diesen VR-Ad desktop-Manager, er nennt sich Safe Spaces. Hier ist so eine kleine Demo. Man sieht das jetzt hier vom Kontrast her nicht so gut, aber man hat da so sein Terminal und mehrere Fenster und kann dann auch, Moment, na, hier kommt das, sich da drin in so einer virtuellen Umgebung umschauen und halt nun virtuell sehr großen Bildschirm vor sich haben. Also das ist quasi das Ziel, wo ich damit hin will. Ja, es gibt, was ich gerade bei LÜV 2D war, das hat so ein 2D-Game-Engine mit Lua, der ich dieses Tetris gebaut habe. Da gibt es auch eine 3D-VR-Version von, also etwas, was von der AP her ein bisschen daran angelehnt ist, hat jetzt leider noch keinen direkten Support für Open-HMD, nur für dieses Open-XR. Aber das nur auf Windows. Also es fehlt noch so ein bisschen Portierungsarbeit. Ja, es gibt noch eine andere Game-Engine, wenn man so ein Projekt bauen will. Dieses Godot ist ja so ein bisschen bekannt als Fire Unity Alternative, hat auch ein Open-HMD-Plugin. Und ja, dieses WebVR ist vielleicht auch ganz interessant, wenn da mal jemand eine Browser-Internsitzung für Open-HMD baut. Aber ja, das ist ja erstmal ausgeklammert. Ja, und das war es soweit von mir. Vielen Dank. Ja, vielen Dank, Störfre. Gibt es Fragen? Dann zeigt auf, ich komme mit dem Mikro zu euch und dann könnt ihr die Fragen stellen. Hast du dieses VR-Headset dabei, also kann man das irgendwie heute ausprobieren? Ja, aber nein. Okay, also ich habe das dabei. Also das Headset ist hier, sowohl diese Adapter und können gerne mal zusammen versuchen, das auszuprobieren. Mir hat es irgendwie aufgehört zu funktionieren wegen dem Problem, was ich dachte, meinte gelöst zu haben. Aber ja, kommt auf den Versuch an. Du hattest gesagt, dass laut Presse dieses Headset einige Probleme hatte. Waren die komplett mit dem Setup, mit dem Handy und hattest du dir jetzt überhaupt nicht oder hat dieses LG 360 Headset immer noch Schwächen in dem Sinne? Ja, also die Auflösung ist jetzt nicht richtig toll, wenn man es mit einer Oculus Rift oder so vergleicht. Das sind irgendwie 720 x 160 Pixel pro Auge. Also man sieht schon ein bisschen die Pixel da drin. Aber ansonsten, ich habe es noch keine komplette VR-Anwendung da drin zum Laufen gebracht, um es die Latents zu beurteilen. Also wenn diese ganzen Korrekturen auch aktiv sind. Ja, aber ich denke, dass die Probleme halt größtenteils auf das Handy zurückzuführen sind. Du hattest am Anfang ja gesagt, dass es jetzt auch nicht wirklich um Eingabegeräte geht dafür, aber bei diesem Arkhan Display Server in der Demo, die du gezeigt hattest, was wird denn dann wirklich als Eingabegeräte verwendet? Einfach nur eine Tastatur? Ja, so Mausen-Tastatur und eben das Headtracking. Okay, und wie macht man das denn am besten? Weil wenn man die Tastatur halt nicht sieht, dann könnte es vielleicht schwer sein zu schreiben. Gibt es da irgendwie eine Möglichkeit für Extended oder Augmented Reality? Hm, ja, wüsste ich jetzt nichts von. Also das wäre interessant, die Augmented Reality nur dafür zu benutzen, um die Tastatur zu sehen. Also ich habe ja tatsächlich noch eine extra Folie. Ich habe beim Erstellen der Folien hier völlig auf AliExpress diese Apparatur gefunden. In zwei Kameras auf einer Schiene, die über USB ein Bild an die fand, kostet zu 70 Dollar. Also damit könnte man sowas basteln, so ein Augmented Reality Kit. So, weitere Fragen? Besteht mit dieser Brille irgendwie eine Möglichkeit, die umzubasteln auf so halbdurchsichtig oder so was, oder ist das komplett zu, das Ding? Ja, ich weiß es ehrlich gesagt nicht. Also kenne ich mich mit dieser LCD. Also meinst du, dass quasi die Panels durchsichtig werden? Ja, das ist glaube ich schwierig. Man kann sich halt noch in der Umgebung ganz gut orientieren, wenn man halt oben und unten runter durchgucken kann. Man ist ja nicht komplett blind für seine Umgebung, aber durchgucken wird glaube ich schwierig. So, ich sehe jetzt sonst keine Fragen mehr hier. Dann nochmal einen lauten Applaus für Störfreie und seinen Vortrag. Bitte, bitte.