Code Monkey home page Code Monkey logo

openvr-opentrack's Introduction

EN RU ← Choose language | Выберите язык

OpenVR OpenTrack

OpenVR / SteamVR driver allowing head tracking with any OpenTrack trackers, for DIY VR headset made of Android smartphone or HDMI display, headset and tracker.

OpenTrack supports the following trackers: FreePie UDP receiver (FreePie IMU for Android), Hatire Arduino or Razor IMU (Arduino + GY-85), Oculus DK1, Aruco (Paper + WebCam) and etc.

youtube-freetrack

Setup

  1. Install SteamVR.
  2. Unpack SteamVR FreeTrack or UDP driver to folder "...\Steam\steamapps\common\SteamVR\drivers" (both are supported in OpenTrack, I recommend using FreeTrack). If necessary, configure the settings in the configuration file "...\Steam\steamapps\common\SteamVR\drivers\opentrack\resources\settings\default.vrsettings".
  3. Download, install and configure OpenTrack (add hot centering key, disable filter, change output interface "freetrack 2.0 Enhanced" or "UDP over network", depending on the selected driver). If you selected UDP, then in the output interface settings you need to set IP "127.0.0.1".
  4. SteamVR starts and in the SteamVR status window click -> Room settings -> Small room -> Calibration -> 170 cm. The SteamVR tutorial can be closed and SteamVR Home is disabled in the SteamVR settings.
  5. Put on HMD and controllers, then centering them if necessary.

If you are using an Android smartphone, you need to use FreePie IMU from the OpenTrack archive to tracking and you can use the "Moonlight" for smartphone and Sunshine or Open-Stream for PC to stream picture from the monitor screen. Also you can use this guide.

If you use the Arduino Razor IMU tracker, you can use this driver, with its SteamVR driver or the Razor IMU SteamVR application.

Configuration file options

Name Description
CrouchPressKey The code of the crouch key, you can change the key in the configuration file by typing the desired name code). It is necessary for communication with other drivers, for example, using Razer Hydra controllers and using this driver you can crouch.
CrouchOffset The height of the crouch at the press of a button.
DistanceBetweenEyes The distance between stereo images, the larger the closer.
DistortionK1, DistortionK2 Lens distortion factors.
ScreenOffsetX Horizontal image shift.
ZoomHeight, ZoomWidth Scaling factors of stereo images.
FOV Degree of field of view. You can zoom in, depending on the VR headset lenses.
ipd Interpupillary distance.
displayFrequency Screen refresh rate.
renderWidth, renderHeight Image rendering resolution for one eye.
windowWidth, windowHeight Height and width of the displayed window.
windowX, windowY Window offset is required for display on other monitors. For example, to display on the second display, which is displayed on the right, you need to specify the value 1920 (provided that the first display has a resolution of 1920 by 1080). The exact data can be viewed using the MultiMonitorTool utility, and also with it you can turn off and turn on the second monitor via a bat file.
DebugMode Debug mode, locked at 30 FPS. After checking, it is recommended to set it to false (disable).

Known Issues

  1. Red screen. You can fix this by selecting the "Headset Window" window.
  2. The keyboard, mouse and gamepad don't work when using the driver on one monitor (The game window should be in focus). On systems with multiple monitors, you can move the application to second monitor and select it, then everything will work.

Download

Version for x86 и x64.
Download

Feedback

r57zone[at]gmail.com

openvr-opentrack's People

Contributors

r57zone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openvr-opentrack's Issues

Freetrack rotation axis

I tried feedin rotation data from Opentrack to SteamVR via OpenVR-OpenTrack and got wrong rotation axis. I.E. pitch makes the view roll etc.
I switched from opentrack to FreePIE and got correct rotations with following code:
freeTrack.yaw = roll; freeTrack.pitch = yaw; freeTrack.roll = -pitch;
where freeTrack is output via freetrack 2.0 and yaw, pitch, roll are aligned as following
dSky-Oculus-XYZ-YPR

I could remap axis with opentrack itself, but it limits freetrack output pitch to +-90 degrees (that is corect for Euler angles) and it results in game yaw being limited to +-90.

Playing on two monitors for games that require active window for controllers to work

How does gaming on two monitors work, when I have to select the headset window (because of the red screen issue), then how can I select the game window on the 2nd monitor without losing the headset view on the 1st monitor ? Beacause you can have only one active window in Windows. This is for games that require to be in focus (active window) in order for controllers to work.

