OptiScaler replaces upscalers only where a game already ships one, and OptiFG frame generation is DX12 only
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.
At a glance
- What is it?
- OptiScaler is a C++ middleware layer that sits between a game's existing temporal upscaler and the one you want to use, with experimental frame generation on top. Its real constraints are structural: it needs a native upscaler to intercept, its experimental OptiFG frame generation is DX12 only, and compatibility is tracked in a wiki rather than in the source tree.
- Who is it for?
- OptiScaler suits players on titles that ship DLSS, FSR, or XeSS and want FSR 4, XeFG, or RCAS and MAS tuning. Before you rely on it, check the Wiki Compatibility list and the separate FSR4 Compatibility list for your exact title, confirm you are on DX12 if you want OptiFG frame generation, and treat every installer or manager app outside GitHub, the project Discord, and Nitec's NexusMods page as unverified.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 14, 2026, and from our analysis. They are not legal advice.
Star history
- optiscaler/OptiScaler12,654 ★ · +1,392
| Repository | 2026-09-22 | 2026-11-14 |
|---|---|---|
| optiscaler/OptiScaler | 11.3k | 12.7k |
1,392 Stars in the last 53 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
The game has to ship a temporal upscaler before anything works
The scope starts where a native temporal upscaler already exists. OptiScaler replaces upscalers in games that already support DLSS2+, FSR2+, or XeSS, and manages frame generation in those same titles, either by swapping existing FG options or by enabling FG in DX12 games through the experimental OptiFG path. That precondition is the hard limit: a title with no DLSS, no FSR, and no XeSS gives the middleware no input to intercept, so there is nothing to redirect. The FSR2-only case is narrower still. The Outer Worlds Spacer's Choice is given as a working example, but it needs nvngx_dlss.dll provided by hand, so even a supported title can require a file you supply yourself before the replacement shows up as a selectable output.
OptiFG frame generation is DX12 only and still called experimental
Frame generation has the narrowest support of any part of the project. OptiFG was added in v0.7.0+, is labelled experimental, works only with DirectX 12, and carries a possible HUDfix solution for the ghosting artifact. OptiScaler as a whole runs on DirectX 11, DirectX 12, and Vulkan, but each API exposes a different set of supported upscalers, and OptiFG is the one feature named as DX12 only. Upscaler replacement therefore reaches further than frame generation does. Since v0.9.0 the FG paths have been split into FG Input and FG Output, with XeFG and FSR4-FG arriving in the same release.
Unreal Engine XeSS input has no depth data, so replacing it breaks the rest
The upscaler notes explain exactly where substitution stops working. For Unreal Engine titles, only UE XeSS to Opti XeSS or FSR4 is listed as working. Because the Unreal Engine plugin does not provide depth, replacing an in-game XeSS upscaler breaks the other upscalers behind it, and Redout 2 is named as a XeSS-only case where the swap leaves you worse off. RCAS sharpening is offered as the fallback for reducing blur without touching the input. FSR inputs behave differently. FSR 3.1 is described as the first version with a fully standardised, forward-looking API and is said to be fully supported, while FSR2 and FSR3 expose custom interfaces, so support depends on each developer implementation and Unreal Engine games can need ini tweaks for FSR inputs.
No official website, no official manager app, everything else is a scam
A caution block near the top of the file spends more words on fraud than on features. The team has been informed that fake websites present themselves as OptiScaler, states plainly that they do not have an official website, and says the same about a manager app, asking readers not to send support requests for software that is not theirs. Three legitimate places are named instead: this GitHub repository, the project Discord server, and Nitec's NexusMods page. The repository metadata is consistent with the first of those, listing no homepage field at all. The practical consequence is that any installer, launcher, or manager tool carrying this name which did not come from those three sources is unverified, and the project treats any monetary requirement as a scam.
Two batch files, one shell script, and an INI in the repository root
Setup lives in the repository root: setup_windows.bat, setup_linux.sh, and Streamlined_fetcher_windows.bat sit beside OptiScaler.ini, with Config.md, Features.md, Issues.md, Spoofing.md, Changelog.md, and CONTRIBUTING.md as the reference set. Configuration lives in the INI file, and the options are also available in the in-game Opti overlay. ShortcutKey= sets the overlay hotkey and can also be changed under Keybinds inside the overlay, where Page Up shows the performance stats overlay in the top left and Page Down cycles its modes. The documentation also separates bundled extras from absent ones and points not-bundled items at the Installation section, so what you already have depends on your version: both Fakenvapi and the dlssg-to-fsr3 mod have been bundled since 0.9. The mod carries its own precondition worth checking before you plan around it, since it only supports games with native DLSS-FG. The project also builds from source for anyone who would rather not run the scripts, shipping an OptiScaler.sln alongside a .clang-format file.
ASI plugin loading ships disabled and gated on one INI key
Since v0.7.8, OptiScaler can load ASI plugins, and the feature arrives switched off. LoadAsiPlugins= in the INI controls it, and the directory is customisable with plugins as the default. Nothing loads until you change that key and place files where the tool looks, so a fresh install keeps the code-loading path closed and turning it on becomes a deliberate act rather than a default. The project leans on this mechanism elsewhere: OptiPatcher is a separate ASI plugin whose stated purpose is enabling DLSS and DLSSG inputs without spoofing in supported games. Latency reduction is narrower still, with Reflex hooking plus Anti-Lag 2 injection restricted to RDNA1 and later, alongside LatencyFlex and XeLL delivered through the bundled Fakenvapi integration. A separate note also says OptiScaler has applied certain game patches on its own since v0.7.8 to improve the out-of-the-box result, which is worth knowing before you compare behaviour against an unpatched install.
v0.9.4 shipped in July while master moved on, and compatibility lives in the wiki
The tagged releases are v0.9.4 on 2026-07-18, v0.9.3 on 2026-06-18, and v0.9.2a on 2026-05-17. The last push to master is 2026-10-31, so the branch has moved on by more than three months past the newest tag, and a separate nightly tag is linked beside the release page for anyone willing to track unreleased builds. The repository is not archived, and the code is GPL-3.0 C++ laid out around OptiScaler.sln, OptiScaler/, and an external/ directory managed through .gitmodules. The tuning surface is wide for everyone, including Nvidia users who stay on DLSS, with named controls for RCAS and MAS, Output Scaling, DLSS Presets, and Ratio and DRS overrides. The project credits PotatoOfDoom's CyberFSR2 as its basis. Knowing which games work is the other half of the job, and none of it sits in the source tree: the documentation points to the Wiki Compatibility list, a separate FSR4 Compatibility list of community-tested games, and a known issues entry about RTSS compatibility.
Editorial conclusion
OptiScaler suits players on titles that ship DLSS, FSR, or XeSS and want FSR 4, XeFG, or RCAS and MAS tuning. Before you rely on it, check the Wiki Compatibility list and the separate FSR4 Compatibility list for your exact title, confirm you are on DX12 if you want OptiFG frame generation, and treat every installer or manager app outside GitHub, the project Discord, and Nitec's NexusMods page as unverified. If your game has no temporal upscaler, or you want OptiFG on DirectX 11 or Vulkan, it will not help.
Frequently asked questions
What does OptiScaler do?
It works as middleware between the upscaler a game already uses and the one you pick, so Inputs, then OptiScaler, then Outputs. The input is whatever the game settings list, and the output is selected in the Opti Overlay.
Does OptiScaler work on all games?
No. It only applies to games that already support DLSS2+, FSR2+, or XeSS, and OptiFG frame generation supports DirectX 12 only. The Wiki Compatibility list and the separate FSR4 Compatibility list carry the per-title detail.
Is OptiScaler free to use?
Yes. The project states that OptiScaler is free and that any kind of monetary requirement is a scam. It also states there is no official website and no official manager app.
how to install optiscaler
The repository root carries setup_windows.bat, setup_linux.sh, and Streamlined_fetcher_windows.bat, with settings held in OptiScaler.ini and documented in Config.md. The README points readers to its Installation section for items marked as not bundled.
how to use optiscaler in game
Press Insert to open the Opti overlay, Page Up for the performance stats overlay in the top left, and Page Down to cycle its modes. If the overlay disappears immediately, try Alt + Insert, a reported workaround for alternate keyboard layouts.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/optiscaler-optiscaler)Star history chart for your README
[](https://hysenlabs.com/projects/optiscaler-optiscaler)Was this useful?