v0.6.0
OptiScaler v0.6.0
This release aims to improve the compatibility of the new in-game menu (especially when used with frame-gen) and add support for DLSS 3.7.
Added
- Added spoofing support for DLSS 3.7, usage description is below
- Added spoofing support when running as
dxgi.dll
(acts like d3d12-proxy). - Added support for loading custom
nvapi64.dll
file when not working asnvngx.dll
(from dll folder or user defined folder).
Fixed
- Tried to cover all frame-gen cases for the new in-game menu, hopefully it will be ok (There is a detection delay of about 170 frames, if the menu does not appear immediately after loading the game, please wait a bit after pressing the menu button)
- Fixed setting wrong internal rendering resolution during create feature (thanks to Sub & DARKERthanDA)
- Fixed when DLSS selected from ini was not applied when using DirectX 11 (thanks to ...Merlinch & wixuan)
- Fixed
Motion Sharpness
issues (thanks to Od1sseas) - Increased the
Motion Sharpness
scale minimum to 0.1 to prevent division by zero problems (thanks to fakemichau). - Added extra checks for
Output Scaling
andDisplay Size MV
(Thanks to DARKERthanDA) - Fixed reverting to initial upscaler on quality or resolution change when working with DLSS Enabler (thanks to fakemichau).
- Auto disable
RCAS
andOutput Scaling
on shader compilation issues, for linux check notes are at bottom (thanks to fakemichau). - Fixed
Output Scaling
disabling conditions (Thanks to DARKERthanDA) - Fixed conflicting preset selection & quality ratio when using DLSS (thanks to ...Merlinch?)
- Added
yield()
to /w Dx12 backend query wait spins, resulting in improved performance on Nvidia cards (thanks to DARKERthanDA)
Changed
- The structure of
nvngx.ini
has changed a bit, if your old settings are not applied, please compare with the new structure.
DLSS 3.7
This is only needed if you want to use OptiScaler solo (without DLSS Enabler or Uniscaler).
With DLSS 3.7 Nvidia disabled signature check override, this means nvngx.dll
or _nvngx.dll
must be signed by Nvidia. For this override I use a method developed by Artur (developer of DLSS Enabler). With this release, OptiScaler supports loading by these filenames:
- dxgi.dll (with Nvidia GPU spoofing)
- winmm.dll
- version.dll
- wininet.dll
- winhttp.dll
- OptiScaler.asi (with an ASI loader)
If there is another mod that uses the same filename (for example version.dll
), if you rename it with -original
suffix (for example version-original.dll
), OptiScaler will load this file instead of the original library.
Step-by-step installation:
- We need an Nvidia signed dll file to bypass signature checks. All games that support DLSS come with
nvngx_dlss.dll
. Most of the time it's in the games exe folder. Some games and engines keep these third party dll's in different folders (likeplugins
). So we need to find thenvngx_dlss.dll
file and copy it to the games exe folder. If it's already in the games exe folder, make a copy of it. - Rename the copy of
nvngx_dlss.dll
in games exe folder tonvngx.dll
. - Rename OptiScaler's
nvngx.dll
to one of the supported filenames (I preferdxgi.dll
, it also eliminates the need for d3d12 proxy) and copy it to the games exe folder.
That's it, now you should be able to run DLSS 3.7 games.
Please don't rename the ini file, it should stay as nvngx.ini
.
Shader Compiling and Linux
If you are using OptiScaler with Linux and you have problems with RCAS
or Output Scaling
, you will probably see this message in your logs.
CompileShader error compiling shader : <anonymous>:83:26: E5005: Function "rcp" is not defined.
To solve this problem you need to install d3dcompiler_47
with WineTricks
or ProtonTricks
. OptiScaler uses custom shaders for these features and depends on this compiler file to compile these shaders at runtime.
Thanks to fakemichau for pointing out this solution.
As always thanks to all DLSS2FSR members for their help & support