Compositor error when installing

Good morning, everyone,

I have a problem with the installation of the OpenVR drivers.
When I install it with SteamVR Settings.exe and launch SteamVR, it recognizes my phone through OpenTrack, but SteamVR tells me that the compositor is not available. As soon as I uninstall the drive through SteamVR Settings.exe, SteamVR works again but no longer recognizes OpenTrack.

(SteamVR version used: 1.3.22)

Anyone have any idea how to fix this?

Freetrack Input?

Hi! I am using PsMoveService (https://github.com/cboulay/PSMoveService) for a diy headset and would like to get freetrack input (as in OpenVR-OpenTrack gets input from freetrack) with this so I dont have to use riftcat as it is too laggy. Could you add this feature? Thank you!

Error 422 when using OpenTrack driver

Hello, I'm trying to get OpenTrack (bridged with UCR) working with SteamVR, but when I do it just gives me an error right after detecting the headset:
https://i.imgur.com/h1mbkhO.png

If I try to ignore it and open a game, I get this error instead:
https://i.imgur.com/XqjaLCc.png

I have the latest versions of SteamVR (1.11.1), OpenTrack (2.3.11), UCR (0.1.22) and the OpenVR driver. I also tried reinstalling SteamVR. Removing the OpenTrack driver from the SteamVR folder seems to fix it. What's the issue?

EDIT: I fixed this by using SteamVR Settings app. I didn't know I had to since it wasn't included in the last release, but I downloaded it from the previous and it works perfectly now. Thanks a lot for this!

Extended mode impossible?

Hello again. I cannot seem to obtain extended mode anymore. It works before replacing the driver, with the original one. After replacing, I couldn't find a way to get it out of direct mode. Do you know any workaround? It worked before latest SteamVR updates.

PC freezes few seconds upon starting SteamVR

I installed the freetrack driver. Everthing seems to work fine with Opentrack but after a couple of seconds the display freezes and my entire pc goes unresponsive. Im running on windows 10 with i5 procesor and a GTX 1050

OpenTrack+Pimax 4k

Can you please tell me if it's possible to connect the PiMax 4K virtual reality helmet to the steam VR via OpenVR-OpenTrack.

Very strange work || Очень странная работа

Freepipe work only with opentrack 2.3 , on newer version it doesnt. But if you open steam vr tracking will stop
||
Freepipe работает только с opentrack версии 2.3, на версиях новее он просто не заработает . Но если открыть стим вр , то трэкинг остановится.

Performance issue, framerate drops with a gtx 1060 6GB

Hi,
I would first like to thank you for the work you put into this driver. I am experiencing issues where framerate seems to drop and whenever I start moving my head it seems like the lens distortion images shifts to either left or right depending on the direction I turn. I have tested the framerate using Riverturner and it reports 60fps but its not smooth. What could be the problem?
I am using a GTX 1060 6GB, 16GB Ram and Xenon E3-1240 v3 @3.4GHz turbo to 3.9GHz

game window running on HMD

now i don't know if the issue is specific to this driver, but i am having a problem with most steam games where the game window itself (the one thats supposed to run on your computer) starts up on my HMD instead.
I am using a HDMI screen in my headset, and my PC monitor is connected with DVI. I have my pc monitor set as primary, and i configured the driver to display on the secondary screen with the VRsettings tool.
I tried to move the window with windows key + shift + left arrow but it jumps back again immediately

Not working anymore?

Hello and thanks for your work.
It seems that it doesn't work anymore with the newest steamvr beta updates. Do you plan a fix?
I hope I am wrong but can't get tracking to work anymore.
Thank you again

Uninstalling?

I've installed this a while back and it seems to have permanently messed up SteamVR? I can't do anything with SteamVR because of this, any way to get rid of it entirely?

DIY Headset using a HDMI screen + arduino with gyroscope

Hi there,
I was wondering if I was able to make my own headset using your program, the only issues is that i don't know how to use the second screen as VR headset or how to translate the Arduino Gyroscope info to Steam VR, I don't have any code I was wondering if this could be possible.
Cheers!

Game Runs But Doesn't Track

I'm pretty sure that I put everything in the correct spot and made sure that everything runs, but even if I've got tracking running with OpenTrack while the game runs, the game doesn't track my movements. I've got the right output. Another issue that I've tried to fix is the game running upside down and backwards. I've added "scanoutOrigin": "upper-left", to the steamvr.vrsettings file but that doesn't seem to work. Sorry if I'm not asking this is the right place.

Controller data by UDP

Hi.
Is it possible to send x-y-z-yaw-pitch-roll for two controllers over UDP and have them recognised as eg. 2 vive controllers?
Possibly button presses as well

Can't play non-VR games in full screen

When playing non-VR games in virtual screen apps like Virtual Desktop and Bigscreen, it's impossible to play the game in full screen mode, because the moment the game enters full screen the Headset window becomes red, because Windows doesn't support running two apps in full screen on two monitors at the same time. For 2D gaming this isn't that big of a deal as you can run the game in windowed mode and for Tridef there is a registry hack that allows windowed 3D, but for Nvidia 3D Vision DirectX 11 games there is no workaround, it requires full screen in order for 3D to work. Is there anything that can be done to fix this ?
3D Vision has really good 3D support for many games, it's a real shame that it doesn't work on phone VR.

EDIT: Of course it's possible to just use Opentrack and Moonlight and stream PC desktop directly to phone, without SteamVR, but in that case head tracking is tied to mouse which is always more jittery than the SteamVR tracking and there is no virtual screen. Btw, any thoughts on why is tracking so bad when translating Freepie to mouse, while Freepie to SteamVR is fine ?

Compositor not available Error 400

SteamVR home does not launch and it says the headset is connected but also says "Compositor not available" It must be your program because I reinstalled SteamVR and then started it up and it worked but after running your program it went back to giving the error.

Error 422.

Only occurs when OpenTrack driver is installed.

I've tried both the FreeTrack and UDP versions.

SteamVR Version: 1.17.16

OpenVR-OpenTrack Version: 0.9

OpenTrack Version: 2.3.13

Can't make it run

No matter what i do i always get the same error https://i.imgur.com/6bEerX7.png

As soon as i replace null driver i get this error, tried freetrack or only UDP, still the same, if i replace back the original steam null driver it works immediately.
If have checked steam vr stable, beta, the same result.

Don't know what to do.

Question: Does the VRCompositor Window need to be open for the rendering to continue?

Hi, I have a small problem.
Whenever I click on another window than the VRCompositor, it stops rendering new frames but the Head still moves.

I am using the FreeTrack driver, what should I change for this to work?
Currently testing this with Assetto Corsa, when I click on assetto corsa to move the cursor, the rendering catches up with the head rotation but seems like SteamVR doesn't recognize the head movement to generate new frames, kinda like you have a picture stuck to your face but the borders flicker.

EDIT: I will try to record a video of this happening.


THE FIX: When the problem starts to appear, click at least once on the "Headset Monitor" window. You should be good for some time.

Is there a fix? Or should I be using a different driver?

PS: Sometimes the whole PC freezes when I click on either the VRCompositor window or the game window.
Thanks,
Zinix

SteamVR crashes upon start due to compositor error

When I start SteamVR, it fails with the error code "VRInitError_IPC_CompositorConnectFailed: 'Shared IPC Compositor Connect Failed (306)'". I am using the Razer Hydra SteamVR driver for controllers and Radeon ReLive to stream video to an Oculus Go. I do not know if any of these are the cause of the issue. The only way to prevent the crash that I have found is to remove the opentrack folder from the drivers folder entirely.

Bug Report: No headset window on taskbar (Freetrack)

First time running it, it ran as expected and was fully functional. Second day, I boot it up and I get the headset window but it doesnt appear on the taskbar and as soon as I click or interact with anything the window disappears into the void.

Image Distortion

Hi is there a way to implement image distortion with your drivers?

Linux support

Does this support Linux, and if not, why (and when)

Nothing works

The SteamVR Settings app doesnt do anything, just complains that steam and steamvr is open, while it isnt, it is somehow tied to null driver not being in drivers folder, it doesnt matter if steam and steamvr is open, it succeeds doing nothing if null driver is present in the drivers folder, it fails and complains that steam and steamvr is open if there isnt a null driver in the drivers folder

Feature request: flip screen horizontally option

The code works great for standard builds that have the screen directly in front of the lenses, but for AR setups with the screen above the eyes and reflecting off of a surface, the image is flipped horizontally.

Additional image manipulation settings would be helpful and contribute additional functionality.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.