Hi guys, I need some help!
I`m using PiTools 1.0.1.284 and a Pimax 4K HMD.
Currently I want to improve my frame rate on DCS and MFSF with PimaxXR, an OpenXR app for Pimax HMDs but the latest PiTools driver is returning some incredibly huge resolution through the pvr_getHmdInfo function.
This makes any game impossible to run with OpenXR becauses it crashes my RTX 3070 Ti trying to allocate infinite VRAM with such impossible resolution…
We were just discussing this with OP (see the link they posted), and regardless of settings, it’s not reasonable for PVR to be returning this:
ResolutionWidth:206932 ResolutionHeight:127296
It really looks like a PVR issue, hence OP referring specifically to the PVR SDK API that I pointed out.
Asking people to roll back pitool is… inconvenient. Because of the existing issues in one version or another, it is not possible for me to guarantee compatibility with older versions. My site now says that PimaxXR only officially supported with 284 and higher.
I`m trying to test backward every PiTools with every PimaxXR to see if something change.
Til PiTools 1.0.1.277 and PimaxXR 0.2.4 still the same problem happens.
EDIT: well, 1.0.1.277 and PimaxXR 0.2.4 started to work (with a narrowed screen) after I`ve turned off the hide mask and vale index compatibility on the PiTools options, turned them back on after another try and the games now works great. This could be a configuration file problem within the PiTools driver.
EDIT 2: I did not change any configuration while uninstalling and installing other drivers and app versions during this process.
EDIT 3: now the returning function give the PimaxXR 58 degrees of FOV, tha’s why the narrow vision…
I`ll try to return to the newer versions of both software to test it again.
Tested back until PimaxXR 0.3.0 and PiTools 1.0.1.284 and now it’s working with fov problems!
I’ve tried to turn everything on and off to change something, but it only loads DCS with 58.3 degrees of horizontal FOV. =/
What’s going on with the OpenVR/XR api from the driver?
EDIT: without the OpenXR support, each SteamVR game is working correctly.
Ok so I just Googled the 4K, and it doesn’t look like it has canted displays. Meanwhile, Pitool seems to advertise steamvr_use_native_fov = 0, which is what Pitool uses to enable Parallel Projection on the 5K / 8K.
So it looks like PimaxXR removes 20 deg of canting which is what is killing your FOV. I can make PimaxXR ignore steamvr_use_native_fov when it detects a 4K to solve this.
That bit does not however explain the resolution issue from earlier. Looks completely unrelated, but really seeing Pitool giving us strange values for pvr_getHmdInfo() and now steamvr_use_native_fov, I wonder what will be next
I am also curious if you can use pimax_cli · mbucchia/Pimax-OpenXR Wiki · GitHub to force the value of steamvr_use_native_fov to 1 (which IMO should be what Pitool needs to always returns for a non-canted headset).
I do agree however it is possibly an issue with the p4k being eol for so long.
Maybe @PimaxQuorra@PimaxUSA & @hammerhead_gal can check with the Pitool/Client team after CNY. Perhaps they can either fix this long term for p1:Series hmds or Release a legacy version driver?
No canting on the p4k. It is a single 3840×2160p Sharp panel rainbow rgb @ 60hz. It accepts 1080p & 1440p signals and upscales to 2160p. Also features Aspheric 53mm lenses. No mechanical ipd adjustment; only software ipd.
PP should not be on. @XuCrUtZ if you can turn off PP that option should not be present/available.
@Heliosurge On the PiTools that option doesn’t even exists for me to check or uncheck (parallel reprojection)… @mbucchia I`ve never used this cli before, I could test it later today, but the fix you did worked to render exactly the image I was having before, thanks!
The fix made by mbucchia is a workaround the PiTools that is sending false information about the HMD. Still we need help to make it right to the next release build. Or it could be the OpenXR dll from OpenComposite that is doing that?
@Heliosurge thanks for the firmware suggestion, but it isn’t working for my HMD.
The firmware is installed and detected by the DFU.exe window, but not by the PiTool 1.0.1.284.
It remains on error 10510 and the diagnosis fail to do anything…
On thing that I’ve noticed: after the 999 firmaware, the DFU.exe does not detect the name of the HMD anymore, not even after going back to the 265 firmware, it should be Pimax 4K in there:
Even with this problem, using the 265 firmware the PiTools starts to recognize my Pimax 4K again and I can use it normally…
EDIT: for anyone with trouble to update the firmware, on Windows 11 you have to temporally disable the Core Isolation → Memory Integrity check, after the flash operation you can activate it again.
EDIT 2: the DFU.exe does not update after the HMD reboot, after restarting the DFU.exe with the 265 firmware, it shows back the Pimax 4K name!
Hmm okay thank you. Maybe @PimaxQuorra can pass that along to the team and see if they can maybe look into releasing maybe a revision to correct that firmware?
Can you also check with them if there is a way to programmatically query the pitool version from PVR SDK.
Supporting multiple versions of pitool is honestly beyond inconvenient to developers, because there are workarounds specific to bugs in certain versions of pitool.
Best example is the issue with world-locked quad layers that was introduced in pitool 283 and that I reported in October to @hammerhead_gal. A workaround to make it work with 283 and above breaks compatibility with 281 and below. No workaround makes it not work with 283 and above. Telling users to use 281 and below exposes another bug that was thankfully patched in 283.
I have had to answer questions about these two bugs in 281 and 283 maybe 20-40 times on my GitHub/Discord in the past year.
Only other way I can think of to deal with this is to now ship 2 versions of my program, one for pitool 283 and above, and the other version for older pitool. This isn’t something I really have time to do.