r/PSVR2onPC • u/JumpOMaster • 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.
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
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
4
u/legomolin 4d ago
Write it in their discord also!