Skip to content

CRTYPUBG/cscaler

Repository files navigation

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


Discord invite Stable release vnightly release Wiki
Total DL Stable DL vnightly DL Stars

About

cscaler 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 VFG). 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 cscaler 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.
  • cscaler is FREE, any kind of monetary requirements are scams!

Tip

For example, if a game has DLSS only, cscaler 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 cscaler:

  • 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 (VFG)
  • Supports Fakenvapi 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, 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, default plugins)
  • New project - VPatcher - an ASI Plugin for cscaler for enabling DLSS and DLSSG inputs without spoofing in supported games.
  • Since v0.7.8, cscaler 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

Important

Always check the Wiki Compatibility list for known game issues and workarounds.
Also please check the cscaler 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.

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: cscaler

This project is based on PotatoOfDoom's excellent CyberFSR2.

How it works?

  • cscaler 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 -> cscaler -> 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.

Note

  • Pressing Insert should open the cscaler 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).

inputs_and_outputs

Which APIs and Upscalers are Supported?

Currently cscaler can be used with DirectX 11, DirectX 12 and Vulkan, but each API has different sets of supported upscalers.
VFG 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)

Note

Expand for [1]

[1] These implementations use a background DirectX12 device to be able to use DX12-only upscalers. There's a performance penalty up to 10-ish % for this method, but allows many more upscaler options. Also native DX11 implementation of FSR 2.2.1 is a backport from Unity renderer and has its own problems of which some were fixed by cscaler.

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

VFG + HUDfix (experimental HUD ghosting fix)

VFG 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).

For more information on VFG and how to use it, please check the Wiki page - VFG.

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 document for configuration parameters and explanations. If your GPU is not an Nvidia one, check GPU spoofing options (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 cscaler.sln with Visual Studio 2022.
  • Build the project

Credit

This project uses FreeType licensed under the FTL

About

CScaler 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.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages