The online racing simulator
Pimax VR IPD stuck and weird resolution [FIXED]
Hello.
I just got my pimax 5k home, and LFS is one of my fav sims for drifting.

However it seems IPD is stuck at 63, which gives me a headache. Also the resolution is is weird too.
Enabling what they call "parallel projections" seems to help a bit, though I still seem to get a headache after a few minutes.
PP is also more resource intensive, but I'm not sure how much work it is to fix that the game requires it.

My steamvr is set to 4052x1919. And IPD at 64.4

LFS OVR DEBUG
LFSVR_Open
ProductName: Vive MV
Manufacturer: HTC
LFSVR_QueryHMD
RT size: 8192 x 1940
GetProjectionRaw
eye L: Left -5.756 Right 0.945 Top -1.587 Bottom 1.587
GetProjectionMatrix
0.298 0.000 -0.718 0.000
0.000 0.630 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
GetProjectionRaw
eye R: Left -0.945 Right 5.756 Top -1.587 Bottom 1.587
GetProjectionMatrix
0.298 0.000 0.718 0.000
0.000 0.630 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
IPD: 0.063
LFSVR_AcceptSharedTexture
LFSVR_AcceptSharedTexture
size: 8192 x 1940
LFSVR_CreateTextures
size: 8192 x 1940
LFSVR_Close

from the log file in the oddysey thread. I did change ipd while ingame.
Quote from THE WIZARD DK :Hej emil. jeg ved ikke hvad der skyldes dit uheld med LFS. men jeg ville høre om du synes LFS menuerne er korrekt oversat til VR da jeg er oversætter for LFS men har ikke selv VR. så hvis du ser noget i den menu der skal ændres lad mig det vide. også er det vel et sted lidt for dårligt at du pt stadig ser ud til ikke at have fået hjælp til dit problem.Håber det lykkedes at få det op at køre. Wiz

Hej wiz
Må desværre indrømme jeg sætter mine programmer til Engelsk så jeg ved ikke hvordan oversættelsen er Smile
Scawen finder vel tråden på et tidspunkt.
Hi emiljensen2

I received my Pimax 8k today and hoped to use it exclusively with LFS but have the same issue as you, did you get it resolved or find a workaround?

Thanks
I'm afraid I haven't found a fix, PP doesn't resolve it as mentioned. I believe I've tried both beta and non-beta steamvr.
Can't remember if I tried with the newer firmwares for the pimax.
I have just posed this question to the LFS team citing this post so hopefully they will help out. I don't think its PP as my understanding is it swaps the left and right images over. Adjusting the IPD on the bottom of the headset works but it cannot go low enough to fix the problem, maybe because the FOV is so great!
Hi Gavin and emiljensen2, please could you try this test?


EDIT: Please see the new test in a later post:
https://www.lfs.net/forum/post/1946022#post1946022



It will not correct anything, but I would like to see the results in two different modes to help me understand what's going on.

1) Install the test dll attached to this post. It's actually the same one as posted in the Odyssey thread on 24 February.
2) Enable Parallel Projection, enter VR mode, exit LFS and rename the log file LFS\ovr_deb.log
3) Disable Parallel Projection, enter VR mode, exit LFS and rename the log file LFS\ovr_deb.log

Then attach the two log files (or paste their contents) into a post here so I can have a closer look.

Thanks.
Attached files
LFSOpenVR_TEST_20190305.zip - 317.1 KB - 428 views
Hi,
Thanks for the speedy reply, I will give this a go in a couple of hours and post the results.
Here is the first without Parallel Projection

LFS OVR DEBUG
LFSVR_Open
ProductName: Pimax 8K
Manufacturer: Pimax VR, Inc.
LFSVR_QueryHMD
RT size: 4910 x 1558
GetProjectionRaw
eye L: Left -2.769 Right 1.346 Top -1.306 Bottom 1.306
GetProjectionMatrix
0.486 0.000 -0.346 0.000
0.000 0.766 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
GetProjectionRaw
eye R: Left -1.346 Right 2.769 Top -1.306 Bottom 1.306
GetProjectionMatrix
0.486 0.000 0.346 0.000
0.000 0.766 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
IPD: 0.063
LFSVR_AcceptSharedTexture
LFSVR_AcceptSharedTexture
size: 4910 x 1558
LFSVR_CreateTextures
size: 4910 x 1558
LFSVR_Close
And now with PP enabled
LFS OVR DEBUG
LFSVR_Open
ProductName: Pimax 8K
Manufacturer: Pimax VR, Inc.
LFSVR_QueryHMD
RT size: 7996 x 1952
GetProjectionRaw
eye L: Left -5.756 Right 0.945 Top -1.636 Bottom 1.636
GetProjectionMatrix
0.298 0.000 -0.718 0.000
0.000 0.611 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
GetProjectionRaw
eye R: Left -0.945 Right 5.756 Top -1.636 Bottom 1.636
GetProjectionMatrix
0.298 0.000 0.718 0.000
0.000 0.611 0.000 0.000
0.000 0.000 -1.001 -1.001
0.000 0.000 -1.000 0.000
IPD: 0.063
LFSVR_AcceptSharedTexture
LFSVR_AcceptSharedTexture
size: 7996 x 1952
LFSVR_CreateTextures
size: 7996 x 1952
LFSVR_Close
Needed to restart SteamVR for it to work, didn't know that before!

