An unofficial beta built on
tig3rmast3r's v0.2.1,
focused on one thing: making generated frames actually reach the headset on
SteamVR, reliably, from the moment you enter VR.
What's improved
- Steady 90 FPS at high headset resolution. At 27 Mpx per eye the layer
previously produced fewer frames per second than running without it. The
runtime was being told the layer's frame cost about a millisecond when the
real work was around 15 ms, so it scheduled against numbers that described an
empty loop. It now measures the real work, which is also what makes fpsVR's
GPU and CPU frame times meaningful again. - Frame generation engages immediately. It could previously sit idle for
minutes on a demanding scene — generating frames the whole time, at full GPU
cost, with none of them being displayed — and then suddenly start working when
you looked at something simple. The layer now decides it needs to pace itself
by measuring the runtime rather than by guessing from the game's frame loop. - No more one-second dropouts. Changing settings, loading a world, or the
game recreating its swapchains each cost a full second of generation.
Transitions are now seamless. - Generation no longer stops permanently after a menu or loading screen.
A clock inside the layer could drift a second per second until the game was
predicting poses ten minutes into the future; once there, it never recovered
for the rest of the session. - Games that would not start in VR now start. Titles that create many
swapchains — The Callisto Protocol under UEVR, for example — exhausted the
runtime's swapchain budget and failed at session creation. The layer now only
takes resources for swapchains that actually carry the image you see. - Luke Ross mods: black flashes and double vision fixed. Cyberpunk 2077 was
tearing down and restarting the layer's internals about three times a second,
and separately publishing the previous pair's frame as the current one. - Higher resolution ceiling. Roughly 340 MB of per-frame copying moved off
the critical path, taking the workable ceiling from about 15 to about
24.5 Mpx.
Changed default
FidelityFX now honours the Optical flow resolution tray setting, which it
previously ignored and ran at full resolution. With the shipped default of 50%
this makes FidelityFX noticeably cheaper, at some cost in motion-vector detail.
Set nvidia_input_scale=100 in ofxr_bridge.ini to restore the old behaviour.
The tray menu entry is now called Optical flow resolution rather than
"NVIDIA OFA resolution", because it applies to both backends. The ini key name
is unchanged.
Installing
Unzip anywhere and run OFXRBridgeTray.exe, then Arm bridge. Keep
OFXRBridgeTray.exe and the ofxr folder together. If you have an earlier
version armed, disarm it first.
Tested
- MSFS 2024
- UEVR / Returnal
- UEVR / Calisto Protocol
- UEVR / Atomic Heart
- Luke Ross / Cyberpunk 2077
- Luke Ross / Avatar
- Witcher 3
This is an experimental beta and compatibility is not universal. Please report
results — working and not — on this fork's
GitHub Issues, with an OFXR flight log where you can. Enable one
by setting logging_enabled=1 under [diagnostics] in ofxr_bridge.ini; logs
are written next to the armed layer under
%LOCALAPPDATA%\OFXR Bridge\RuntimeLayer\v130\.
Upstream results are collected in the
OFXR Bridge Compatibility Chart.