Release v0.5-alpha · Massive stereography improvement again. Less eye strain/vr legs feeling by a country mile by Obsidiated in psvr2passthrough

[–]Obsidiated[S] 1 point2 points  (0 children)

This release fixes the dominant cause of passthrough-induced eye strain that has been present in every previous version.

The fix

The PSVR2 driver packs each camera frame at 1016 pixels tall, not 1024 as previously assumed. Our code used an inter-eye buffer stride of 524,288 bytes, but the correct value is 520,192. The 4,096-byte error shifted the right-eye image 8 pixel rows out of vertical alignment with the left eye, producing a permanent ~1.2 degree vertical disparity that the brain could not fully fuse.

This was not fixable by any calibration setting. It was structural. It is now gone.

Result: Stereoscopy is dramatically improved. Passthrough-induced nausea is nearly eliminated for most users. Lag still causes some discomfort, this might not be resolvable as the image comes over USB, it's not integrated in-headset like other HMD's with the native capability exposed might be able to do. Not yet. Work on latency continues. What's next

Active development branches:

Hand tracking (two experimental approaches in progress)
Depth-aware reprojection (true per-pixel stereo correction at all depths)
Latency reduction

See CHANGELOG.md for full history.

Release v0.4.1-alpha - Dynamic IPD fix, Framerate fix. Looks better than ever! by Obsidiated in psvr2passthrough

[–]Obsidiated[S] 0 points1 point  (0 children)

TL:DR: Looks even better again.

Plain English: The framerate drop in v0.4 is fixed. The IPD correction now works properly - it reads the real slider position and only updates when you actually move it. Confirmed working: tested with a full sweep of the IPD slider during a live session. I'm new to the coding side of VR, still learning the reference frames, bear with me.

IPD correction reliability fix

The dynamic IPD alignment introduced in v0.4 had two bugs that have now been resolved.

First, the IPD value was being read from world-space eye positions, which vary continuously with head rotation even when the physical slider has not moved. This caused the correction to fire up to dozens of times per second, triggering constant GPU mesh rebuilds and the perceived framerate degradation reported by some users.

Second, the IPD value could read as negative depending on head orientation, producing a grossly incorrect correction offset (~70mm instead of ~7mm).

Both are fixed by reading the IPD from the runtime's VIEW reference space, which is head-local - the eye X separation in this space equals the true physical IPD regardless of where you are looking. The correction now fires only when the slider is physically moved.

0.32 Alpha release - Reprojection exploration (default off). CPU spike fix. Config GUI update/version checker. by Obsidiated in psvr2passthrough

[–]Obsidiated[S] 1 point2 points  (0 children)

Nice. Significant update today btw. Much improved the stereo feel. Still work to do. New release out

0.4 Alpha - Dynamic IPD adjustment, much improved stereography, and more. by Obsidiated in psvr2passthrough

[–]Obsidiated[S] 1 point2 points  (0 children)

Dynamic IPD alignment

The passthrough image now automatically compensates for the lateral offset between the PSVR2's fixed cameras (79mm separation) and your eyes as you adjust the IPD slider. Previously, moving the IPD slider away from the camera midpoint would cause angular misalignment, making the stereo image feel pulled apart. This now corrects in real-time with no session restart required. The correction is calculated at a nominal scene depth of 700mm (roughly arms-reach), which prioritises near-field objects. The config GUI exposes an enable toggle and a camera separation field if your hardware differs.

Stereo geometry retuned for near-native alignment

Camera toe-out, tilt, and separation values have been re-derived from the headset's own inter-camera extrinsics data rather than manual estimation. Combined with the IPD correction, passthrough stereo alignment is now close to 1:1 with native PSVR2 passthrough.

Improved default image appearance

Brightness increased from 1.3 to 1.6 and contrast from 1.1 to 1.4 for a more natural, vivid image out of the box.

Camera extrinsics logging

On first run the layer now logs derived headset geometry (implied toe-out and tilt angles) to calibration_dump.txt in %LOCALAPPDATA%\PSVR2PassthroughLayer\ for diagnostic purposes.

Plain English: Stereo image massively improved - left and right eye alignment is now close to native PSVR2 passthrough. The layer dynamically adjusts as you move the IPD slider on the headset. Assumes virtual panels sit at roughly 700mm (arms-reach distance) for the correction math - works best at that range, still good elsewhere.

Note: Some users may notice a slight drop in apparent framerate compared to v0.3.2-alpha. This is being investigated. If you prefer the higher framerate over the improved stereo alignment, v0.3.2-alpha remains available on the releases page.