After doing this I think its about perfect for me, how about you emiljensen2?
Thanks for the test and logs.

Quote from Gavin Kay :Needed to restart SteamVR for it to work, didn't know that before!

After doing this I think its about perfect for me, how about you emiljensen2?

OK, please can we make this very clear? Are you saying it's OK now, if:

- Use Parallel Projection
- Use the updated LFS DLL
- Restart SteamVR after switching on Parallel Projection?

I found a Pimax forum thread talking about how it works, with diagrams. It looks like to use the Pimax in native mode (not PP) I would need to call another function: IVRSystem::GetEyeToHeadTransform
https://forum.pimaxvr.com/t/some-thoughts-on-the-ipd-discrepancy/14754

I think the native mode would be a more efficient render with a cleaner resulting image and more chance of achieving the correct frame rate because a smaller render target can be used. But definitely needs an LFS update (not just the DLL) as it is only coded for parallel projections at the moment as that's how all headsets were before.

A couple of questions for you:

1) Is the Parallel Projection option something you set in the Pimax drivers, or in SteamVR?
2) What is happening with other games? I'm guessing PP must be enabled for most of them at this stage.
Yes, I can confirm its working fine.

Running with your updated DLLs I Switched ON the option for Compatible with Parallel Projections and then closed SteamVR.

When launching LFS Steam VR starts up and all is fine. I guess as I only really have this that needs PP switched on I was disabling it to go back to the other games before restarting the PC or Steam.

I do agree that the image looks cleaner without PP but I only have one eye to go with on that and from what I have read elsewhere it will be much more efficient without PP.
https://forum.pimaxvr.com/t/psa-parallel-projection-makes-things-blurry-on-5k-8k-dont-use-if-the-game-doesnt-require-it/11564
Saying that though, I have my one running at maximum quality for everything and still get 80fps easily although I do notice artifacts in the sky, black polygon flickering now and again.

Parallel Projection is set in the Pimax software, PiTool under the Settings->Brainwarp

I haven't found anything else that needs PP enabled yet but they have a list here
https://docs.google.com/spreadsheets/d/11ljKyF0eMgY3qqZWjVVBvI0brfv9IxocXjroYtJyTlY/edit#gid=0

If you are in the Kent area (Chatham) of the UK feel free to drop me a PM and do a bit of testing.



Thanks
I should be able to release a new test this afternoon with a test version of support for native (non-PP) mode.
That would be great, I should be able to try it about 8pm tonight.
Side question what hardware do you run and how many fps in lfs? The 8k looks crazy on the paper (except for the lower refresh rate) and the 5k not bad either.
I run on an i7 4790 with a 1080 (my 1080ti doesn't fit in the case). Using the Pimax brainwarp you can restrict the fps to 60 but I have left it at the default of 80. All settings are maxed both in the nVidia control panel, Pimax PiTool, SteamVR and LFS and I don't get any drops or stuttering at all. Even with PP turned on I there are no issues, it really is a testament to the programming that they can get such good visual quality with so little processing.

I plan to run it on a 770gtx so we will see how that gets on later this week, I am not expecting much but I do have a spare 1080ti as well as a 1060 to try if needed.
OK, here is a test patch which I hope will work correctly with Pimax in native mode (with PP disabled).

Please give it a go and let me know how it goes.

I'd also like to know if your IPD adjustments are taking effect in LFS.
You should see a message at the top left when you adjust the IPD.

I'd also like to see the contents of a log file (LFS\ovr_deb.log) if it works or doesn't work.


Installation

A FULL version of LFS 0.6T must already be installed

To install the PATCH:

1) Move or save the patch into your main LFS folder
2) Double click the patch to extract it to that folder
3) When you see "Confirm File Replace" select "Yes to All"
4) Now you can start LFS in the normal way

NOTE: You can see if the patch is correctly installed when you run
the program (LFS.exe). At the bottom of the entry screen: 0.6T2


Changes from 0.6T to 0.6T2

