{"id":1033,"date":"2021-02-04T12:58:37","date_gmt":"2021-02-04T01:58:37","guid":{"rendered":"https:\/\/noraisin.net\/diary\/?p=1033"},"modified":"2021-08-13T03:55:08","modified_gmt":"2021-08-12T16:55:08","slug":"rift-cv1-testing-steamvr","status":"publish","type":"post","link":"https:\/\/noraisin.net\/diary\/?p=1033","title":{"rendered":"Rift CV1 &#8211; Testing SteamVR"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Update:<\/h2>\n\n\n\n<p><strong>This post documented an older method of building SteamVR-OpenHMD. I moved them to a page <a href=\"https:\/\/noraisin.net\/diary\/?page_id=1048\">here<\/a><\/strong>. That version will be kept up to date for any future changes, so go there.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><s>I&#8217;ve had a few people ask how to test my OpenHMD development branch of Rift CV1 positional tracking in SteamVR. Here&#8217;s what I do:<\/s><br><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><s>Make sure Steam + SteamVR are already installed.<\/s><\/li><li><s>Clone the SteamVR-OpenHMD repository:<\/s><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><s>git clone --recursive https:\/\/github.com\/ChristophHaag\/SteamVR-OpenHMD.git<\/s><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><s>Switch the internal copy of OpenHMD to the right branch:<\/s><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><s>cd subprojects\/openhmd\ngit remote add thaytan-github https:\/\/github.com\/thaytan\/OpenHMD.git\ngit fetch thaytan-github\ngit checkout -b rift-kalman-filter thaytan-github\/rift-kalman-filter\ncd ..\/..\/<\/s><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>Use <code>meson<\/code> to build and register the SteamVR-OpenHMD binaries. You may need t<s>o install <code>meson<\/code> first (see below):<\/s><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><s>meson -Dbuildtype=release build\nninja -C build\n.\/install_files_to_build.sh\n.\/register.sh<\/s><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><s>It is important to configure in release mode, as the kalman filtering code is generally too slow for real-time in debug mode (it has to run 2000 times per second)<\/s><\/li><li><s>Make sure your USB devices are accessible to your user account by configuring udev. See the OpenHMD guide here: <a href=\"https:\/\/github.com\/OpenHMD\/OpenHMD\/wiki\/Udev-rules-list\">https:\/\/github.com\/OpenHMD\/OpenHMD\/wiki\/Udev-rules-list<\/a><\/s><\/li><li><s>Please note &#8211; only Rift sensors on USB 3.0 ports will work right now. Supporting cameras on USB 2.0 requires someone implementing JPEG format streaming and decoding.<\/s><\/li><li><s>It can be helpful to test OpenHMD is working by running the simple example. Check that it&#8217;s finding camera sensors at startup, and that the position seems to change when you move the headset:<\/s><\/li><\/ul>\n\n\n\n<pre class=\"wp-block-preformatted\"><s>.\/build\/subprojects\/openhmd\/openhmd_simple_example<\/s><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li><s>Calibrate your expectations for how well tracking is working right now! Hint: It&#8217;s very experimental \ud83d\ude42<\/s><\/li><li><s>Start SteamVR. Hopefully it should detect your headset and the light(s) on your Rift Sensor(s) should power on.<\/s><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Meson<\/h2>\n\n\n\n<p>I prefer the Meson build system here. There&#8217;s also a <code>cmake<\/code> build for SteamVR-OpenHMD you can use instead, but I haven&#8217;t tested it in a while and it sometimes breaks as I work on my development branch.<\/p>\n\n\n\n<p>If you need to install <code>meson<\/code>, there are instructions here &#8211; <a href=\"https:\/\/mesonbuild.com\/Getting-meson.html \">https:\/\/mesonbuild.com\/Getting-meson.html<\/a> summarising the various methods.<\/p>\n\n\n\n<p>I use a copy in my home directory, but you need to make sure <code>~\/.local\/bin<\/code> is in your <code>PATH<\/code><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip3 install --user meson<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Update: This post documented an older method of building SteamVR-OpenHMD. I moved them to a page here. That version will be kept up to date for any future changes, so go there. I&#8217;ve had a few people ask how to test my OpenHMD development branch of Rift CV1 positional tracking in SteamVR. Here&#8217;s what I &hellip; <a href=\"https:\/\/noraisin.net\/diary\/?p=1033\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Rift CV1 &#8211; Testing SteamVR&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1033","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/posts\/1033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1033"}],"version-history":[{"count":7,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/posts\/1033\/revisions"}],"predecessor-version":[{"id":1051,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=\/wp\/v2\/posts\/1033\/revisions\/1051"}],"wp:attachment":[{"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noraisin.net\/diary\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}