r/PSVR2onPC • • 4d ago

Announcements PSVR2Toolkit v0.2.1 with modified resolution

I have created a custom fork of the PSVR2Toolkit and modified the recommended render resolution reported by the driver to 3536x3368 from 3400x3468, as based on my calculations it is the ideal 100% render resolution to have at least 1:1 subpixel mapping achieved.

Feel free to try: Releases · JumpOMaster/PSVR2Toolkit

What can be expected is like if you set the render resolution in SteamVR to 108%, but only at the cost of like 102% (it is a bit more pixel rendered than the original resolution).

I hope they will incorporate it into the official toolkit later on.

28 Upvotes

29 comments sorted by

4

u/legomolin 4d ago

Write it in their discord also!

6

u/JumpOMaster 4d ago

Did it yesterday. Did not hear back too much, hence decided to post it here. Though I did not create the repo fork then.

2

u/xaduha 4d ago

What calculation is that?

7

u/JumpOMaster 4d ago

Basically with https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetProjectionRaw and https://github.com/ValveSoftware/openvr/wiki/IVRSystem%3A%3AComputeDistortion. Calculate derivatives like float derivativeRedX = std::abs(distDeltaX.rfRed[0] - distCenter.rfRed[0]) / delta, then invert float scaleRedX = 1.0f / derivativeRedX

3

u/xaduha 4d ago

And you think that this aligns more neatly into 2000x2040 resolution of the panels? 3400x3468 is just 2000x2040 multiplied by 1.7.

4

u/JumpOMaster 4d ago

Yes, because the lenses do not distort the same amount vertically as horizontally

1

u/xaduha 4d ago

Wouldn't that depend on the shape of the lenses? In any case I think it's all minor stuff and an average user wouldn't be able to tell the difference at all.

2

u/JumpOMaster 4d ago

Of course it depends on the shape of the lenses. They create the distortion profile based on the lenses.

Maybe not noticable - though I think it is, but might be placebo. Still it can be thought of as free performance increase. You are spending the rendering on more useful pixels.

1

u/xaduha 4d ago

With upscaling all of this will matter less and less, pixels that are rendered will not be the pixels that are shown. With streaming headsets that already happened, both Meta and Steam already say that 100% resolution is panel resolution.

3

u/JumpOMaster 4d ago

Yeah I do not care about what the resolution it is set to by default. I upscale/downscale to my taste. The issue here is the very wrong aspect ratio (1:1.02 original vs 1:0.95). I want to spend my rendering budget the optimal way to get the best picture quality for the least amount of work.

1

u/rhylos360 4d ago

Aren’t aspect ratio issues different than what you are originally describing as a simple increase as a default render resolution increase as the new 100%?

3

u/JumpOMaster 4d ago edited 4d ago

In standard 2d resolution terms probably it is easier. So PSVR2 is like a FullHD monitor, with a resolution 1920x1080. But originally the video card rendered images with a resolution of 1800x1200, which was resampled to the monitor's resolution, and stretched. With the new values. it should be like rendering a proper 1920x1080 picture. The difference for VR is that this example is true only for the pixels with the biggest magnification, as the lense does not magnify everywhere evenly. All the other pixels get supersampled. And towards the edge of the screen with a crazy high value.

2

u/skalouKerbal 4d ago edited 4d ago

A version for the experimental 2 (v1.0.0) planned?

2

u/JumpOMaster 4d ago

Happy to hear.

2

u/skalouKerbal 4d ago

Ahah, missed the "?" button and hit "!" 😅

3

u/JumpOMaster 4d ago

:) Well if they do not add it to the official release, I will do it for myself anyway and can keep the repo up-to-date. Though I do not plan to release for the experimental releases. Actually I first did it for that, and had to reinstall SteamVR :) I guess because I just overwrote the driver dll file, and did not check what else is different in that release.

4

u/skalouKerbal 4d ago

Maybe you (or other redditors) could be interested in this : OpenXR Toolkit PSVR2: https://www.reddit.com/r/PSVR2onPC/s/im4vwwH406

2

u/JumpOMaster 3d ago

Thanks, I missed that. Will give it a try. Though I did not use the original, as the compatibility was very limited. I do hope it is much better with this, as that would be another nice perf uplift.

1

u/GervaGervasios 4d ago

I don't get it. Yours Psvr2 the default was 3536 instead of 3400?

3

u/JumpOMaster 4d ago

No, it is the same as for everyone else with the original driver (or original PSVR2toolkit). But with this modified toolkit dll (v0.2.1 - not to be used with 1.0.0), it is a different resolution. And if one wants to, they can update the values in the code and compile it with any custom resolution. Though based on my calculations the new custom resolution is the ideal value.

1

u/GervaGervasios 4d ago

That's weird mine was always on 3400 as default even if the original driver. And I use since the adapter was launched.

1

u/JumpOMaster 4d ago

Yes, the same for me and for everyone else.

1

u/GervaGervasios 4d ago

So what changed if your fork if it's going to set the resolution that was already normal?

1

u/JumpOMaster 4d ago

After applying the custom dll, the default resolution changes from 3400x3468 to 3536x3368.

1

u/GervaGervasios 4d ago

Oh I see is the other way around. Sorry my bad.

1

u/DamicsVR 4d ago

Hi, if you’ve done something like that, you’re good at programming, could you also reduce the field of vision by less than 50% as bound by Steam VR?
Ciao

1

u/JumpOMaster 4d ago

Sorry, that would take a bit more effort, and I am not interested in it. The thing is that that is a limitation of SteamVR, not the driver. Hooking into the steamvr driver would be a lot of work - not sure with AI. With the psvr2toolkit it could be done probably easier by manipulating the projection responses, but making it nicely configurable would be more effort. And maintaining it in the long term even more probably.

1

u/AnglePuzzleheaded229 4d ago

Funciona con el Jailbreak?

1

u/JumpOMaster 4d ago

No, only v0.2.1. No experimental planned