VR:

Updated to the latest version of OpenVR (1.2.10)
Pimax headsets can now be used in native mode (rotated eye views)
FIX: An OpenVR error caused Samsung Odyssey+ eye levels to be wrong
Some info is logged to a text file ovr_deb.log in OpenVR mode

Interface:

Faster saving of screenshots when you press CTRL+S
New key CTRL+P to copy the LFS window to clipboard excluding border
FIX: Some narrow unicode characters corrupted by an incorrect width
FIX: Host options could state "no bans" before clicking "edit bans"
FIX: Character dialog could be messed up when selecting languages

Misc:

FIX: Crash 0xc0000005 at offset 0x00159069 loading corrupted object
FIX: Attributes no longer copied when opening file by command line


Download:

EDIT: updated the download link to a version 'V2' using the same LFS.exe
but with an updated LFSOpenVR.dll to fix the Pimax IPD reporting issue.
https://www.lfs.net/file_lfs.php?name=LFS_PATCH_6T_TO_6T2_V2.exe
Hi,

Patch applied, game is working great with much better image quality, log file as follows

LFS OVR 2019_03_06
LFSVR_Open
ProductName: Pimax 8K
Manufacturer: Pimax VR, Inc.
LFSVR_QueryHMD
RT size: 8192 x 2600
Values from GetProjectionRaw
eye L: Left -2.769 Right 1.346 Top -1.306 Bottom 1.306
Values extracted from GetProjectionMatrix
eye L: Left -2.769 Right 1.346 Top -1.306 Bottom 1.306
GetEyeToHeadTransform
0.985 0.000 0.174 -0.031
0.000 1.000 0.000 0.000
-0.174 0.000 0.985 0.000
Values from GetProjectionRaw
eye R: Left -1.346 Right 2.769 Top -1.306 Bottom 1.306
Values extracted from GetProjectionMatrix
eye R: Left -1.346 Right 2.769 Top -1.306 Bottom 1.306
GetEyeToHeadTransform
0.985 -0.000 -0.174 0.031
0.000 1.000 -0.000 0.000
0.174 0.000 0.985 0.000
IPD: 0.063
LFSVR_AcceptSharedTexture(NULL)
LFSVR_AcceptSharedTexture
size: 8192 x 2600
LFSVR_CreateTextures
size: 8192 x 2600
LFSVR_Close



The IPD doesn't change when moving the dial on the headset.

Thanks
Thanks! Great to know that it does the rotated views correctly.

About the IPD, please could you try with the attached DLL when convenient?

I don't know why the Pimax drivers aren't sending an 'event' when the IPD changes. So I'm trying a different way in this DLL. It checks the head to eye matrix every frame and generates its own event if the IPD changes.


I see you edited your post, where you had mentioned something about the IPD popup overlay. I guess you found the solution. I don't think LFS could affect that type of overlay in any way.


Thanks for the tests! Smile
Attached files
LFSOpenVR_DLL_2019_03_06.zip - 64.4 KB - 409 views
The new DLL works and shows the IPD at the top left now.

Still not sure about my issue I removed on the last post - I did get the issue first time but thought I'd better try again with PP enabled. I run it as a double check without PP for the second time, ready to get a baseline, enable and try again but it worked so I removed the problem. It has been fine since then so it might have just been my eyes!

No problem with the tests, thanks for the great game.
While I have you here, can I be cheeky and ask the possibility of including 5.1/4.1 surround sound at some point? It has been asked about by others but not that often, my F1 car has 4 speakers and a sub but LFS only outputs stereo sound, I only found out about this when all had been installed.
Sorry for my lack of presence. I had some issues where my pimax would stop working, so I had to have someone help me which took a bit of time with the time differences.

I can confirm it works without PP, and IPD correctly reports in VR now. Great work, this is why LFS stays quite good after so many years.

Quote from loopingz :Side question what hardware do you run and how many fps in lfs? The 8k looks crazy on the paper (except for the lower refresh rate) and the 5k not bad either.

Heh afraid I'm using the 5k+ on a 2080ti, so lfs isn't very demanding.
Thanks for the feedback! Well I run a 1080 + decent cpu. So I guess it is ok for pimax 8k but maybe only for lfs...
Quote from loopingz :Thanks for the feedback! Well I run a 1080 + decent cpu. So I guess it is ok for pimax 8k but maybe only for lfs...

I haven't had any issues with fps on anything yet but I haven't tried anything really demanding - NoLimits2 demo is probably the most taxing but using brainwarp it runs very smoothly.
1

Pimax VR IPD stuck and weird resolution [FIXED]
(49 posts, started )
FGED GREDG RDFGDR GSFDG