From dff37798c85ff6784ed011cced77f12fcc2bd9b7 Mon Sep 17 00:00:00 2001 From: TheRazerMD <78263903+TheRazerMD@users.noreply.github.com> Date: Fri, 7 Mar 2025 22:38:45 +0100 Subject: [PATCH] Update README.md (#250) --- README.md | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d580921e..fe77bf8f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ While previously only DLSS2+ inputs were supported, newer versions also added su > [!NOTE] > *[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 Opti overlay). -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.* +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.* ## How it works? 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. @@ -58,7 +58,9 @@ Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but - XeSS 2.x (_soon™_) #### OptiFG (powered by FSR3 FG) + HUDfix (experimental HUD ghosting fix) -**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. 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. A more detailed guide will be available in the [Wiki](https://github.com/cdozdil/OptiScaler/wiki), along with a **list** of **HUDfix incompatible** games. +**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. +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. +A more detailed guide will be available in the [Wiki](https://github.com/cdozdil/OptiScaler/wiki), along with a **list** of **HUDfix incompatible** games. ## Installation @@ -71,14 +73,16 @@ Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but > ***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.*** ### [Automated] -**Easiest way** is to extract all of the Optiscaler files by the main game exe and try the `OptiScaler Setup.bat` script which should help you automate the renaming process. +**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 `\Game-or-Project-name\Binaries\Win64\`, **ignore** the `Engine` folder)_ +**2.** Try the `OptiScaler Setup.bat` script for automating the renaming process. +_**3.** If the Bat file wasn't successful, please check the **Manual** steps._ ### [Manual] #### Nvidia **`Step-by-step installation:`** -**1.** Extract all Optiscaler files from the zip by the main game exe (for Unreal Engine games, that's usually the _win_shipping.exe_ in one of the subfolders, generally `\Binaries\Win64\`). -**2.** Rename OptiScaler's `OptiScaler.dll` (for old versions it's `nvngx.dll`) to one of the [supported filenames](#optiscaler-supports-these-filenames) (preferred `dxgi.dll`, but depends on the game)$`^1`$ +**1.** Extract **all** Optiscaler files from the zip **by the main game exe** _(for Unreal Engine games, that's usually the _win_shipping.exe_ in one of the subfolders, generally `\Game-or-Project-name\Binaries\Win64\`, **ignore** the `Engine` folder)_. +**2.** Rename OptiScaler's `OptiScaler.dll` (for old versions, it's `nvngx.dll`) to one of the [supported filenames](#optiscaler-supports-these-filenames) (preferred `dxgi.dll`, but depends on the game)$`^1`$ > [!NOTE] > _For FSR2/3-only games that don't have DLSS (e.g. The Callisto Protocol or The Outer Worlds: Spacer's Choice Edition), you have to provide the `nvngx_dlss.dll` in order to use DLSS in Optiscaler - download link e.g. [TechPowerUp](https://www.techpowerup.com/download/nvidia-dlss-dll/) or [Streamline SDK repo](https://github.com/NVIDIAGameWorks/Streamline/tree/main/bin/x64)_ @@ -86,10 +90,10 @@ Currently **OptiScaler** can be used with DirectX 11, DirectX 12 and Vulkan, but #### AMD/Intel **`Step-by-step installation:`** -**1.** Extract all Optiscaler files from the zip by the main game exe (for Unreal Engine games, that's usually the _win_shipping.exe_ in one of the subfolders, generally `\Binaries\Win64\`) -**2.** Rename OptiScaler's `OptiScaler.dll` (for old versions it's `nvngx.dll`) to one of the [supported filenames](#optiscaler-supports-these-filenames) (preferred `dxgi.dll`, but depends on the game)$`^1`$ -**3a.** **Either** locate the `nvngx_dlss.dll` file (for UE games, generally in one of the subfolders like Plugins), create a copy, rename the copy to `nvngx.dll` and paste it beside Optiscaler -**3b.** **OR** download `nvngx_dlss.dll` from e.g. [TechPowerUp](https://www.techpowerup.com/download/nvidia-dlss-dll/) or [Streamline SDK repo](https://github.com/NVIDIAGameWorks/Streamline/tree/main/bin/x64) if you don't want to search, rename it to `nvngx.dll` and paste it beside Optiscaler +**1.** Extract **all** Optiscaler files from the zip **by the main game exe** _(for Unreal Engine games, that's usually the _win_shipping.exe_ in one of the subfolders, generally `\Game-or-Project-name\Binaries\Win64\`, **ignore** the `Engine` folder)_ +**2.** Rename OptiScaler's `OptiScaler.dll` (for old versions, it's `nvngx.dll`) to one of the [supported filenames](#optiscaler-supports-these-filenames) (preferred `dxgi.dll`, but depends on the game)$`^1`$ +**3a.** **Either** locate the `nvngx_dlss.dll` file (for UE games, generally in one of the subfolders under `Engine/Plugins`), create a copy, rename the copy to `nvngx.dll` and put it beside Optiscaler +**3b.** **OR** download `nvngx_dlss.dll` from e.g. [TechPowerUp](https://www.techpowerup.com/download/nvidia-dlss-dll/) or [Streamline SDK repo](https://github.com/NVIDIAGameWorks/Streamline/tree/main/bin/x64) if you don't want to search, rename it to `nvngx.dll` and put it beside Optiscaler #### [Nukem's dlssg-to-fsr3] @@ -137,8 +141,8 @@ Latency Flex is cross-vendor and cross-platform. Anti-Lag 2 only supports RDNA c ### Legacy installation (deprecated, no FG and limited features, `nvngx.dll`) `Step-by-step installation:` 1. Download the latest relase from [releases](https://github.com/cdozdil/OptiScaler/releases). -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 `\Binaries\Win64\`)$`^1`$ -3. Rename `OptiScaler.dll` to `nvngx.dll` (For older builds file name is already `nvngx.dll`, so skip this step) +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 `\Game-or-Project-name\Binaries\Win64\`)$`^1`$ +3. Rename `OptiScaler.dll` to `nvngx.dll` (For older builds, file name is already `nvngx.dll`, so skip this step) 4. Run `EnableSignatureOverride.reg` from `DlssOverrides` folder and confirm merge.$`^2`$$`^3`$ *[1] This package contains latest version of `libxess.dll` and if the game folder contains any older version of the same library, it will be overwritten. Consider backing up or renaming existing files.* @@ -155,13 +159,13 @@ Latency Flex is cross-vendor and cross-platform. Anti-Lag 2 only supports RDNA c ## Update OptiScaler version when using DLSS Enabler 1. Delete/rename `dlss-enabler-upscaler.dll` in game folder -2. Extract `OptiScaler.dll` (for old versions it's `nvngx.dll`) file from OptiScaler 7zip file to a temp folder -3. Rename `OptiScaler.dll` (for old versions it's `nvngx.dll`) to `dlss-enabler-upscaler.dll` +2. Extract `OptiScaler.dll` (for old versions, it's `nvngx.dll`) file from OptiScaler 7zip file to a temp folder +3. Rename `OptiScaler.dll` (for old versions, it's `nvngx.dll`) to `dlss-enabler-upscaler.dll` 4. Copy `dlss-enabler-upscaler.dll` from temp folder to the game folder ## Uninstallation * Run `DisableSignatureOverride.reg` file -* 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) +* 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) * 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`). ## Features