Table of Contents 1. About 2. How it works? 3. Supported APIs and Upscalers 4. Installation 5. Known Issues 6. Compilation and Credits 7. Wiki About OptiScaler is a tool…
!Logo
Table of Contents
1. [About](#about)
2. [How it works?](#how-it-works)
3. [Supported APIs and Upscalers](#which-apis-and-upscalers-are-supported)
4. [Installation](#installation)
5. [Known Issues](#known-issues)
6. [Compilation and Credits](#compilation)
7. Wiki
About
OptiScaler is a tool that lets you replace upscalers in games that *already support DLSS2+ / FSR2+ / XeSS* ($^1$), as well as manage *frame generation* in already mentioned games _(either by replacing existing FG options or enabling it in DX12 games through experimental *OptiFG*)_. It also offers extensive customization options for all users, including those with Nvidia GPUs using DLSS.
> [!CAUTION]
> * We've been informed about some FAKE websites presenting themselves as OptiScaler team, so we would like to strongly highlight that we DO NOT HAVE an official website!
> * We DON'T have an official manager app, so please be careful when downloading or using them!
> * Only LEGIT places are this Github, our Discord server and Nitec's NexusMods page.
> * OptiScaler is FREE, any kind of monetary requirements are scams!
> [!TIP]
> _For example, if a game has DLSS only, OptiScaler can be used to replace DLSS with XeSS or FSR 3.1 (also works for FSR2-only games, like The Outer Worlds Spacer's Choice, albeit requires manually providing nvngx_dlss.dll)._
Key aspects of OptiScaler:
- Enables usage of XeSS, FSR2, FSR3, FSR4$
^2$ (_officially, RDNA4 only_) and DLSS in (temporal) upscaler-enabled games - 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.)
- Since v0.7.0+, added *experimental DX12* frame generation support with possible HUDfix solution ([OptiFG](#optifg--hudfix-experimental-hud-ghosting-fix))
- Supports [Fakenvapi](#installation) integration - enables Reflex hooking and injecting _Anti-Lag 2_ (RDNA1+ only), _LatencyFlex_ (LFX) or _XeLL_ (Intel only) - _bundled since 0.9_
- Since v0.7.7, added support for Nukem's FSR3-FG mod [dlssg-to-fsr3](#installation), only supports games with *native DLSS-FG* - _bundled since 0.9_
- Since v0.7.8, added ASI plugin loading support (_disabled_ by default (
LoadAsiPlugins=in INI), loads from customisable folder, defaultplugins) - New project - OptiPatcher - an ASI Plugin for OptiScaler for enabling DLSS and DLSSG inputs without spoofing in *supported games*.
- Since v0.7.8, OptiScaler is now automatically applying certain game patches for a better out-of-the-box experience
- Since v0.9.0, separated FG Inputs and Outputs, added XeFG and FSR4-FG support, as well as bundled Fakenvapi and Nukem's FSR3-FG mod
- For a detailed list of all features, check [Features](Features.md)
> [!IMPORTANT]
> _Always check the Wiki Compatibility list for known game issues and workarounds._
> Also please check the [*OptiScaler known issues*](#known-issues) at the end regarding RTSS compatibility.
> A separate *FSR4 Compatibility list* is available for community-sourced tested games.
> *[3] For not bundled items, please check [Installation](#installation).*
> [!NOTE]
> ### Upscaler notes
>
> Click for [1], [2]
>
> [1] For Unreal Engine games, only UE XeSS -> Opti XeSS/FSR4 work
>
> *Regarding XeSS inputs, since Unreal Engine plugin does not provide depth, replacing in-game XeSS breaks other upscalers (e.g. Redout 2 as a XeSS-only game), but you can still apply RCAS sharpening to XeSS to reduce blurry visuals.*
>
> *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 for FSR inputs.*
>
> [2] *Regarding FSR4, please check FSR4 Compatibility list for known supported games and general info.*
>
>
Official Discord Server: OptiScaler
*This project is based on PotatoOfDoom's excellent CyberFSR2.*
How it works?
- OptiScaler acts as a middleware, it intercepts upscaler calls from the game (_Inputs_) and redirects them to the chosen upscaling backend (_Output_), allowing user to replace one technology with another one. Inputs -> OptiScaler -> Outputs
- _Or put more bluntly, Input is the upscaler used in game settings, and Output the one selected in Opti Overlay._
- _Same goes for FG options which are separated into FG Source and FG Output._
Insert should open the Optiscaler Overlay in-game with all of the options (_ShortcutKey= can be changed in the INI file, or under Keybinds in the overlay_).
> * Pressing Page Up shows the performance stats overlay in the top left, and can be cycled between different modes with Page Down (_keybinds customisable in the overlay_).
> * If Opti overlay is instantly disappearing after trying Insert a few times, maybe try Alt + Insert (reported workaround for alternate keyboard layouts).
Which APIs and Upscalers are Supported?
Currently OptiScaler can be used with DirectX 11, DirectX 12 and Vulkan, but each API has different sets of supported upscalers. [OptiFG](#optifg--hudfix-experimental-hud-ghosting-fix) currently only supports DX12 and is explained in a separate paragraph.For DirectX 12
- XeSS (Default)
- FSR 2.1.2, 2.2.1
- FSR 3.X (and FSR 2.3.X)
- FSR 4.X (via FSR3.X update, _officially RDNA4 only_)
- DLSS
For DirectX 11
- FSR 2.2.1 (Default, native DX11)
- FSR 3.1.2 (unofficial port to native DX11)
- DLSS (native DX11)
- XeSS 2.X (native DX11, _Intel ARC only_)
- XeSS, FSR 2.1.2, 2.2.1, FSR 3.X w/Dx12 (_via D3D11on12_)$
^1$ - FSR 4.X (via FSR 3.X w/Dx12 update, _officially RDNA4 only_)
For Vulkan
- FSR 4.X (via FSR 3.X w/Dx12 update, _officially RDNA4 only_)
- FSR2 2.1.2 (Default), 2.2.1
- FSR3 3.1 (and FSR2 2.3.2)
- DLSS
- XeSS 2.x
OptiFG + HUDfix (experimental HUD ghosting fix)
OptiFG was added with v0.7 and is only supported in DX12. It's an experimental way of adding 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.- Currently supports FSR3-FG (requires HUDfix to avoid HUD ghosting), XeFG and FSR4-FG (ML model deals with the HUD, so may or may not require HUDfix).
Installation
> [!CAUTION] > _Warning: Do not use this mod with online games. It may trigger anti-cheat software and cause bans!_> [!IMPORTANT]
> For installation steps, please check the Wiki
Configuration
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)*Known Issues
> [!NOTE]
> For a list of known issues, please check the Wiki.
>
> Also worth checking the Compatibility List for possible game issues and their fixes.
Compilation
Requirements
- Visual Studio 2022
Instructions
- Clone this repo with all of its submodules.
- Open the OptiScaler.sln with Visual Studio 2022.
- Build the project
Thanks
- @PotatoOfDoom for CyberFSR2
- @Artur for DLSS Enabler and helping me implement NVNGX api correctly
- @LukeFZ & @Nukem for their great mods and sharing their knowledge
- @FakeMichau for continous support, testing and feature creep
- @QM for continous testing efforts and helping me to reach games
- @TheRazerMD for continous testing and support
- @Cryio, @krispy, @krisshietala, @Lordubuntu, @scz, @Veeqo for their hard work on (now outdated) compatibility matrix
- And the whole DLSS2FSR community for all their support
Credit
This project uses FreeType licensed under the FTLSponsors
Free code signing on Windows provided by SignPath.io, certificate by SignPath Foundation
-
OptiScaler
OptiScaler bridges upscaling/frame gen across GPUs. Supports DLSS2+/XeSS/FSR2+ inputs, replaces native upscalers, enables FSR-FG/XeFG on non-FG titles. Supports Nukem mod for DLSSG-to-FSR3 FG.
C++ ★ 8.8k 10h agoExplain → -
fakenvapi
NVAPI library for spoofing an Nvidia GPU. With support for AntiLag 2, XeLL and LatencyFlex
C++ ★ 312 18d agoExplain → -
OptiPatcher
An ASI Plugin for OptiScaler to expose DLSS/DLSSG inputs without spoofing in supported games.
C++ ★ 285 2d agoExplain → -
dlssg-to-fsr3 ⑂
Adds AMD FSR 3 Frame Generation to games by replacing Nvidia DLSS Frame Generation (nvngx_dlssg).
C++ ★ 20 10mo agoExplain → -
FidelityFX-FSR2-DX11 ⑂
FidelityFX Super Resolution 2.2 with DX11 support
C++ ★ 10 11mo agoExplain → -
FidelityFX-FSR2-212 ⑂
FidelityFX Super Resolution 2.1.2 modified to be used with OptiScaler. (fsr212 branch)
★ 7 11mo agoExplain → -
FidelityFX-SDK-DX11 ⑂
This is a modified version of https://github.com/metarutaiga/FidelityFX-SDK-DX11, with support for building with the FidelityFX Shader Compiler, fixing certain rendering issues.
★ 2 11mo agoExplain → -
UE4SS-OptiScripts
Simple script/mod for setting UE commands that make OptiScaler work best
Lua ★ 0 1mo agoExplain →
No repos match these filters.