d4r for Windows: NVIDIA DLSS on AMD Radeon RDNA3 and RDNA4
===========================================================

d4r runs NVIDIA's own DLSS (DLSS 4 by default) on a Radeon GPU in DirectX 12 games. OptiScaler
(included) catches the game's upscaler calls and hands them to d4r.

This is an early release. RX 7700 XT has passed native Windows synthetic checks and limited
game-frame tests. RX 9070 XT also has recorded hardware tests; other targets are compile-tested.
These checks do not establish broad game support or Linux performance parity.
SUPPORTED_GAMES.md in the source repository lists the tested games. Expect problems.

What you need
-------------
- Windows 11, a Radeon RX 7000 or RX 9000 series GPU, a current AMD Adrenalin driver.
- A DirectX 12 game without anti-cheat (OptiScaler injects a DLL; it can get an account banned).
- NVIDIA DLSS files. The ZIP does not include them. Run install.bat to download official, pinned files.
  It downloads DLSS SR 310.9.1, Ray Reconstruction 310.9.1, and extracts _nvngx.dll from the
  official NVIDIA 617.14 driver without installing or changing the driver. SR is stored under d4r\dlss;
  RR is stored separately under d4r\rr so SR startup cannot auto-load an RR feature. It needs internet access
  and about 1 GiB temporary space. The driver archive and DLSS files are SHA256-verified.
  NVIDIA license terms apply. Files stay local and outside public d4r packages.

Install
-------
1. Extract 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.
   If the folder already has a dxgi.dll or OptiScaler.ini (another OptiScaler install), or a
   d3d12.dll from a Linux install, move those out first.
2. Run install.bat and accept the download prompt. Existing d4r DLLs are backed up outside the game
   folder with their original paths and SHA256 hashes. Verified downloads are cached in
   %LOCALAPPDATA%\d4r\cache.
   The Ray Reconstruction DLL alone does not enable RR. Experimental native RR requires a locally
   generated D/E model and explicit d4r.ini selection; game compatibility remains unverified.
3. Optional: check the install. In the game folder, open PowerShell and run
       powershell -ExecutionPolicy Bypass -File d4r\d4r-check.ps1
4. Start the game from Steam, Epic or a shortcut as usual. In its graphics settings choose DLSS
   (or FSR 3.1/XeSS if DLSS is hidden; OptiScaler then feeds DLSS). Keep frame generation off.
   Press Insert in game for OptiScaler's menu.

The first time DLSS starts, the game can freeze for several minutes while DLSS's GPU kernels are
compiled. They are cached in %LOCALAPPDATA%\d4r\cache, so later starts are quick.

Settings
--------
Edit d4r\d4r.ini (it is commented) and restart the game. Each game has its own copy.
- Model: E (preset 5), K (11, DLSS 4), L (12) or M (13, DLSS 4.5). E and L set NGX hints only; the standalone engine and L texture kernels are not integrated. Select quality mode in the game.
- Kernels/NativeFp8: experimental RDNA4 setting. Requires a matching gfx12 native-FP8 M bundle; keep false with the standard FP16 release. Token-lane and hardware-pack builds remain unvalidated on GPU.
- AsyncInterop, ValidateOutput, Log: for testing and bug reports; the defaults are the tested setting.
- RayReconstruction/Backend: off by default. native selects experimental native D3D12/Vulkan RR;
  ModelDir selects your locally generated D/E model (auto: d4r\engine\rr-d). Relative paths resolve
  beside d4r.ini. No model is bundled or automatically generated by install.bat yet.
  fsr currently rejects RR requests because native Windows FSR RR execution is unavailable.
OptiScaler's own settings (overlay, render ratios) are in OptiScaler.ini.

If something goes wrong
-----------------------
- Run d4r\d4r-check.ps1: it prints ok / MISSING / note lines with the fix for each problem.
- d4r\d4r_nvngx.log is rewritten at every launch. A line "d4r: DLSS disabled: ..." says why.
- DLSS missing in the menu and no d4r_nvngx.log: the files are not next to the game's main .exe.
- For a bug report run  d4r\d4r-check.ps1 -Report  and send the ZIP it puts on your Desktop,
  with your GPU, the game, the model and what the image looked like. Logs can contain folder names.
- Not supported: frame generation, standalone inference engine selection in the game, DirectX 11,
  Vulkan game integration, or FSR RR. Native DLSS RR has synthetic feature-13 validation only;
  it does not establish game compatibility or NVIDIA reference quality. E/L hints do not establish full parity.

Uninstall
---------
Delete dxgi.dll, OptiScaler.ini, OptiScaler.log (if present), WINDOWS_README.txt and the d4r folder
from the game folder. The cache in %LOCALAPPDATA%\d4r can be deleted too. Nothing else was changed.

Licenses
--------
d4r is GNU General Public License, version 3 only (GPL-3.0-only). This ZIP also contains ZLUDA (Apache 2.0 or MIT), OptiScaler (GPL 3.0,
patched; the patches are in the source repository), and AMD's HIP runtime. d4r\licenses has the
texts. d4r is not affiliated with NVIDIA, AMD or the OptiScaler project. NVIDIA's files are yours
to supply, under NVIDIA's terms.
