Giter Site home page Giter Site logo

optiscaler's Introduction

OptiScaler

OptiScaler (was CyberXeSS) is drop-in DLSS2 to XeSS/FSR2 replacement for games.

This project is based on PotatoOfDoom's excellent CyberFSR2.

Official Discord Server: DLSS2FSR

Do not use this mod with online games, it might trigger anti-cheat software and cause bans!

How it works?

OptiScaler implements all necessary API methods of DLSS2 & NVAPI to act as a man in the middle. So from games perspective it's using DLSS2 but actually using OptiScaler and calls are interpreted/redirected to XeSS & FSR2.

Features

  • Multiple upscaling backends (XeSS, FSR 2.1.2 and FSR 2.2.1)
  • Supports XeSS v1.3's new modes (Ultra Performance, NativeAA), but uses standard DLSS/FSR internal resolutions (not using XeSS 1.3 Performance (2.3x) mode, not matching any of the DLSS quality presets).
  • An in-game menu for tuning and saving settings (Only on DirectX 11 & DirectX 12 APIs, shortcut key is HOME)
  • Full integration with DLSS Enabler for DLSS-FG support
  • CAS (Contrast Adaptive Sharpening) support for XeSS to mitigate relatively soft image upscaler generates
  • Pseudo-supersampling option for backends running on DirectX 12
  • Autofixing colored lights on Unreal Engine & AMD graphics cards
  • Autofixing wrong motion vector init information
  • Autofixing missing exposure texture information
  • Ability to modify MipmapLodBias value of game

Configuration

Please check this document for configuration parameters and explanations.

Known Issues

Please check this document for known issues and possible solutions for them.

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 upscaler options.

For DirectX 11

  • FSR2 2.2.1 native Direct11 implementation (Default upscaler)
  • XeSS 1.x.x with background DirectX12 processing [*]
  • FSR2 2.1.2 with background DirectX12 processing [*]
  • FSR2 2.2.1 with background DirectX12 processing [*]

[*] This implementations uses a background DirectX12 device to be able to use Dirext12 only upscalers. There is %10-15 performance penalty for this method but allows much more upscaler options. Also native DirectX11 implementation of FSR 2.2.1 is a backport from Unity renderer and has it's own problems which some of them avoided by OptiScaler.

For DirectX 12

  • XeSS 1.x.x (Default upscaler)
  • FSR2 2.1.2
  • FSR2 2.2.1

For Vulkan

  • FSR2 2.1.2 (Default upscaler)
  • FSR2 2.2.1

Installation

  • Download the latest relase from releases.
  • Extract the contents of the archive next to the game executable file in your games folder. [1]
  • Run EnableSignatureOverride.reg and confirm merge. [2][3]
  • DLSS option should be appeared/enabled in games settings. If it's not, you may try using methods explained here.

[1] This package contains latest version of libxess.dll and if game folder contains any older version of same library it would be overwritten. Consider backing up or renaming existing file.

[2] Normally Streamline and games check if nvngx.dll is signed, by merging this .reg file we are overriding this signature check.

[3] Adding signature override on Linux - There are many possible setups, this one will focus on steam games:

  • Make sure you have protontricks installed
  • Run in a terminal protontricks regedit, replace with an id for your game
  • Press "registry" in the top left of the new window -> Import Registry File -> navigate to and select EnableSignatureOverride.reg
  • You should see a message saying that you successfully added the entries to the registry

If your game is not on Steam, it all boils down to opening regedit inside your game's prefix and importing the file.

Uninstallation

  • Run DisableSignatureOverride.reg file
  • Delete EnableSignatureOverride.reg, DisableSignatureOverride.reg, nvngx.dll, nvngx.ini files
  • If there were a libxess.dll file and you have backed it up delete the new file and restore the backed up file. If you have overwrote old file DO NOT delete libxess.dll file. If there were no libxess.dll file it's safe to delete.

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 to implement NVAPI correctly
  • @LukeFZ & @Nukem for their great mods and sharing their knowledge
  • @FakeMichau for support, testing and feature creep
  • @QM for continous testing efforts and helping me to reach games
  • @Cryio, @krispy, @krisshietala, @Lordubuntu, @scz, @Veeqo for their hard work on compatibility matrix
  • @RazzerBrazzer and DLSS2FSR community for all their support

optiscaler's People

Contributors

cdozdil avatar cetinozdil avatar xhybred avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

optiscaler's Issues

UE5 (Jusant)

Can you tell how to install the dlls, because there are 4 nvngx folders! DLSS vs DLSSG ("Streamline") and each has a "development" subfolder :D

And about libxess?

Horizon Zero Dawn: XeSS working but white viewport (FSR22 working)

(i've removed nvngx_dlss because I'm testing CyberXeSS on an NV system but it doesn't make a difference with or without it)
The frame is just white but with the correct HUD. Audio is there, game is running good.
No problem with FSR22 (it's really good compared to the game-bundled FSR1.x).
No dxgi/nvapi.

[FR] linuxinstall.sh not found in the repository (Instructions for solution mentioned)

Hi, first of all thanks for the amazing work!
The problem was/is that there's no linuxinstall.sh in your repository, but I've found it in the CyberFSR2 one and then I tinkered with it a bit to find the solution for my games.

  • Instructions:

Here's what I've changed to make Crysis Remastered (Epic/Heroic version) work with your implementation of FSR2.2:
`heroic(){
home=$(echo ~)
home=/run/media/nima/sda1/Games/Heroic/Crysis remastered/pfx/drive_c/Games/Crysis Remastered
echo "I am going to run this command, are you sure?"
echo "WINEPREFIX=$home /bin/wine64 regedit EnableSignatureOverride.reg"
read -p "Press [Enter] to continue..."
WINEPREFIX=$home /bin/wine64 regedit EnableSignatureOverride.reg

}`

The original linuxinstall.sh file can be downloaded here:

https://github.com/PotatoOfDoom/CyberFSR2/blob/main/linuxinstall.sh

It would be awesome if you could add the raw file into the repository. Thanks a lot!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.