PiTool at 1.25 means SteamVR should be set to?

Good point! It is actually:

1 / sqrt(0.32) = 1.7677669529663689

Now I wonder, how and why UE does that.

2 Likes

Please help me understand… does SteamVR pass along some huge texture based on headset resolution, and the compositor request somehow that only some of the pixels are rendered?

Logically, all this seems a bit weird to me, even for SteamVR.

For me what risa mentioned makes sense, it seems that UE applies the supersampling and surpasses the texture size limit giving rise to the error

I’m looking if there is any file where I can see the settings that it applies, from the game there are no options for ss etc.

this is the file, but not applied any ss, It must be something internal in EU

[ScalabilityGroups]
sg.ResolutionQuality=100.000000
sg.ViewDistanceQuality=3
sg.AntiAliasingQuality=3
sg.ShadowQuality=3
sg.PostProcessQuality=3
sg.TextureQuality=3
sg.EffectsQuality=3
sg.FoliageQuality=3

[/Script/Engine.GameUserSettings]
bUseVSync=False
bUseDynamicResolution=False
ResolutionSizeX=2194
ResolutionSizeY=1234
LastUserConfirmedResolutionSizeX=2194
LastUserConfirmedResolutionSizeY=1234
WindowPosX=-1
WindowPosY=-1
FullscreenMode=1
LastConfirmedFullscreenMode=1
PreferredFullscreenMode=1
Version=5
AudioQualityLevel=0
LastConfirmedAudioQualityLevel=0
FrameRateLimit=0.000000
DesiredScreenWidth=1280
bUseDesiredScreenHeight=False
DesiredScreenHeight=720
LastUserConfirmedDesiredScreenWidth=1280
LastUserConfirmedDesiredScreenHeight=720
LastRecommendedScreenWidth=-1.000000
LastRecommendedScreenHeight=-1.000000
LastCPUBenchmarkResult=-1.000000
LastGPUBenchmarkResult=-1.000000
LastGPUBenchmarkMultiplier=1.000000
bUseHDRDisplayOutput=False
HDRDisplayOutputNits=1000

Actually, it looks more like what @jojon wrote above. UE uses the resolution which corresponds to “native” headset resolution (something you get when you set SteamVR supersampling to 100%) and which is directly controlled by PiTool render quality.

Technically the game is allowed to do that, because the “recommended” resolution is really just recommended and if the game renders at a higher res, SteamVR runtime will process it just fine. Only when UE tries to render into a res which DX runtime does not support will crash the app.

There is however an easy workaround, just lower PiTool render quality to the point that the total horizontal resolution does not surpass the DX limit. You can keep SteamVR SS at any value as it apparently does not affect the outcome.

1 Like

Only pitrq influences the size, nothing to change in stss and without ss, nothing can fix it

for this reason, but this is only one of the problems that there are, others that I have seen when uploading ptrq in Oculus games can affect the eyes (disordered) etc, for me uploading ptrq is not a good option as I said, it is giving more problems than benefits.

yes i agree with @jojon, UE is ignoring steamvr rr

Since you mention Oculus games, I wonder is this game one which runs over Oculus API as well? And if yes, it is by any chance possible that when you run it it uses Oculus API instead of SteamVR one?

  • By Oculus API I do not mean the real Oculus runtime, but “fake” OVR API advertised by Pimax runtime.

It uses openvr, it’s a game bought on steam, and it has the api in its openvr files, actually I removed it to be sure, that resulted in a “fatal error” on startup

it was a good point to check anyway

1 Like

What might let you super-/subsample in that .ini would be sg.ResolutionQuality. It doesn’t always have an effect on any given game (I’ve experienced more fails than successes, myself, when trying it :7), but it is not inconceivable you could use it the same way you might otherwise use the corresponding SteamVR setting, to get below 16384 for those eye-textures-side-by-side-on-a-shared-bitmap… :7

1 Like

There is no straightforward way to get the headset resolution out of SteamVR. The only API suitable is the one advertising the resolution which SteamVR shows in the Settings.

I mean, in order to get this native res, UE must use some obscure OpenVR API which I do not know (or use OVR). Unfortunately, I do not have any UE game myself to check out, what really happens.

2 Likes

First, that is very interesting.

Second, how can we possibly calculate what resolution UE is actually rendering at? Seems to me that unless the app itself gives us some supersampling ‘settings’ under some graphics quality menu - which is completely optional for the developer - we are left just guessing what resolution makes things ‘stop working’ and settling for that. Very inconvenient at best.

Normally, we do not know, unless it spits the resolution in the error message as posted by @MKX earlier.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.