OpenXR NIS upscaling software - Release thread

Hello everyone! As promised, I am making a new thread so I can own this top post and edit it in the future for release/communication.

As many of you have already read on the original thread, I have developed a piece of software that enables the use of the NVIDIA Image Scaling algorithm (aka NIS) while using VR and Flight Simulator 2020.

Link to the most recent version:

NIS is intended to replace your use of the in-game render scale as it is very low cost (from all the data I have, performing upscaling with NIS only seems to “consume” 1 FPS) while performing an additional sharpening pass to improve visual quality. While not everyone is getting the quality or performance improvement they wish for, the feedback has been generally positive on using this software. Please give it a try.

Quickstart

HERE IS ALSO A VIDEO (Thanks @PIESKYTOURS)

  1. Download the MSI file:

  1. Run the downloaded MSI file and install the program:

image

  1. Start the OpenXR NIS Scaler configuration tool:

image

  1. Select “FS2020 - Microsoft Flight Simulator 2020”, check “Enable NIS Scaling”, adjust the scaling/target resolution if needed.

image

  1. Close the configuration tool (settings are saved permanently).

  2. Start Flight Simulator. Enter VR. You can use Ctrl+F1 to switch between NIS and no NIS at the same resolution, and you should be able to see the different in pixelation.

Settings guide

(This section is under construction, come back later for more)

Until we can come up with common guidelines, you can take a look at my post explaining how to take screenshots and compare them.

FAQ

Q: What headset does it work with?

It should work with any VR headset thanks to OpenXR. We’ve seen success with Windows Mixed Reality (eg: HP Reverb), any headset going through the SteamVR runtime (Valve Index), Pimax, Oculus Quest…

Q: What GPUs does it work with?

The NIS shader works on any modern GPU, even not NVIDIA. I have only tried on a GT 1030 (not with MSFS obviously) and a RTX 2080.

Q: There’s already a NIS option in my GPU driver… Do I need this?

The NIS option in the NVIDIA drivers does not apply to VR. You need this software to use NIS with VR. It is also recommended to turn off NIS in the NVIDIA driver when using this software, otherwise the GPU will be performing extra processing for the desktop view and not for VR.

Q: Does it work with DX11 and DX12?

Only DX11 at this time.

Q: Will it work with other games like the ones from Steam?

This only works with OpenXR applications, not OpenVR and the other ones.

Even with OpenXR applications, I can’t guarantee it will work as I’ve only implemented the bare minimum for MSFS.

Q: How does the scaling value fit in with the OpenXR render scale and the game’s render scale?

The software uses the resolution returned by OpenXR (ie the one after OpenXR scaling, that you can see in the OpenXR Developer Tools if using Windows Mixed Reality, under System Status → View configuration). It applies its scaling to that resolution. The game engine will then render at this resolution, unless you use the in-game render scale (not recommended).

There’s a more detailed explanation of the upscaling process here.

Q: Where can I report bugs?

The preferred way is to use the GitHub project issues page. If you don’t have GitHub access, you can send me a message and/or use this thread.

Q: Is this affiliated with Microsoft?

While I am a Microsoft employee working on OpenXR, please note that this is a personal project not affiliated with Microsoft.

Q: Is it open source? Can I contribute?

It’s 100% open source, and if you’d like to contribute I’m happy if you get in touch with me!

Q: Why does this have a weird name?

It’s following the OpenXR naming convention:

XR_ → This is for Khronos’ OpenXR (as opposed to GL for OpenGL or VK for Vulkan for example).
APILAYER_ → This is an API layer, ie it intercept existing API, as opposed to an EXT that would add new ones.
NOVENDOR_ → This is not owned by any company, I am developing this independently.
nis_scaler → That’s what it does, duh!

Q: Will it support FSR?

Maybe.

Q: Will it support DLSS?

I am actively investigating DLSS support, however my current conclusions are that it is not possible to implement DLSS outside the game because Flight Simulator does not pass its depth buffer to OpenXR.

64 Likes

Thanks to everyone for your support, and thanks to the folks who participated to the private beta!

4 Likes

Thank you Matt! You are a legend. I’ve been so happy with this approach since I installed your second Alpha and am looking forward to the further developments you are likely to bring to this ‘game-changing’ platform.

3 Likes

