Skip to content

FNVVR Reborn v0.5.0

Pre-release
Pre-release

Choose a tag to compare

@df4l df4l released this 15 Oct 10:08

Fifth public build of FNVVR Reborn: a VR mod for Fallout: New Vegas built into a DXVK fork (32-bit d3d9.dll), for Proton on Linux and Wine/Windows.

What's new since v0.4.0

Interaction

  • You now point at objects and people with your hands. Each hand casts its own ray; the hand that finds a target gets the prompt, and activates with its own button (A for the right hand, X for the left hand). The head no longer picks while the controllers are tracked, so the interaction is no longer "misaligned" with the prompt.
  • Pip-Boy light: bring your right hand close to your left wrist and press the right grip to switch the light on or off. The Pip-Boy does not open when the hand is at the wrist.

Performance and frame pacing (please test, especially at 90 Hz)

  • OpenVR frames are now handed to the compositor explicitly (explicit timing mode with PostPresentHandoff) instead of waiting for the next WaitGetPoses.
  • The game thread no longer waits for the GPU before handing the eye images to OpenVR (2 to 5 ms per frame in a tester's log).
  • The shadow maps are drawn once per frame for both eyes instead of twice.
  • The game's frame step comes from a precise clock instead of the whole-millisecond tick count, and Havok steps once per frame (both off automatically when New Vegas Tick Fix is present).
  • Frames paced by the headset are presented without the desktop monitor's vertical sync, which capped the frame rate at the monitor's refresh rate.
  • Fixes along the way: cut or square shadows in the right eye, square shapes on the water (water reflections are no longer shared between eyes).

Developer option

  • d3d9.vrDeveloperMode = True in dxvk.conf gives god mode and one of every playable weapon (DLCs included) after each loading screen. Off by default.

Not done yet

Melee swing, optics and scopes, other HUD elements (enemy health, sneak indicator, XP, radiation), culling behind the player, and time still stops while the Pip-Boy is open.

Install

See INSTALL.txt in the archive. Short version: copy d3d9.dll, openvr_api.dll (the 32-bit OpenVR library, included), dxvk.conf and fnvvr/ next to FalloutNV.exe. On Linux (Proton) only, set the launch option WINEDLLOVERRIDES="d3d9=n,b" %command% (not needed on Windows). Start SteamVR first. If you already have a dxvk.conf, merge the lines. Replace the files in fnvvr/ too: the bindings changed.

Tested

Linux, Proton Hotfix, RTX 4070, Meta Quest 2 through Steam Link. Other headsets and bindings are untested; only Touch bindings are shipped. The desktop vsync change is not yet checked in the headset.