OpenVR fholger VR Perf Kit (FSR)

EDIT Jan 2022: This project has been updated/renamed and the latest should be here:

Below is the original first post:

Modified OpenVR DLL with AMD FidelityFX SuperResolution Upscaler

This modified openvr_api.dll allows you to apply FidelityFX SuperResolution upscaling to many SteamVR games, as long as they use D3D11.

Something like Skyrim as an example:

Now off to try it with DCS.

Note: AMD FSR is for any graphics cards, not just AMD’s, it’s an upscaling algorithm, so potentially works like Nvidia DLSS but without the ML bits - TL:DR makes VR games clearer but also better framerates on any GPU.

9 Likes

I wonder why both technologies demand support from the game developer. It would be sufficient to learn on the fly or during defined teaching session. Heck, similar technology could be build straight into display, so there would be no need for separate drivers or software.

I guess we just have to wait…

Goodness, it works well with DCS.

Instructions to try:

  • Go to the Releases page of the above Github repository
  • Rename your existing openvr_api.dll in your DCS bin/ install directory.
  • Put the two files from the zip of the release.

I turned off the Reshader mod I already had on, but it looks pretty much as clear. I just left the default settings for it. Results are impressive, about a 20% increase in VR framerate plus clearer image:

Feels very smooth as well, obviously with reprojection off here:

Here’s the settings I used, and will fiddle with to try to get the best balance of fps/clarity:

{
  "fsr": {
    // enable AMD FidelityFX Super Resolution
    "enabled": true,

    // Per-dimension render scale. If <1, will lower the game's render resolution
    // accordingly and afterwards upscale to the "native" resolution set in SteamVR.
    // If >1, the game will render at its "native" resolution, and afterwards the
    // image is upscaled to a higher resolution as per the given value.
    // If =1, effectively disables upsampling, but you'll still get the sharpening stage.
    // AMD presets:
    //   Ultra Quality => 0.77
    //   Quality       => 0.67
    //   Balanced      => 0.59
    //   Performance   => 0.50
    "renderScale": 0.75,

    // tune sharpness
    "sharpness": 0.75
  }
}
8 Likes

DLSS 2.1+ doesn’t require any game input, and this FSR doesn’t use that at all, so the time is now! :wink:

3 Likes

Oh my, could this really work. Would be saviour for VR DCS. I will test this in soon.

2 Likes

Wait! Do you mean that DLSS 2.1 also works with DCS?

No, because DCS would have to make the init call in the driver and they’ve said they don’t support single vendor 3rd party technologies or something like that (if you ignore TrackIR, Windows, specific device control inputs and the 300 other examples that rule doesn’t apply to) :wink:

It might be possible to do an injector to enable it, but not seen it. DLSS 2.2 might be possible in VR. This being AMD FSR is pretty much a great step though.

4 Likes

Too bad we cannot use Nvidia DLSS yet, but kudos to AMD for making theirs available for us Nvidia users also.

I will definitely try this out when I get back to computer, and will report back here.

Thanks for heads up!

2 Likes

Glad too see I’m not the only scratching my head at times…

1 Like

So trying to push this thing as far as I can now. Changing the renderScale value to 0.50 (effectively half the work for DCS) obviously increases the framerate massively. The HUD looks ok, but the MFDs are sort of muddy with the 0.75 sharpness value, so could try higher with that. Here’s the 0.50, 0.75 and original DCS VR framerates for comparison…

Huh, never thought I’d see the day with DCS in a Reverb at native resolution have 90 fps on a 2080…

Remember, this is still just a form of supersampling up a lower resolution, so it’s not magic - but the upscaling clarity is far better than the stock SteamVR or WMR you would get.

7 Likes

Not finding the ‘config’ file. Trying; creating one with the text posted above

The initial release page here Release FSR for SteamVR games alpha 1.1 · fholger/openvr_fsr · GitHub contains a file called ‘openvr_fsr.zip’. Download that. In it is the replacement openvr_api.dll used for injection and the config file called ‘openvr_mod.cfg’ with the default values. It needs to be in the DCS /bin directory and you need to rename your original openvr_api.dll first, otherwise it’ll overwrite it and you’ll need to do a repair to go back.

2 Likes

So now you are adding clairvoyance to your long resume?

4 Likes

When you substitute this whatchamacallit, the PD setting in DCS is ignored and the renderScale setting in the .cfg has precedence?

It’ll combine, this just alters the OpenVR/SteamVR side, so if you have PD 1.0 and 100% SteamVR on a G2 then it’ll tell DCS the resolution is .75x that and then upscale and sharpen to 100% on the headset side.

4 Likes

Gonna try this tomorrow.

Happy Ha Ha GIF by reactionseditor

1 Like

Will this work with a Rift S which does not use SteamVR for DCS? From what I gather it will not just wanted to make sure… :slight_smile:

You could force DCS to use SteamVR using this I think.

DCS.exe --force_enable_VR --force_steam_VR

My results are sort of variable so far running real missions. If I run with fantastic frame timings using “renderScale”: 0.59 and “sharpness”: 0.75 then it’s really smooth, but the clouds look pretty bad the further you get out to the horizon. The clouds really seem to confuse the upscaler, which is unfortunate, as there’s a lot of clouds in a flight sim. :slight_smile:

The cockpit looks fine (not as sharp as I usually run it, but readable enough), but the outside is really looking rough.

No such thing as a free lunch I guess.

I think I need to try it with renderScales over 0.75 for me personally.

2 Likes

Noticed same with clouds; wasn’t sure whether it was me or not. Even on Ultra there was more ‘shimmer’ on the horizon it seemed.

For me, on this potato, not much change in FPS but, like a lot of these things, if you’re gasping for air already, it likely isn’t enough to save me. And if you have a SuperPC then you don’t need it. Thought it was a bit sharper too.

I tested with the Hornet free flight in the Caucuses and with my 3080 and G2, got an astonishing 18-20 fps improvement using the default .75/.75 cfg file. Next to try it at .77 to see what that does, but it looks pretty good IMO at .75. Could read the MFDs fine.

1 Like