d4r: official NVIDIA DLSS on AMD GPUs under Linux and Proton
This commit is contained in:
commit
118173ecd7
128 files changed
+31333
No files matched your search
@@ -0,0 +1,119 @@
|
||||
d4r @VERSION@: NVIDIA DLSS on AMD Radeon RDNA3 under Linux and Proton
|
||||
=====================================================================
|
||||
|
||||
d4r runs NVIDIA's own DLSS Super Resolution (DLSS 4 by default) on AMD Radeon RX 7000 GPUs in
|
||||
DirectX 12 games under Proton. OptiScaler (included) catches the game's DLSS calls and hands them to
|
||||
d4r. d4r then runs NVIDIA's DLSS on the Radeon through ZLUDA, with the heaviest parts replaced by
|
||||
kernels written for RDNA3.
|
||||
|
||||
This is an early release. It has been tested on one GPU (Radeon RX 7700 XT) and one game
|
||||
(SILENT HILL Townfall). Expect problems in other games.
|
||||
|
||||
|
||||
What you need
|
||||
-------------
|
||||
- An AMD Radeon RX 7000 series GPU (RDNA3). The fast kernels are built for gfx1101
|
||||
(RX 7700 XT, RX 7800 XT). Other RDNA3 cards run DLSS without them, which is much slower.
|
||||
- Linux with ROCm's HIP runtime, version 7 (the file libamdhip64.so.7). ROCm 7.2 was tested.
|
||||
Arch Linux: the hip-runtime-amd package. Ubuntu, Fedora and others: the ROCm HIP runtime package
|
||||
of your distribution or of AMD's ROCm repository.
|
||||
- GE-Proton 11 (tested: GE-Proton11-3), selected for the game in Steam.
|
||||
@clean - Two NVIDIA files, which this zip does not include:
|
||||
@clean - nvngx_dlss.dll, the DLSS library, version 310.7 or 310.9 (tested: 310.7.0 and 310.9.1).
|
||||
@clean Many games ship one, but often an older version. The d4r kernels check the DLSS code they
|
||||
@clean replace, so other versions still run, just slower.
|
||||
@clean - _nvngx.dll, NVIDIA's NGX runtime from an NVIDIA Windows display driver (tested: the one from
|
||||
@clean driver 596.36, file version 32.0.15.9636). Extract the driver installer, for example with
|
||||
@clean 7-Zip, and look for _nvngx.dll.
|
||||
@full - Nothing from NVIDIA: this zip already contains NVIDIA's DLSS library (nvngx_dlss.dll 310.7.0),
|
||||
@full NVIDIA's NGX runtime (_nvngx.dll 32.0.15.9636) and output kernels built from NVIDIA's DLSS code.
|
||||
|
||||
|
||||
Install
|
||||
-------
|
||||
1. Extract everything in this zip into the folder that holds the game's main .exe. For Unreal
|
||||
Engine games that is <game>/<Project>/Binaries/Win64/, next to <Project>-Win64-Shipping.exe.
|
||||
You get dxgi.dll, OptiScaler.ini, d3d12.dll, d3d12core.dll, this file and an d4r folder.
|
||||
If the folder already has a dxgi.dll or OptiScaler.ini (another OptiScaler install), move those
|
||||
out of the way first. Also remove PROTON_USE_OPTISCALER from the game's launch options if you
|
||||
used GE-Proton's built-in OptiScaler: d4r brings its own.
|
||||
@clean 2. Copy nvngx_dlss.dll into the d4r folder, and _nvngx.dll into d4r/ngx.
|
||||
@clean 3. In Steam, open the game's Properties:
|
||||
@full 2. In Steam, open the game's Properties:
|
||||
- Compatibility: force GE-Proton11-3.
|
||||
- Launch options:
|
||||
PROTON_FORCE_NVAPI=1 DXVK_NVAPI_GPU_ARCH=AD100 %command%
|
||||
@clean 4. Optional: check the install from a terminal in that folder:
|
||||
@full 3. Optional: check the install from a terminal in that folder:
|
||||
sh d4r/d4r-check.sh
|
||||
@clean 5. Start the game and choose DLSS in its graphics settings.
|
||||
@full 4. Start the game and choose DLSS in its graphics settings.
|
||||
|
||||
The first time DLSS starts, the game can freeze for a minute or more while DLSS's GPU kernels are
|
||||
compiled. They are cached in ~/.cache/d4r, so later starts are quick.
|
||||
|
||||
|
||||
Settings
|
||||
--------
|
||||
- d4r/d4r.ini: d4r's settings for this game. The main one is the DLSS model:
|
||||
K (DLSS 4, default), E (DLSS 3 CNN, a little faster) or M (DLSS 4.5, slowest).
|
||||
- OptiScaler.ini: OptiScaler's settings, such as its fps overlay and the render resolution of each
|
||||
quality mode. Press Insert in game for OptiScaler's menu.
|
||||
|
||||
Each game has its own copy of both files.
|
||||
|
||||
|
||||
Performance
|
||||
-----------
|
||||
Radeon RX 7700 XT, SILENT HILL Townfall at 2560x1440, a 62-second walk through the town, average fps:
|
||||
|
||||
Mode DLSS 3 CNN (E) DLSS 4 (K) DLSS 4.5 (M) FSR 4
|
||||
Quality 72 69 51 76
|
||||
Balanced 80 76 59 84
|
||||
Performance 88 82 69 94
|
||||
Ultra Performance 89 93 90 107
|
||||
Native 2560x1440 (TSR, no upscaling): 49
|
||||
|
||||
DLSS 4 in every mode, and E and M at Quality, were measured with this release. The other E and M
|
||||
figures come from the development setup, which runs the same kernels. Every DLSS frame is shown in
|
||||
the frame it belongs to, so there is no added latency.
|
||||
@clean This zip lacks the kernels built from NVIDIA's code, so its DLSS 4 is about 3 fps slower.
|
||||
|
||||
|
||||
Why the launch options
|
||||
----------------------
|
||||
- PROTON_FORCE_NVAPI=1 lets Proton's NVAPI run on an AMD GPU and present the GPU as NVIDIA's.
|
||||
OptiScaler only enables DLSS on NVIDIA hardware.
|
||||
- DXVK_NVAPI_GPU_ARCH=AD100 reports an RTX 40 series (Ada) GPU. DLSS then loads the network
|
||||
weights that match the kernels d4r runs.
|
||||
|
||||
|
||||
If something goes wrong
|
||||
-----------------------
|
||||
- d4r's log is d4r/d4r_nvngx.log. It is rewritten at every launch. Lines starting with "d4r:" and
|
||||
"nvcuda bridge:" name missing files or libraries.
|
||||
- DLSS missing in the game's menu, or no d4r_nvngx.log: check the launch options and that the
|
||||
files are next to the game's main .exe. For OptiScaler's own log, set LogToFile=true in
|
||||
OptiScaler.ini's [Log] section.
|
||||
- A wrong image: try Model = E in d4r/d4r.ini, and report the problem with both logs.
|
||||
- Do not use d4r in games with anti-cheat. OptiScaler's DLL injection can get an account banned.
|
||||
- Not supported: DLSS Frame Generation, DLSS Ray Reconstruction, DirectX 11 and Vulkan games.
|
||||
|
||||
|
||||
Uninstall
|
||||
---------
|
||||
Delete dxgi.dll, OptiScaler.ini, OptiScaler.log (if present), d3d12.dll, d3d12core.dll,
|
||||
D4R_README.txt and the d4r folder from the game folder, and clear the launch options. The kernel
|
||||
cache in ~/.cache/d4r can be deleted too.
|
||||
|
||||
|
||||
Licenses
|
||||
--------
|
||||
d4r is Apache License 2.0. The release also contains ZLUDA (Apache 2.0 or MIT), vkd3d-proton
|
||||
(LGPL 2.1, patched) and OptiScaler 0.9.4 (GPL 3.0, unmodified). d4r/source/SOURCES.txt says where
|
||||
each file comes from, and d4r/licenses has the license texts. d4r is not affiliated with NVIDIA,
|
||||
AMD or the OptiScaler project.
|
||||
@clean NVIDIA's files are yours to supply, under NVIDIA's terms.
|
||||
@full NVIDIA's files in this zip (d4r/nvngx_dlss.dll, d4r/ngx/_nvngx.dll) and the kernels built from
|
||||
@full NVIDIA's code (listed in d4r/source/SOURCES.txt) are NVIDIA's property, are not covered by
|
||||
@full d4r's license, and are included by whoever distributes this zip, not by NVIDIA.
|
||||
@@ -0,0 +1,63 @@
|
||||
# d4r 0.1.0
|
||||
|
||||
NVIDIA's own DLSS Super Resolution on AMD Radeon RX 7000 (RDNA3) GPUs, in DirectX 12 games under Proton. This is the first release packaged as a drop-in zip, to install extract it next to the game's executable and set one line of launch options.
|
||||
|
||||
It is an early release, tested on one GPU (RX 7700 XT) and one game (SILENT HILL Townfall).
|
||||
|
||||
## Install
|
||||
|
||||
1. Extract `d4r-0.1.0.zip` into the folder that holds the game's main `.exe`. For Unreal Engine games that is `<Project>/Binaries/Win64`.
|
||||
2. In Steam, force GE-Proton 11 for the game, and set these launch options:
|
||||
```
|
||||
PROTON_FORCE_NVAPI=1 DXVK_NVAPI_GPU_ARCH=AD100 %command%
|
||||
```
|
||||
3. Select DLSS in the game. The first start compiles DLSS's GPU kernels, which takes about a minute and a half; later starts use the cache in `~/.cache/d4r`.
|
||||
|
||||
`D4R_README.txt` in the zip has the details, and `sh d4r/d4r-check.sh` checks an install.
|
||||
|
||||
## Requirements
|
||||
|
||||
- AMD Radeon RX 7000 series. The fast kernels are built for gfx1101 (RX 7700 XT, RX 7800 XT). Other RDNA3 cards run DLSS without them, which is much slower.
|
||||
- The ROCm HIP runtime 7.x (`libamdhip64.so.7`), from your distribution. ROCm 7.2 was tested.
|
||||
- GE-Proton 11 (tested: GE-Proton11-3).
|
||||
|
||||
## What is in the zip
|
||||
|
||||
- **d4r:** the NGX shim, the Wine CUDA bridge, and hand-written RDNA3 kernels for the DLSS 4 (K) and DLSS 4.5 (M) network layers.
|
||||
- Each kernel is used only when the DLSS library's code for it matches the code it was written for. Swapping in another DLSS version therefore still works, only slower.
|
||||
- `d4r/d4r.ini` holds the settings for that game. The default model is DLSS 4 (K); E (DLSS 3 CNN) and M (DLSS 4.5) are one line away.
|
||||
- **NVIDIA:** DLSS 310.7.0 (`nvngx_dlss.dll`), the NGX runtime from driver 596.36 (`_nvngx.dll`), and five DLSS kernels built from NVIDIA's code with parts replaced by d4r's.
|
||||
- **ZLUDA** with d4r's patches: CUDA on ROCm.
|
||||
- **vkd3d-proton** with d4r's patch, so every frame shows its own DLSS result (no added latency).
|
||||
- **OptiScaler 0.9.4**, unmodified, set up to hand the game's DLSS calls to d4r.
|
||||
|
||||
Nothing in the Proton prefix or the system is changed. Uninstalling means deleting the extracted files.
|
||||
|
||||
## Performance
|
||||
|
||||
Radeon RX 7700 XT, SILENT HILL Townfall at 2560×1440, average fps over the same 62-second walk:
|
||||
|
||||
| Mode | DLSS 3 CNN (E) | DLSS 4 (K) | DLSS 4.5 (M) | FSR 4 |
|
||||
|---|---|---|---|---|
|
||||
| Quality | 72 | 69 | 51 | 76 |
|
||||
| Balanced | 80 | 76 | 59 | 84 |
|
||||
| Performance | 88 | 82 | 69 | 94 |
|
||||
| Ultra Performance | 89 | 93 | 90 | 107 |
|
||||
|
||||
Native 2560×1440 without upscaling (the game's TSR at 100%) runs at 49 fps, so DLSS 4 at Quality is 40% faster than native.
|
||||
|
||||
DLSS 4 in every mode, and E and M at Quality, were measured with this release. The other E and M figures come from the development setup, which runs the same kernels.
|
||||
|
||||
## Known limitations
|
||||
|
||||
- Only DLSS Super Resolution in DirectX 12 games. No Frame Generation or Ray Reconstruction.
|
||||
- Tested with one game. Do not use it in games with anti-cheat.
|
||||
- DLSS 4.5 (M) is much slower than FSR 4 on RDNA3.
|
||||
|
||||
## Licenses
|
||||
|
||||
d4r is Apache 2.0. The zip also contains ZLUDA (Apache 2.0 or MIT), vkd3d-proton (LGPL 2.1, patched; the patch is in `d4r/source`) and OptiScaler 0.9.4 (GPL 3.0, unmodified; source at https://github.com/optiscaler/OptiScaler/tree/v0.9.4). `d4r/source/SOURCES.txt` lists where every file comes from.
|
||||
|
||||
NVIDIA's files in the zip, and the kernels built from NVIDIA's code, belong to NVIDIA and are not covered by any of these licenses. d4r is not affiliated with NVIDIA, AMD or the OptiScaler project.
|
||||
|
||||
**SHA-256** `d4r-0.1.0.zip`: `070ccc666a846d07178067825251bed598f57063ffb57174d5c1d5b594d16e63`
|
||||
@@ -0,0 +1,36 @@
|
||||
d4r @VERSION@: where every file in this release comes from
|
||||
============================================================
|
||||
|
||||
Built from source by d4r (Apache License 2.0, d4r/licenses/d4r-LICENSE.txt):
|
||||
d4r/nvngx.dll NGX shim tools/d4r_nvngx_shim.cpp in the d4r repository
|
||||
d4r/nvcuda.dll Wine CUDA bridge tools/wine_nvcuda_bridge.c
|
||||
d4r/kernels/ native RDNA3 kernels for the DLSS 4 and 4.5 network layers, kernels/k and kernels/m
|
||||
(d4r-kernels.txt lists hashes of the DLSS code each kernel replaces; it holds no NVIDIA code)
|
||||
d4r/d4r.ini, d4r/d4r-check.sh, D4R_README.txt
|
||||
|
||||
Third-party software, unmodified or patched by d4r:
|
||||
d4r/zluda/libcuda.so ZLUDA (Apache License 2.0 or MIT), https://github.com/vosen/ZLUDA
|
||||
commit @ZLUDA_COMMIT@ with d4r/source/patches/zluda/0002, 0003 and 0004 applied.
|
||||
It contains LLVM (Apache License 2.0 with LLVM exceptions).
|
||||
Licenses: d4r/licenses/ZLUDA-LICENSE-*.txt, d4r/licenses/LLVM-LICENSE.txt
|
||||
d3d12.dll, d3d12core.dll
|
||||
vkd3d-proton (GNU LGPL 2.1), https://github.com/HansKristian-Work/vkd3d-proton
|
||||
commit @VKD3D_COMMIT@ with d4r/source/patches/vkd3d-proton/0001 applied,
|
||||
built with its build-win64.txt cross file (meson --buildtype release).
|
||||
Licenses: d4r/licenses/vkd3d-proton-*.txt
|
||||
dxgi.dll OptiScaler 0.9.4 (GNU GPL 3.0), unmodified OptiScaler.dll renamed to dxgi.dll.
|
||||
Source: https://github.com/optiscaler/OptiScaler/tree/v0.9.4
|
||||
License: d4r/licenses/OptiScaler-LICENSE-GPL-3.0.txt
|
||||
OptiScaler.ini OptiScaler 0.9.4's OptiScaler.ini with the values d4r needs set
|
||||
(packaging/optiscaler.settings in the d4r repository)
|
||||
|
||||
@clean Not included: NVIDIA's DLSS library (nvngx_dlss.dll) and NGX runtime (_nvngx.dll). You supply them
|
||||
@clean and are responsible for complying with NVIDIA's license terms.
|
||||
@full NVIDIA's software, not covered by any license in d4r/licenses and included by whoever distributes
|
||||
@full this zip, not by NVIDIA:
|
||||
@full d4r/nvngx_dlss.dll NVIDIA DLSS Super Resolution library @DLSS_VERSION@
|
||||
@full d4r/ngx/_nvngx.dll NVIDIA NGX runtime from NVIDIA's Windows display driver, @NGX_VERSION@
|
||||
@full d4r/kernels/*/hiluma_engine_output_*, rrlite_enc0_*, rrlite_dec0_*, rrlite_post_*, rrlite_downsample_*
|
||||
@full DLSS kernels: NVIDIA's PTX from nvngx_dlss.dll with parts replaced by d4r code
|
||||
@full (kernels/tex in the d4r repository), compiled by ZLUDA
|
||||
d4r is not affiliated with NVIDIA, AMD or the OptiScaler project.
|
||||
@@ -0,0 +1 @@
|
||||
0.1.0
|
||||
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
# Checks an d4r install: run it from the game folder (the one holding the game's .exe and d4r/),
|
||||
# or give that folder as the argument. It only reads files and prints what it finds.
|
||||
# usage: sh d4r/d4r-check.sh [GAME_FOLDER] [ROCM_DIR]
|
||||
GAME="${1:-.}"
|
||||
D4R="$GAME/d4r"
|
||||
# ROCm: the argument, else d4r.ini's RocmDir, else D4R_ROCM_DIR, else /opt/rocm
|
||||
ini_rocm=$(sed -n 's/^[[:space:]]*RocmDir[[:space:]]*=[[:space:]]*\([^;#]*\).*/\1/p' "$D4R/d4r.ini" 2>/dev/null | tail -1 | sed 's/[[:space:]]*$//')
|
||||
[ "$ini_rocm" = auto ] && ini_rocm=
|
||||
case "$ini_rocm" in "~/"*) ini_rocm="$HOME/${ini_rocm#\~/}" ;; esac
|
||||
ROCM="${2:-${ini_rocm:-${D4R_ROCM_DIR:-/opt/rocm}}}"
|
||||
problems=0
|
||||
ok() { printf ' ok %s\n' "$1"; }
|
||||
bad() { printf ' MISSING %s\n' "$1"; problems=$((problems + 1)); }
|
||||
note() { printf ' note %s\n' "$1"; }
|
||||
|
||||
printf 'd4r install in %s\n' "$(cd "$GAME" 2>/dev/null && pwd || echo "$GAME")"
|
||||
[ -d "$D4R" ] || { printf 'no d4r folder here; run this from the folder with the game .exe\n'; exit 1; }
|
||||
ls "$GAME"/*.exe >/dev/null 2>&1 && ok "game executable next to d4r/" || note "no .exe next to d4r/ (it must be the game's main executable folder)"
|
||||
for f in dxgi.dll OptiScaler.ini d3d12.dll d3d12core.dll d4r/nvngx.dll d4r/nvcuda.dll d4r/zluda/libcuda.so d4r/d4r.ini; do
|
||||
[ -f "$GAME/$f" ] && ok "$f" || bad "$f (re-extract the d4r zip)"
|
||||
done
|
||||
[ -f "$D4R/nvngx_dlss.dll" ] && ok "d4r/nvngx_dlss.dll (NVIDIA DLSS library)" || bad "d4r/nvngx_dlss.dll: copy NVIDIA's DLSS library here"
|
||||
[ -f "$D4R/ngx/_nvngx.dll" ] && ok "d4r/ngx/_nvngx.dll (NVIDIA NGX runtime)" || bad "d4r/ngx/_nvngx.dll: copy NVIDIA's NGX runtime here"
|
||||
if [ -f "$D4R/nvngx_dlss.dll" ] && command -v strings >/dev/null 2>&1; then
|
||||
v=$(strings -el "$D4R/nvngx_dlss.dll" | grep -A1 '^FileVersion$' | sed -n 2p | tr ',' '.')
|
||||
case "$v" in
|
||||
310.7.*|310.9.*) ok "DLSS version $v (native kernels verified for 310.7 and 310.9)" ;;
|
||||
"") note "cannot read the DLSS version" ;;
|
||||
*) note "DLSS version $v: kernels whose code changed run without native kernels (slower)" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
found=
|
||||
for dir in "$ROCM/lib" /opt/rocm/lib /usr/lib /usr/lib64 /usr/lib/x86_64-linux-gnu; do
|
||||
[ -e "$dir/libamdhip64.so.7" ] && { found="$dir"; break; }
|
||||
done
|
||||
[ -n "$found" ] && ok "ROCm HIP runtime ($found/libamdhip64.so.7)" || bad "ROCm HIP runtime 7.x (libamdhip64.so.7); install your distribution's HIP runtime package"
|
||||
[ -e /dev/kfd ] && ok "/dev/kfd (ROCm compute device)" || bad "/dev/kfd: the amdgpu compute interface is not available"
|
||||
target=""
|
||||
for props in /sys/class/kfd/kfd/topology/nodes/*/properties; do
|
||||
s=$(sed -n 's/^simd_count //p' "$props" 2>/dev/null); t=$(sed -n 's/^gfx_target_version //p' "$props" 2>/dev/null)
|
||||
[ -n "$s" ] && [ "$s" != 0 ] && [ -n "$t" ] && [ "$t" != 0 ] && { target="$t"; break; }
|
||||
done
|
||||
if [ -n "$target" ]; then
|
||||
arch=$(printf 'gfx%d%d%x' $((target / 10000)) $(((target / 100) % 100)) $((target % 100)))
|
||||
if [ -d "$D4R/kernels/$arch" ]; then ok "GPU $arch: native kernels present"
|
||||
else note "GPU $arch: no native kernels for it in this release (DLSS runs, much slower)"; fi
|
||||
fi
|
||||
|
||||
printf '\nSteam launch options for this game:\n PROTON_FORCE_NVAPI=1 DXVK_NVAPI_GPU_ARCH=AD100 %%command%%\n'
|
||||
[ "$problems" -eq 0 ] && printf '\nEverything d4r needs is in place.\n' || printf '\n%d thing(s) to fix above.\n' "$problems"
|
||||
@@ -0,0 +1,53 @@
|
||||
; d4r settings for this game. This file lives in the game's d4r folder and applies to this game only.
|
||||
; "auto" means the built-in default. Any setting can also be overridden with the environment variable
|
||||
; that config/d4r.ini.default in the source repository lists for it, e.g. in the game's launch options.
|
||||
|
||||
[DLSS]
|
||||
; Which DLSS network runs:
|
||||
; K DLSS 4 transformer (default)
|
||||
; E DLSS 3 CNN: a little faster, softer image
|
||||
; M DLSS 4.5 transformer: best image, much slower on RDNA3
|
||||
; game whatever the game (or OptiScaler's preset override) asks for
|
||||
; Frame rates measured on an RX 7700 XT at 2560x1440, Quality mode: see D4R_README.txt.
|
||||
Model = K
|
||||
; NVIDIA's library marks the image "DLSS SDK - DO NOT DISTRIBUTE" in this setup; d4r turns that off.
|
||||
; true shows it.
|
||||
ShowWatermark = false
|
||||
|
||||
[Latency]
|
||||
; 0: every frame shows its own DLSS result, as with a native upscaler (needs the d3d12.dll that came
|
||||
; with d4r next to the game).
|
||||
; 1-3: allow results up to that many frames old. Slightly more fps, more input latency.
|
||||
FrameAge = 0
|
||||
|
||||
[Kernels]
|
||||
; Hand-written RDNA3 kernels for the DLSS 4 and 4.5 networks (d4r\kernels). Each one is used only
|
||||
; when your DLSS library's code for that kernel matches the code it was written for; otherwise that
|
||||
; kernel is compiled from NVIDIA's code instead, which is slower but still correct.
|
||||
NativeKernels = on
|
||||
|
||||
[Interop]
|
||||
; These keep DLSS's inputs and output in video memory and move the waits between the game and DLSS
|
||||
; onto the GPU. Leave them on unless you are chasing a problem.
|
||||
VramInterop = true
|
||||
GpuWait = true
|
||||
LinearInputs = true
|
||||
ElideNgxSync = true
|
||||
; Lets DLSS's last kernel write straight into the game's output buffer (DLSS 4 / K only). It takes
|
||||
; effect only while d4r's own output kernel runs, which it does when the DLSS library matches.
|
||||
DirectOutput = auto
|
||||
|
||||
[Paths]
|
||||
; Linux paths.
|
||||
; ROCm installation (default /opt/rocm)
|
||||
RocmDir = auto
|
||||
; Cache for the compiled DLSS kernels (default ~/.cache/d4r). The first launch fills it.
|
||||
CacheDir = auto
|
||||
|
||||
[Debug]
|
||||
; d4r's log is d4r\d4r_nvngx.log, rewritten at every launch.
|
||||
; Profile = true adds one line of timings per frame.
|
||||
Profile = false
|
||||
|
||||
[Env]
|
||||
; Extra environment variables for d4r, NAME = value.
|
||||
@@ -0,0 +1,16 @@
|
||||
# OptiScaler.ini values the d4r release sets (Section.Key=Value); everything else keeps OptiScaler's
|
||||
# default. scripts/package_release.sh applies them to the OptiScaler.ini of the bundled release.
|
||||
# DLSS as the DX12 upscaler, loaded from the d4r folder (OptiScaler looks for nvngx.dll there)
|
||||
Upscalers.Dx12Upscaler=dlss
|
||||
DLSS.Enabled=true
|
||||
Libraries.OptiDllPath=d4r
|
||||
# The game's DLSS calls reach OptiScaler; d4r's own load of NVIDIA's NGX core is left alone
|
||||
Inputs.EnableDlssInputs=true
|
||||
Hooks.HookOriginalNvngxOnly=true
|
||||
# Proton's NVAPI (with PROTON_FORCE_NVAPI=1) serves the game; no fakenvapi
|
||||
NvApi.OverrideNvapiDll=false
|
||||
# The game sees an NVIDIA GPU through DXGI, so it offers DLSS
|
||||
Spoofing.Dxgi=true
|
||||
FrameGen.Enabled=false
|
||||
FrameGen.FGInput=nofg
|
||||
FrameGen.FGOutput=nofg
|
||||
Reference in new issue
Block a user