You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Experimental support for frame generation (OptiFG by FSR) with version 0.7.0 and above
4
+
* Supports DLSS 3.7 and above (check [installation instructions](#install-as-non-nvngx))
5
+
* Supports DLSS-D (Ray Reconstruction) on Nvidia cards (Supports changing presets and using OptiScaler enhancements)
6
+
* Ability to modify DLSS/DLSS-D presets on the fly
7
+
* Supports XeSS v1.3.x's Ultra Performance, NativeAA modes (**Not using default XeSS 1.3.x scaling ratios, rather the old ones**)
8
+
* An [in-game menu](https://github.com/cdozdil/OptiScaler/blob/master/Config.md) for tuning and saving settings on the fly (Shortcut key is **INSERT**)
9
+
* Full integration with [DLSS Enabler](https://www.nexusmods.com/site/mods/757) for DLSS-FG support
10
+
***RCAS** support with **MAS** (Motion Adaptive Sharpening) for all Dx12 & Dx11 upscalers
11
+
***Output Scaling** option (0.5x to 3.0x) for backends running on Dx12 & Dx11
12
+
* Supports DXGI spoofing (when running as `dxgi.dll`) as Nvidia GPUs (with XeSS detection to enable XMX on Intel Arc cards)
13
+
* Supports Vulkan spoofing (needs to be enabled from `nvngi.ini`) as Nvidia GPUs (not working for Doom Eternal)
14
+
* Supports loading specific `nvapi64.dll` file (when running in non-nvngx mode)
15
+
* Supports loading specific `nvngx_dlss.dll` file (when running in non-nvngx mode)
16
+
* Supports overriding scaling ratios
17
+
* Supports overriding DRS range
18
+
* Autofixes for [colored lights](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#resource-barriers-dx12-only) on Unreal Engine & AMD graphics cards
19
+
* Autofixes for [missing exposure texture](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#init-flags) information
20
+
* Ability to modify [Mipmap Lod Bias](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#mipmap-lod-bias-override-dx12-only) game value
21
+
* Supports [Fakenvapi](https://github.com/FakeMichau/fakenvapi) integration which enables Reflex hooking and injecting Anti-Lag 2 or LatencyFlex (LFX)
22
+
* Supports Nukem's FSR FG mod [dlssg-to-fsr3](https://github.com/Nukem9/dlssg-to-fsr3) (since version 0.7.7)
23
+
24
+
**To overcome DLSS 3.7's signature check requirements, OptiScaler uses a method developed by **Artur** (creator of [DLSS Enabler](https://www.nexusmods.com/site/mods/757?tab=description)).**
**OptiScaler** is a tool that lets you replace upscalers in games that ***already support*** DLSS2+ / FSR2+ / XeSS, now also supports enabling frame generation (through OptiFG or Nukem's dlssg-to-fsr3).
4
16
5
17
While previously only DLSS2+ inputs were supported, newer versions also added support for XeSS and FSR2+ inputs (_with some caveats_$`^1`$). For example, if a game has DLSS only, the user can replace DLSS with XeSS or FSR 3.1 (same goes for an FSR or XeSS-only game). It also offers extensive customization options for all users, including those with Nvidia GPUs using DLSS.
6
18
7
19
**Key aspects of OptiScaler:**
8
20
- Enables usage of XeSS, FSR2, FSR3, **FSR4**$`^2`$ and DLSS in upscaler-enabled games
9
-
- Allows users to fine-tune their upscaling experience
10
-
- Offers a wide range of tweaks and enhancements (RCAS & MAS, Output Scaling, DLSS Presets, Ratio & DRS Overrides etc.)
11
-
- With version 0.7.0 and above, added experimental frame generation support with possible HUDfix solution ([**OptiFG**](#optifg-powered-by-fsr3-fg--hudfix-experimental-hud-ghosting-fix) by FSR3)
12
-
- Supports integration with [**Fakenvapi**](#fakenvapi) which enables Reflex hooking and injecting _Anti-Lag 2_ (RDNA1+ only) or _LatencyFlex_ (LFX) - **_not bundled_**
13
-
- Since version 0.7.7, support for Nukem's FSR FG mod [**dlssg-to-fsr3**](#nukems-dlssg-to-fsr3) has also been added - **_not bundled_**
21
+
- Allows users to fine-tune their upscaling experience with a wide range of tweaks and enhancements (RCAS & MAS, Output Scaling, DLSS Presets, Ratio & DRS Overrides etc.)
22
+
- Since v0.7.0+, added experimental frame generation support with possible HUDfix solution ([**OptiFG**](#optifg-powered-by-fsr3-fg--hudfix-experimental-hud-ghosting-fix) by FSR3)
23
+
- Supports [**Fakenvapi**](#fakenvapi) integration - enables Reflex hooking and injecting _Anti-Lag 2_ (RDNA1+ only) or _LatencyFlex_ (LFX) - **_not bundled_**$`^3`$
24
+
- Since v0.7.7, support for Nukem's FSR FG mod [**dlssg-to-fsr3**](#nukems-dlssg-to-fsr3) has also been added - **_not bundled_**$`^3`$
25
+
- For a detailed list of all features, check [Features](Features.md)
26
+
14
27
15
28
> [!IMPORTANT]
16
29
> _**Always check the [Wiki Compatibility list](https://github.com/cdozdil/OptiScaler/wiki) for known game issues and workarounds.**_
17
30
> Also please check the [***Optiscaler known issues***](#known-issues) at the end regarding **RTSS** compatibility
18
31
19
32
> [!NOTE]
20
-
> *[1] Regarding **XeSS**, since Unreal Engine plugin does not provide depth, replacing in-game XeSS breaks other upscalers, but you can still apply RCAS sharpening to XeSS to reduce blurry visuals (in short, if it's a UE game, in-game XeSS only works with XeSS in OptiScaler overlay).*
33
+
> <details>
34
+
> <summary><b>Expand for [1], [2] and [3]</b></summary>
35
+
>
36
+
> ***[1]** Regarding **XeSS**, since Unreal Engine plugin does not provide depth, replacing in-game XeSS breaks other upscalers, but you can still apply RCAS sharpening to XeSS to reduce blurry visuals (in short, if it's a UE game, in-game XeSS only works with XeSS in OptiScaler overlay).*
21
37
>
22
38
> *Regarding **FSR inputs**, FSR 3.1 is the first version with a fully standardised, forward-looking API and should be fully supported. Since FSR2 and FSR3 support custom interfaces, game support will depend on the developers' implementation. With Unreal Engine games, you might need [ini tweaks](https://github.com/cdozdil/OptiScaler/wiki/Unreal-Engine-Tweaks) for FSR inputs.*
23
39
>
24
-
> *[2] Regarding **FSR4**, support added with recent Nightly builds. Please check [FSR4 Compatibility list](https://github.com/cdozdil/OptiScaler/wiki/FSR4-Compatibility-List) for known supported games.*
40
+
> ***[2]** Regarding **FSR4**, support added with recent Nightly builds. Please check [FSR4 Compatibility list](https://github.com/cdozdil/OptiScaler/wiki/FSR4-Compatibility-List) for known supported games.*
41
+
>
42
+
> ***[3]** For **not bundled** items, please check [Installation](#installation)*
43
+
> </details>
44
+
25
45
46
+
## Official Discord Server: [DLSS2FSR](https://discord.gg/2JDHx6kcXB)
47
+
48
+
*This project is based on [PotatoOfDoom](https://github.com/PotatoOfDoom)'s excellent [CyberFSR2](https://github.com/PotatoOfDoom/CyberFSR2).*
26
49
27
50
## How it works?
28
51
OptiScaler implements the necessary API methods of DLSS2+ & NVAPI, XeSS and FSR2+ to act as a middleware. It interprets calls from the game and redirects them to the chosen upscaling backend, allowing games using one technology to use another one of your choice.
@@ -31,12 +54,10 @@ OptiScaler implements the necessary API methods of DLSS2+ & NVAPI, XeSS and FSR2
## Official Discord Server: [DLSS2FSR](https://discord.gg/2JDHx6kcXB)
35
-
36
-
*This project is based on [PotatoOfDoom](https://github.com/PotatoOfDoom)'s excellent [CyberFSR2](https://github.com/PotatoOfDoom/CyberFSR2).*
37
57
38
58
## Which APIs and Upscalers are Supported?
39
-
Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but each API has different sets of upscaler options. [**OptiFG**](#optifg-powered-by-fsr3-fg--hudfix-experimental-hud-ghosting-fix) currently **only supports DX12** and is explained in a separate paragraph.
59
+
Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but each API has different sets of upscaler options.
60
+
[**OptiFG**](#optifg-powered-by-fsr3-fg--hudfix-experimental-hud-ghosting-fix) currently **only supports DX12** and is explained in a separate paragraph.
40
61
41
62
#### For DirectX 12
42
63
- XeSS (Default)
@@ -53,7 +74,11 @@ Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but
53
74
- XeSS 2.x (_soon™, but Intel ARC only_)
54
75
55
76
> [!NOTE]
56
-
> _[1] These implementations use a background DirectX12 device to be able to use Dirext12-only upscalers. There is a 10-15% performance penalty for this method, but allows many more upscaler options. Also native DirectX11 implementation of FSR 2.2.1 is a backport from Unity renderer and has its own problems of which some were fixed by OptiScaler. **These implementations do not support Linux** and will result in a black screen._
77
+
> <details>
78
+
> <summary><b>Expand for [1]</b></summary>
79
+
>
80
+
> _**[1]** These implementations use a background DirectX12 device to be able to use Dirext12-only upscalers. There is a 10-15% performance penalty for this method, but allows many more upscaler options. Also native DirectX11 implementation of FSR 2.2.1 is a backport from Unity renderer and has its own problems of which some were fixed by OptiScaler. These implementations **do not support Linux** and will result in a black screen._
81
+
> </details>
57
82
58
83
#### For Vulkan
59
84
- FSR2 2.1.2 (Default), 2.2.1
@@ -62,26 +87,29 @@ Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but
**OptiFG** was added with **0.7** builds and is **only supported in DX12**. It uses FSR3 FG to enable Frame Generation in every DX12 upscaler-enabled games, however since FSR3 FG doesn't support HUD interpolation itself, it requires a HUDless resource provided by the game to avoid HUD ghosting.
66
-
In games without native FG, Optiscaler tries to find the HUDless resource when the user enables **HUDfix**. Depending on how the game draws its UI/HUD, Optiscaler may or may not be successful in fixing these issues. There are several options for tuning the search.
90
+
**OptiFG** was added with **v0.7** and is **only supported in DX12**. It's **enabled by default** with the `FGType=auto` setting in Optiscaler.ini.
91
+
It's an **experimental** way of adding FSR3 FG to games without native Frame Generation, or can also be used as a last case scenario if the native FG is not working properly.
92
+
Since FSR3 FG doesn't support HUD interpolation, it requires a HUDless resource to avoid HUD ghosting/garbling. In games without native FG, Optiscaler tries finding the HUDless resource when the user **enables HUDfix**. Depending on how the game draws its UI/HUD, Optiscaler may or may not be successful in finding it. There are several options for tuning the search.
67
93
A more detailed guide will be available in the [Wiki](https://github.com/cdozdil/OptiScaler/wiki), along with a **list** of **HUDfix incompatible** games.
68
94
69
95
70
96
## Installation
71
97
> [!CAUTION]
72
98
> _**Warning**: **Do not use this mod with online games.** It may trigger anti-cheat software and cause bans!_
73
99
74
-
## Recommended installation (with OptiFG and all other features, `non-nvngx`)
75
-
76
100
> [!IMPORTANT]
77
101
> ***Please use the [Nightly builds](https://github.com/cdozdil/OptiScaler/releases/tag/nightly) as the latest Stable is vastly outdated and the Readme does not apply to it anymore due to many missing features.***
78
102
> _Fair warning, Nightly builds have Debug logging forced by default due to being bleeding-edge. If everything is working fine, then you can save storage space by disabling it by leaving `LogFile=` blank._
79
103
104
+
---
105
+
80
106
### [Automated]
81
107
**1.** Extract **all** of the Optiscaler files **by the main game exe**_(for Unreal Engine games, that's usually the _win_shipping.exe_ in one of the subfolders, generally `<path-to-game>\Game-or-Project-name\Binaries\Win64\`, **ignore** the `Engine` folder)_
82
108
**2.** Try the `OptiScaler Setup.bat` script for automating the renaming process.
83
109
_**3.** If the Bat file wasn't successful, please check the **Manual** steps._
84
110
111
+
---
112
+
85
113
### [Manual]
86
114
#### Nvidia
87
115
@@ -102,12 +130,16 @@ _**3.** If the Bat file wasn't successful, please check the **Manual** steps._
102
130
103
131
_Check the [screenshot](#example-of-correct-installation-with-additional-fakenvapi-and-nukem-mod) for proper installation_
104
132
133
+
---
134
+
105
135
#### [Nukem's dlssg-to-fsr3]
106
136
107
-
**1.** Download the mod - [**dlssg-to-fsr3 NexusMods**](https://www.nexusmods.com/site/mods/738) or [**dlssg-to-fsr3 Github**](https://github.com/Nukem9/dlssg-to-fsr3)
137
+
**1.** Download the mod's regular version - [**dlssg-to-fsr3 NexusMods**](https://www.nexusmods.com/site/mods/738) or [**dlssg-to-fsr3 Github**](https://github.com/Nukem9/dlssg-to-fsr3)
108
138
**2.** Put the `dlssg_to_fsr3_amd_is_better.dll` in the same folder as Optiscaler (by the main game exe) and set `FGType=nukems` in `Optiscaler.ini`
109
139
**3.** For **AMD/Intel GPUs**, **Fakenvapi** is also **required** when using **Nukem mod** in order to successfully expose DLSS FG in-game.
110
140
141
+
---
142
+
111
143
#### [Fakenvapi]
112
144
113
145
**0.****Do not use with Nvidia**, only required for AMD/Intel
@@ -116,6 +148,8 @@ _Check the [screenshot](#example-of-correct-installation-with-additional-fakenva
116
148
117
149
_**Anti-Lag 2** only supports RDNA cards and is Windows only atm (shortcut for cycling the overlay - `Alt+Shift+L`). For information on how to verify if Anti-Lag 2 is working, please check [Anti-Lag 2 SDK](https://github.com/GPUOpen-LibrariesAndSDKs/AntiLag2-SDK?tab=readme-ov-file#testing). **Latency Flex** is cross-vendor and cross-platform, can be used as an alternative if AL2 isn't working._
118
150
151
+
---
152
+
119
153
> [!TIP]
120
154
> *[1] Linux users should add renamed dll to overrides:*
121
155
> ```
@@ -139,13 +173,18 @@ _**Anti-Lag 2** only supports RDNA cards and is Windows only atm (shortcut for c
139
173
> ### _Example of correct installation (with additional Fakenvapi and Nukem mod)_
> If there is another mod (e.g. Reshade etc.) that uses the same filename (e.g. `dxgi.dll`), you can create a new folder called `plugins` and put other mod files in this folder. OptiScaler will check this folder and if it finds the same dll file (for example `dxgi.dll`), it will load this file instead of the original library.
### Legacy installation (deprecated, no FG and limited features, `nvngx.dll`)
185
+
<details>
186
+
<summary><b>Legacy</b></summary>
187
+
149
188
`Step-by-step installation:`
150
189
1. Download the latest relase from [releases](https://github.com/cdozdil/OptiScaler/releases).
151
190
2. Extract the contents of the archive next to the game executable file in your games folder. (e.g. for Unreal Engine games, it's `<path-to-game>\Game-or-Project-name\Binaries\Win64\`)$`^1`$
@@ -163,6 +202,7 @@ _**Anti-Lag 2** only supports RDNA cards and is Windows only atm (shortcut for c
163
202
* *You should see a message saying that you successfully added the entries to the registry*
164
203
165
204
*If your game is not on Steam, it all boils down to opening regedit inside your game's prefix and importing the file.*
205
+
</details>
166
206
167
207
## Update OptiScaler version when using DLSS Enabler
168
208
1. Delete/rename `dlss-enabler-upscaler.dll` in game folder
@@ -175,31 +215,6 @@ _**Anti-Lag 2** only supports RDNA cards and is Windows only atm (shortcut for c
175
215
* Delete `EnableSignatureOverride.reg`, `DisableSignatureOverride.reg`, `OptiScaler.dll` (for old versions, it's `nvngx.dll`), `OptiScaler.ini` files (if you used Fakenvapi and/or Nukem mod, then also delete `fakenvapi.ini`, `nvapi64.dll` and `dlssg_to_fsr3` files)
176
216
* If there was a `libxess.dll` file and you have backed it up, delete the new file and restore the backed up file. If you overwrote/replaced the old file, **DO NOT** delete `libxess.dll` file. If there was no `libxess.dll` before, it's safe to delete. Same goes for FSR files (`amd_fidelityfx`).
* Experimental support for frame generation (OptiFG by FSR) with version 0.7.0 and above
181
-
* Supports DLSS 3.7 and above (check [installation instructions](#install-as-non-nvngx))
182
-
* Supports DLSS-D (Ray Reconstruction) on Nvidia cards (Supports changing presets and using OptiScaler enhancements)
183
-
* Ability to modify DLSS/DLSS-D presets on the fly
184
-
* Supports XeSS v1.3.x's Ultra Performance, NativeAA modes (**Not using default XeSS 1.3.x scaling ratios, rather the old ones**)
185
-
* An [in-game menu](https://github.com/cdozdil/OptiScaler/blob/master/Config.md) for tuning and saving settings on the fly (Shortcut key is **INSERT**)
186
-
* Full integration with [DLSS Enabler](https://www.nexusmods.com/site/mods/757) for DLSS-FG support
187
-
* **RCAS** support with **MAS** (Motion Adaptive Sharpening) for all Dx12 & Dx11 upscalers
188
-
* **Output Scaling** option (0.5x to 3.0x) for backends running on Dx12 & Dx11
189
-
* Supports DXGI spoofing (when running as `dxgi.dll`) as Nvidia GPUs (with XeSS detection to enable XMX on Intel Arc cards)
190
-
* Supports Vulkan spoofing (needs to be enabled from `nvngi.ini`) as Nvidia GPUs (not working for Doom Eternal)
191
-
* Supports loading specific `nvapi64.dll` file (when running in non-nvngx mode)
192
-
* Supports loading specific `nvngx_dlss.dll` file (when running in non-nvngx mode)
193
-
* Supports overriding scaling ratios
194
-
* Supports overriding DRS range
195
-
* Autofixes for [colored lights](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#resource-barriers-dx12-only) on Unreal Engine & AMD graphics cards
196
-
* Autofixes for [missing exposure texture](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#init-flags) information
197
-
* Ability to modify [Mipmap Lod Bias](https://github.com/cdozdil/OptiScaler/blob/master/Config.md#mipmap-lod-bias-override-dx12-only) game value
198
-
* Supports [Fakenvapi](https://github.com/FakeMichau/fakenvapi) integration which enables Reflex hooking and injecting Anti-Lag 2 or LatencyFlex (LFX)
199
-
* Supports Nukem's FSR FG mod [dlssg-to-fsr3](https://github.com/Nukem9/dlssg-to-fsr3) (since version 0.7.7)
200
-
201
-
**To overcome DLSS 3.7's signature check requirements, OptiScaler uses a method developed by **Artur** (creator of [DLSS Enabler](https://www.nexusmods.com/site/mods/757?tab=description)).**
202
-
203
218
## Configuration
204
219
Please check [this](Config.md) document for configuration parameters and explanations. If your GPU is not an Nvidia one, check [GPU spoofing options](Spoofing.md) *(Will be updated)*
0 commit comments