Review
tl;dr A new software update to the Pimax Crystal is arriving in September, and it delivers on what Pimax has been promising.
System: 11900kf (OC to 5.1 GHz), 64gb ddr4 3600Mhz, 990Pro SSDs, MSI RTX 4090
I have been testing the pre-release version of the upcoming firmware beta that adds eye tracking functionality, along with auto-IPD, wearing location reminder, and lighthouse tracking mode, along with firmware updates for the controllers that dramatically improve tracking performance.
Software Update
In the middle of September, a new version of Pimax Play will be available for download. This will be version 1.15.01.01 or newer.
Firmware Update
The headset, once turned on, will be subject to firmware upgrade from 1.3.0_au0807 to 1.3.0_au0829 (or newer).
Remember to plug the side USB-C port into the PC as per the instructions. I would recommend that people are asked to set their “screen off time” to at least 30mins until after the update completes.
For me, after starting the firmware upgrade it took 187 seconds the update widget returns a prompt to “Continue”, if you press the button, the update proceeds, after another 183 seconds it completed successfully. 6m 10sec total.
Pimax Play will most likely shutdown the headset after the firmware update is reported to have completed successfully. It’s prudent to reboot your PC.
Upon reboot, in Pimax Play, in the General tab you’ll be alerted to a controller update from V0.8.21 to V0.8.22 (or newer). I turned on the controllers and the update went smoothly and took around 2mins.
In Pimax Play device settings, new features were now available:
“Lighthouse” mode, still awaiting my faceplate, so cannot test yet.
“Eye Tracking”
“Auto IPD Adjustment”
“Wearing Location Reminder”
Also note that the PC/Standalone mode is now unlocked with this update.
“Eye Tracking”
There’s a calibration utility that is activated by a button next to the “eye tracking” selection that takes you into a calibration utility. Ensure that you have one of your controllers with you, as you’ll need the A and B buttons available. When you’re in the utility you can already see that your eyes are being tracked, as there are a number of targets that look like radio buttons that you can look at, and the radio-buttons light up as you look at them. Hitting A on the controller will take you into a calibration utility that makes you watch a circle as it moves in cardinal directions around with screen with a black background, and then in diagonals against a white background. Once completed, the Calibration is saved for good, and can be updated at any time. That’s the only calibration required.
I’ve been testing the eye tracking implementation over the past few days, and I have to say, it’s probably the best functioning eye-tracking system I’ve ever used. Its accuracy and repeatability is beyond what is actually required to perform Dynamic Foveated rendering – so I’m sure there will be additional applications of this technology in the future.
“Wearing Location Reminder”
I took the headset off, and put it back on again. While looking at the default ‘moon surface’ in the Pimax Crystal a box pops up that tells you how to move your headset around on your face to achieve the optimum position for clarity, along with simple indicators. The box disappears once you’ve got your pupils where they need to be compared to the lenses. You can then use the dial-handle on the back of the head-strap to firm-up the HMD against you head.
It’s actually really well done, and uses your pupils’ averaged up-down position to calibrate as you look at the indicator in HMD.
“Auto IPD Adjustment”
After the Wearing Location Reminder box disappeared, a new box appears with a segmented green cross-hair. You’re reminded to focus your gaze at the middle of the crosshair, while the Auto-IPD activates and the motors whirred until my measured IPD was dialed in (65mm). This happens every time you put the HMD on – on each time you’ll hear the motors whirr for a shorter and shorter time.
You can go into the Device Settings of Pimax Play at any time and see the IPD measurement being used. If you’re the only person using the HMD, you can turn off Auto-IPD and just sent the value manually once.
"Stand alone" mode.
Standalone permits you to unplug your cable from your PC and use the headset more like a traditional standalone HMD. Standalone mode as its own menu, not dissimilar, but better looking than the Meta-Quest’s. A number of games are available, but this is not why I personally purchased the Crystal.
Hand Controller improvements.
The tracking on the hand controllers had definitely improved. You can now flail around in Beat Saber with wild abandon, and the controller behavior is now smooth and maintains tracking. The controllers also do not twitch anymore, so they’d be useable with first person shooters.
Battery life improvements.
As long as you’re sure to actually turn the headset off, then the Headset charges through the cable attaching the HMD to the powered USB hub. You typically run for 6 hours while plugged into the PC, turn it off for the night, and by the next morning the battery is fully charged again (as long as you leave the USB-hub powered). This means that the second battery that you receive with the Crystal is only really needed if your primary use is standalone mode. Hot swapping can also be performed when plugged in, without having to take the HMD off (if you’re prepared), so you could run the headset continually indefinitely, if that was your thing.
Digital Combat Simulator
I switched the Crystal into 120Hz mode (also greatly improved) using device settings in Pimax Play. The headset reboots when you switch between
I took the Crystal off and started the process for modifying OpenXR, PimaxXR, and some new software to be able to use eye tracking in DCS.
I followed the Quad Views setup (post OpenXR/PimaxXR add on the lets you run Dynamic Foveated Rendering in DCS):
Home · mbucchia/Quad-Views-Foveated Wiki · GitHub
including running OpenXR Toolkit in Safe-mode and going into the VR menu (OXRT in HMD) and resetting everything to default, then turn off safe-mode. It’s recommended to follow every instruction on that page.
Part of the Quad-views setup that isn’t necessary, but recommended, is that you create your own settings file for Quad-views in DCS. This is done by creating a folder called
Quad-Views-Foveated
In
C:\Users<YOUR_USER>\AppData\Local\
Or
%LocalAppData%
In the folder you’ve just created you create a text file called
settings.cfg
I did the work for you, so, here’s what I’ve found to work the best for my system. This is with all DCS settings on Max, except MSAA which is set to 2x. Pixel Density of 1. Make sure “Allow use of eye tracker” is enabled in PimaxXR. Also ensure that “Fixed Foveated Rendering” is set to off in Pimax Play.
Contents of settings.cfg:
# Common settings for all headsets (unless overriden below).
smoothen_focus_view_edges=0.35
sharpen_focus_view=0.75
turbo_mode=1
# Fixed Foveated rendering settings for fallback when eye tracker is not available.
horizontal_fixed_section=0.5
vertical_fixed_section=0.45
[PimaxXR]
# Dynamic Foveated Rendering settings (for Crystal)
horizontal_focus_section=0.35
vertical_focus_section=0.35
peripheral_multiplier=0.28
focus_multiplier=1.44
# debug_eye_gaze=1
# debug_focus_view=1
[app:DCS World]
# The settings are specific to the app "DCS World".
vertical_focus_offset=-0.1
Note that, when you start DCS (must be in Multi-thread mode), and go into the OpenXR Toolkit ‘in-VR’ menu, do not play with the foveated rendering or turbo mode settings, as they conflict with the Quad-views settings from the settings.cfg file that you’ve just created.
With these settings, with my setup, the central focal region is being super-sampled to 200%, while the peripheral region is down-scaled to 9%. With the focal region being set to 35% of the FOV, you still cannot see the heavy pixelation outside of your focal region.
On the deck of the Abraham Lincoln in a F18, in the South Atlantic map, with a very heavily populated deck (i.e. 20 aircraft and helicopters), SARHelos, and a carrier group surrounding, I now achieve 70-75fps, with an extremely sharp and Crystal-clear (no pun intended) image wherever my pupils were pointing.
If you set focus_multiplier=1 then your focal region will render at 100%. The will mean that you’ll be seeing around 100fps in 120Hz mode.
With the 200% super-sampled focal region, after launch I am up above 95fps. Above the clouds I am at 110-120fps.
In the F16 in the South Atlantic map, I see 80-90fps flying through the mountains, and 120fps at altitude.
With my system, the 200% super-sampling in the middle of my focal region makes the buttons, dials, and displays of the cockpit look incredible (though they already did with just the Crystal at 100%) - and the odd pixelation that you’d normally see in VR with Ultra clouds at a distance has completely gone. I can see details on the side of mountains that are over 15nm away. I also spotted a missile the other day, one of mine, turning at about 3nm away, without a trail, I could see the actual missile.
It was, without doubt, the best visual experience I’ve ever had in VR.
MSFS2020
Firstly, make sure that “Hand tracking” is turned off in PimaxXR first. I spoke with Matthieu Bucchianeri and he confirmed that eye-tracking and hand-tracking will cause a conflict with Open XR Toolkit in MSFS2020 if both are enabled in PimaxXR. (In fact, because leapmotion is natively implemented in DCS, you don’t need to have this enabled in PimaxXR anyway for it to work in DCS. So both hand tracking and eye tracking work together without issue in DCS. I’ve tried this and can confirm)
When you enter the OpenXR Toolkit menu, select “custom” under foveated rendering, and then go with:
Inner diameter: 35%
Middle: 1/8
Outer diameter: 60%
Outer: 1/16
This permits you to be able to ‘see’ the normal render-resolution circle that’s tracking with your eyes when you’re in the MSFS menu.
You can then play with the settings, for example, dropping middle down to 1/4 (default is 1/2), and playing with the tightness of the focus-region circles.
The “preset” circles are so large in diameter compared to the whole FOV of the HMD, that you’ll not see a very great improvement in fps over just simple FFR.
However, in DCS (with quadviews), using 35% of your FOV for your focal region works pretty well – so it isn’t the worst starting point for a focal region size for MSFS.
The more you’re able to tolerate dropping the resolution and size of the middle and outer regions, the better the fps percentage improvement you’ll see.
With just 10 minutes of experimentation, I’ve been able to achieve around 20-25% improvement in fps over cityscapes, and flying through mountainous terrain.
CONCLUSIONS
With this upcoming software and firmware update, Pimax are about to deliver on their promise for the Crystal.
With the limited testing i’ve performed with the beta, I’ve found the whole system it to be very stable. There are a couple of little niggles that need to be ironed out before the release, but Pimax are aware of them, and as with all firmware and software, it is continually being developed and improved.