cancel
Showing results for 
Search instead for 
Did you mean: 

BUG: ovr_GetRenderDesc always returns 'default' IPD (64mm) until slider is adjusted

Scawen
Heroic Explorer
I've just implemented support for live IPD adjustment.  Testing with CV1.

As suggested, I am calling ovr_GetRenderDesc every frame.  In all cases from the start, regardless of the the slider's position, the values returned indicate an IPD of 64mm (32mm each way).

When the slider is adjusted at some point, the reported offsets go to the true value.
30 REPLIES 30

tomf
Explorer
You probably have an existing profile from the DK2 days, right? If there's a profile, we use that first, and it's only if you move the IAD slider that we override with the value from there. This helps people with very wide or narrow IPDs beyond the range of the slider - they can set the profile to their actual IPD, and that will control the inter-camera-distance in-game. The fact that the physical IAD doesn't quite get there is not that bad - the really important one is that ICD==IPD.

You can either delete the profile, or change it to be your correct IPD. Profiles live in C:\User\yourname\AppData\Local\Oculus\ProfileDB.json as before. Sorry there's currently no nice-looking UI on this feature.

Scawen
Heroic Explorer
Interesting.  Thanks for the reply, I'll try that tomorrow.

Anonymous
Not applicable
I tried adjusting my existing profile from DK2 to 0.061, but Unity still reports back the default to me so not sure it is working:

IAD changed to 64.0mm

Not sure the profile method you described is working, but it sounds promising if you are going to allow fine tuning IPD in future through profiles.

Scawen
Heroic Explorer
Thanks for the test, @ccs
I didn't get round to this today as I've been on controllers all day.  Did think about it a little and the current implementation is problematic (even if not bugged).  I think, for the narrow / wide IPD people Tom mentioned, an IPD override option (no / yes + number) is needed (in the interface).  It's probably not best to use leftover DK2 settings, as it's going to be confusing.
By the way, @tomf - a lot of DK2 users want an IPD setting.  I'll link you to the thread.  Maybe this override option could be the way to give DK2 users what they need.
https://forums.oculus.com/community/discussion/33431


Scawen
Heroic Explorer
@tomf I confirm the result found by @ccs
This bug still exists even if you delete the ProfileDB.json

How to reproduce:

- Delete ProfileDB.json
- Set headset slider to a narrow or wide IPD
- Run a VR program
- IPD is reported (by ovr_GetRenderDesc) as 64mm regardless of slider position
- Adjust slider slightly and ovr_GetRenderDesc now reports the expected value


galopin
Heroic Explorer
I tried the deletion of profiledb.json after the problem happened, it worked for me, but i had to kill the ovr server first and restart it

Scawen
Heroic Explorer
Somehow it doesn't work for me.  I am starting Live for Speed from a shortcut (sideloading if you want to call it that).  I don't know if that makes a difference.  Maybe it only works properly if started from Oculus Home?

No matter what I set the slider to, when LFS is started the IPD is reported as 64, until I move the slider.  We have a public test patch that shows this.  The IPD reported by the Rift library is shown at the top right in View Options.

[I deleted that profiledb.json days ago and my computer starts fresh every day]

Test patch: https://www.lfs.net/forum/thread/89352

(To enter Rift mode - Options... View... 3D)

EDIT: If this changed in 1.3.1 I wouldn't know.  I've blocked Oculus from connecting to the internet as I can't risk getting a bugged update, so close to release and without any possibility of rolling back.  @tomf ?

kojack
MVP
MVP
I've just run into this as well. I've tried sdk 1.3 and 1.4 on a CV1 using my own C++ test program.
I deleted profiledb.json and rebooted, but ovr_GetRenderDesc still always returns 0.032 unless I move the slider while the program is running.

There's a thread on reddit talking about this too.
https://www.reddit.com/r/oculus/comments/4m8n7q/cv1_lens_space_adjust_is_not_the_ipd_setting/



galopin
Heroic Explorer
The json file is in fact important, after you delete it, redo the oculus setup process ( the long and annoying one ) to generate a new json.

Without it, you can find in the log that the app fail at opening the file. And that is why the default value.