PiTools - pvr_getHmdInfo - Resolution Problem on Pimax 4K

Hi guys, I need some help!
I`m using PiTools 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… :open_mouth:

The return pvr_getHmdInfo info:

VendorId:1155 ProductId:33 Manufacturer:Pimax VR, Inc. ProductName:Pimax 4K SerialNumber:10071173003052 FirmwareMinor:0 FirmwareMajor:0 ResolutionWidth:206932 ResolutionHeight:127296

The original issue started within the PimaxXR on GitHub, but given the problem is the PiTool driver response, I created this topic.

Original PimaxXR GitHub Issue

Can someone fix this issue?


Tbh I am not sure but you may need to look into which pitool version works best.

@Playa has his own pimax software repo.

Can you not set lower resolution/ss?

Can ou post your system specs include 4k firmware?

Have you tried using Pi render at less than 1.0x ie 0.5x?

@mbucchia is the author of pimaxXR runtime and may have ideas.

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.

1 Like

I`m trying to test backward every PiTools with every PimaxXR to see if something change.
Til PiTools and PimaxXR 0.2.4 still the same problem happens.

EDIT: well, 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.

1 Like

Tested back until PimaxXR 0.3.0 and PiTools 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.


I don’t know anything about the 4K, and I don’t think anyone has used it with PimaxXR before.

Does it not have 10 deg canting on each eye like the 5K & 8K?

Why is it that Parallel Projection always seems to be enabled with that headset?


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 :slight_smile:

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?

1 Like

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.

1 Like

@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?

1 Like

Very much agreed. As for OpenComposite; I can’t see that being the issue.

What firmware version are you using on the p4k?

My Pimax 4k is running the firmware.

1 Like

I am not sure if this will fix your issue but pimax did release 1 final new firmware that is newer than 265 in the linked post below.

The @Playa link there is a direct link for the final p4k firmware.

That is definitely not involved in the issue.
The resolution values were sent directly from pi_server.

You did say that you turned off Vive compatability, I wonder if that was the reason.


No need to test. The fix I gave you completely ignore that steamvr_use_native_fov value anyway.

1 Like

@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
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?

1 Like

@PimaxQuorra if you need me to test anything, just ask, I volunteer myself to help you to maintain Pimax 4K support. I can code C++ too, if needed.


Checking with the tech specialist and software devs.

Roll back to previous Pitool version is inconvenient, but this might be the solution to address this issue.


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.