Thanks for this , If I get thing correctly its better to downscale résolution in open XR and ingame then put value superior to one in the cfg for the scale ?

I want to start filling up that section with the details to answer these questions about which combination of settings. Please people of this forum, I know some of you are really good at writing this up, if you can send me a write-up it would be great.

Also, for folks out there, I added a screenshot mode. This can be used to make comparison. Hopefully it helps getting a more concrete feel of what settings degrade too much. There’s an NVIDIA too but I haven’t tried it yet: NVIDIA ICAT. Note that you might need to convert the screenshots from DDS format to something like BMP to import them into the tool.

I’ve just found that to get a stable VR experience I need to have MRepro on in OXR Developer, otherwise the slightest head movement creates terrible juddering. Is this expected? I’m coming from Alpha 3 where this was not the case. With MRepro on I’m getting a smooth 30FPS (locked in NVCP) - desired effect.

Can you try to re-install Alpha-3 (or Alpha-4) and confirm?

The update to NIS 1.0.1 has been a little bumpy. This could be another side effect. I might need to restore the older version 1.0.0.

With the Alpha 4 I too had it become very jumpy. I found that if I opted out of the Preview in the OpenXR Dev Tool (so back to 108.2111.23004) it helps make it smooth again. Also, if you are in the OXR preview then it can work better if you start in VR mode before entering the flight.

I’ll try again with the latest beta to see if it still does it.

EDIT: Seems better now, in that I can’t get into the ‘judder’ mode I had with v109 and the alpha’s with no motion reprojection and set 100% OXR (WMR Reverb/ i9 / 3080Ti)

Hi, Matt,

Downloaded the Beta, but can’t seem to find the installer.

Bill

Edit: Nevermind. I found the .msi file on Github, my bad!

@AmiableGalaxy9 , @notsofearless

Could you compare your experience with this modified Beta-1 package here:

OpenXR-NIS-Scaler-BETA1-NIS-1.0.0.msi

This version is the same except I reverted from NIS 1.0.1 to NIS 1.0.0.

CC @CptLucky8 as well.

EDIT: This version was promoted to Beta #1 Hotfix #1.

I can but the beta release with NIS 1.0.1 and OXR v109 preview and no motion reprojection and fixed 100% OXR is working really well so far. :slight_smile:. The judders I had seemed to be a combination of the NIS Alpha 4 and OXR v109, with my workaround being going back to v108.

Hi, Matt,

An observation, and a question:

It was not readily apparent that the configuration tool was an app installed on the desktop. Maybe add this explanation to the readme?

Once open, with FS2020 set as application and settings tweaked, does the user need to keep the configuration tool open or minimized on the taskbar?

Thanks for your brilliant work, Matt. MUCH appreciated.

Bill

1 Like

The settings get saved every time you change a value. You don’t need to keep it opened or even to open it before every game.

1 Like

Awesome work, and congrats on all of the progress with the Beta release! Thanks so much, everything’s working great!

Alienware M17-R4 Laptop
* Windows 11
* Intel i7-10870H (Slightly undervolted with ThrottleStop)
* NVidia RTX3070 Laptop Edition (MSI Afterburner slightly tweaked to +125 on the GPU Core
Clock and +200 on the Memory Clock - zero artifacts/crashes)
* 16GB Ram

PS: Found the note to uninstall the Alpha Stuff, so edited to reflect that. - Thanks again!

I’m kinda new to this, under Assets which file do I DL?

You should start with OpenXR scale to 100%, in-game scale to 100%, then vary the NIS setting. You can also try to increase OpenXR scale, maybe to 150%.

Pick the first MSI file. This is an installer.

If you manage to pull that off you will be hailed as a hero of the virtual skies. :slight_smile:

Fantastic work sir. Your efforts are enormously appreciated!

3 Likes

Several people have now reported issues due to the upgrade to NIS 1.0.1 (degraded quality compared to Alpha-4 version).

I am therefore reverting this change. If you have downloaded the original Beta #1, I recommend you download the new one called “Beta #1 Hotfix #1” (same URL). I will be reporting the issue to NVIDIA.

14 Likes

Fantastic news with the Beta! I will install and test it.

1 Like

Great work @mbucchia, it feels like putting my glasses on :grinning::+1:

Still looking for the ‘donate’ button…

6 Likes